Посмотрел вчера доклад Ильи Климова «Методы борьбы с legacy-кодом на примере GitLab».
Очень отзывается, будто это история про Авиасейлс. Моя первая задачка на онбординге была простой — нужно было добавить в форму обратной связи (оцените страничку) новое поле. Это заняло два дня. Причём кода я почти не написал.
Оказалось, что эта страница создаётся какой-то легаси-системой, в которой есть место, где можно отредактировать HTML. Чтобы применить правки, нужно было запустить фоновые таски, через другой интерфейс. По незнанию я запустил слишком много этих тасок (на все доступные страницы) и до нужной очередь дошла через несколько часов. Ну а чтобы обработать данные из этого поля, пришлось отредактировать JS в совершенно другом месте.
Любой зрелый продукт — это гигантский набор сомнительных решений и компромиссов\. Люди, которые умеют и готовы с этим работать — самые ценные сотрудники.
Очень отзывается, будто это история про Авиасейлс. Моя первая задачка на онбординге была простой — нужно было добавить в форму обратной связи (оцените страничку) новое поле. Это заняло два дня. Причём кода я почти не написал.
Оказалось, что эта страница создаётся какой-то легаси-системой, в которой есть место, где можно отредактировать HTML. Чтобы применить правки, нужно было запустить фоновые таски, через другой интерфейс. По незнанию я запустил слишком много этих тасок (на все доступные страницы) и до нужной очередь дошла через несколько часов. Ну а чтобы обработать данные из этого поля, пришлось отредактировать JS в совершенно другом месте.
Любой зрелый продукт — это гигантский набор сомнительных решений и компромиссов\. Люди, которые умеют и готовы с этим работать — самые ценные сотрудники.
YouTube
Методы борьбы с legacy-кодом на примере GitLab / Илья Климов (GitLab)
Приглашаем на FrontendConf 2024, которая пройдет 30 сентября и 1 октября 2024 в Москве.
Программа, подробности и билеты по ссылке: https://frontendconf.ru/moscow/2024
________
При поддержке AvitoTech мы впервые публикуем все видео с FrontendConf 2019 в…
Программа, подробности и билеты по ссылке: https://frontendconf.ru/moscow/2024
________
При поддержке AvitoTech мы впервые публикуем все видео с FrontendConf 2019 в…
В выходные посмотрел доклад Влада Шилова «Do not choose dependencies blindly. Do open source.».
Мне тяжело изменить образ мышления и начать пилить «велосипеды» вместо готовых решений, но я работаю над этим. Слишком уж часто готовые решения отвратительны.
Например, всю прошлую неделю я писал тулинг для монорепозитория внутренних пакетов Авиасейлс, чтобы заменить Лерну. Очень доволен результатом, получилось быстро, просто, и именно то, что нужно в нашем кейсе.
Мне тяжело изменить образ мышления и начать пилить «велосипеды» вместо готовых решений, но я работаю над этим. Слишком уж часто готовые решения отвратительны.
Например, всю прошлую неделю я писал тулинг для монорепозитория внутренних пакетов Авиасейлс, чтобы заменить Лерну. Очень доволен результатом, получилось быстро, просто, и именно то, что нужно в нашем кейсе.
YouTube
Влад Шилов — Do not choose dependencies blindly. Do open source
Влад Шилов, frontend-инженер в resume.io, член программного комитета HolyJS, разработчик микро-библиотек, охотник на резиновых уточек.
Митап 2021.04.30
Митап 2021.04.30
Все выходные я работал над мини-проектом — Эффектор-плагином для ESLint, и теперь готов показать его миру 🎉
В комплекте пока только четыре правила, но планов много. Устанавливайте в проекты, рассказывайте друзьям, пишите фидбеки 👇
https://github.com/effector/eslint-plugin-effector
В комплекте пока только четыре правила, но планов много. Устанавливайте в проекты, рассказывайте друзьям, пишите фидбеки 👇
https://github.com/effector/eslint-plugin-effector
Как прошёл второй сезон Frontend Crew
Весной этого года я стал членом программного комитета конференций Podlodka Frontend Crew. После первого сезона мне предложили стать директором этого направления и готовить фронтендерские конференции. Эта заметка — байки и эмоции, которые я вынес из второго сезона. Ну и снова, тест очень личный, поэтому давайте он останется только на Патреоне.
https://www.patreon.com/posts/55705312
Весной этого года я стал членом программного комитета конференций Podlodka Frontend Crew. После первого сезона мне предложили стать директором этого направления и готовить фронтендерские конференции. Эта заметка — байки и эмоции, которые я вынес из второго сезона. Ну и снова, тест очень личный, поэтому давайте он останется только на Патреоне.
https://www.patreon.com/posts/55705312
Выпустил новую версию ESLint-плагина для Эффектора. Да, вот так сразу 🌚
Теперь он умеет рекомендовать заменить forward с мапингом событий на sample.
https://github.com/effector/eslint-plugin-effector
Теперь он умеет рекомендовать заменить forward с мапингом событий на sample.
https://github.com/effector/eslint-plugin-effector
kamyshev.code
В комментариях к одному из постов Никита предъявил мне что я не шельмую Microsoft за дыру в безопасности, хотя шельмовал одну там запрещенную в России организацию. И я решил рассказать вам о том, как отношусь к разным компаниям 🤷♂️ не очень техническая тема…
Тем временем, Эпол отложила решение по поиску запрещённой государством информации на устройствах пользователей.
Это поразительно! Правда, я почти уверен, что когда шум уляжется они все таки сделают это.
Это поразительно! Правда, я почти уверен, что когда шум уляжется они все таки сделают это.
Взгляд со стороны
Пора выйти из шкафа — я боюсь новых технологий в продакшене, и это вредит некоторым проектам. Например, UI-кит Авиасейлс собирается через Gulp, потому что я испугался брать Rollup полтора года назад. Тупо? Тупо.
Полгода назад на 360-ревью я получил фидбек про технологический консерватизм. И впервые обратил внимание на эту особенность. С тех пор я научился выбирать технологии по-другому, оценивать не только их «надежность», но и удобство. Думаю, те две строчки в опроснике сделали для моего развития как инженера больше, чем многие умные книги.
Взгляд со стороны — это самый важный инструмент профессионального развития, не пренебрегайте фидбеком от тиммейтов. Иногда заметить проблему изнутри просто невозможно, тогда даже беглый взгляд со стороны может помочь все починить.
Пора выйти из шкафа — я боюсь новых технологий в продакшене, и это вредит некоторым проектам. Например, UI-кит Авиасейлс собирается через Gulp, потому что я испугался брать Rollup полтора года назад. Тупо? Тупо.
Полгода назад на 360-ревью я получил фидбек про технологический консерватизм. И впервые обратил внимание на эту особенность. С тех пор я научился выбирать технологии по-другому, оценивать не только их «надежность», но и удобство. Думаю, те две строчки в опроснике сделали для моего развития как инженера больше, чем многие умные книги.
Взгляд со стороны — это самый важный инструмент профессионального развития, не пренебрегайте фидбеком от тиммейтов. Иногда заметить проблему изнутри просто невозможно, тогда даже беглый взгляд со стороны может помочь все починить.
Добавил на сайт подсветку синтаксиса в примерах кода. Наслаждаюсь no-code решениями 🤗
http://blog.kamyshev.me/
http://blog.kamyshev.me/
Автотесты в Авито
Последнее время занялся изучением практик тестирования из-конца-в-конец. Сегодня утром посмотрел доклад Алексея Шпирко из Авито.
Доклад крутой, особенно интересно было послушать про факапы, которые случилась в процессе настройки е2е тестов.
Последнее время занялся изучением практик тестирования из-конца-в-конец. Сегодня утром посмотрел доклад Алексея Шпирко из Авито.
Доклад крутой, особенно интересно было послушать про факапы, которые случилась в процессе настройки е2е тестов.
YouTube
Автотесты в Авито. Зачем они, как помогают, сколько стоят / Алексей Шпирко
Apps Conf Moscow 2019
Зал «Против глупости»
23 апреля, 16:00
Тезисы и презентация:
Расскажу, как мы строили автотестирование в Авито. Что получилось хорошо, а что хотелось бы исправить. С чем непременно придется столкнуться тем, кто начнет этим заниматься…
Зал «Против глупости»
23 апреля, 16:00
Тезисы и презентация:
Расскажу, как мы строили автотестирование в Авито. Что получилось хорошо, а что хотелось бы исправить. С чем непременно придется столкнуться тем, кто начнет этим заниматься…
Завтра в 13.00 МСК будем с Димой Ли стримить код, в программе снова ReactNative и Effector.
Mostack уже почти готов, осталось доделать одну фичу и отполировать интерфейс 🌚
https://youtu.be/tP-6zCOtJCk
Mostack уже почти готов, осталось доделать одну фичу и отполировать интерфейс 🌚
https://youtu.be/tP-6zCOtJCk
YouTube
Создаю мобильное приложение на React Native и Effector #2
Тестирование в Яндексе
Утром посмотрел урок Школы менеджмента Тестирование в Яндексе. Это короткая обзорная лекция, которая поможет не-специалисту разобраться в базовых терминах мира QA.
Советую 🤗
Утром посмотрел урок Школы менеджмента Тестирование в Яндексе. Это короткая обзорная лекция, которая поможет не-специалисту разобраться в базовых терминах мира QA.
Советую 🤗
YouTube
015. Школа менеджмента — Тестирование в Яндексе. Алексей Наседин
Немного о теории тестирования. Что должны делать тестировщики. Как тестирование встраивается в процесс разработки. Что менеджер проектов может для этого сделать.
React 18
На прошлой неделе я показывал ребятам из Сала интересности про React 18. Если кратко — не надейтесь, что колбэки, переданные в хуки сработают именно то количество раз, которое вы ожидаете.
Примеры и ссылки на разъяснения
На прошлой неделе я показывал ребятам из Сала интересности про React 18. Если кратко — не надейтесь, что колбэки, переданные в хуки сработают именно то количество раз, которое вы ожидаете.
Примеры и ссылки на разъяснения
kamyshev on Notion
React 18 | Notion
StrictMode examples
kamyshev.code
Я дописал статью! Осталось вычитать ее на предмет слишком интимных подробностей и дополнить иллюстрациями. Думаю, на следующей неделе опубликую. Приложение говорит, что получилось на 12 минут чтения 🙀
Статья готова 🎉 выложу в блог через неделю.
А пока можно прочитать на патреоне 👉 https://www.patreon.com/igorkamyshev
Или занести звонкий евро прямо тут и получить ссылку в личку 👇
А пока можно прочитать на патреоне 👉 https://www.patreon.com/igorkamyshev
Или занести звонкий евро прямо тут и получить ссылку в личку 👇
А не получится. Простите, что обманул.
Статья останется в приватном доступе на довольно длительный срок из-за неожиданных обстоятельств.
Донаты в Телеграме тоже закрыл, подписывайтесь на Патреон, если хотите прочитать.
Простите ещё раз 🙏
Статья останется в приватном доступе на довольно длительный срок из-за неожиданных обстоятельств.
Донаты в Телеграме тоже закрыл, подписывайтесь на Патреон, если хотите прочитать.
Простите ещё раз 🙏
Хватит использовать консоль для тестирования компонентов
Утром посмотрел воркшоп Дмитрия Коваленко про компонентные тесты с Cypress. Лучший способ за полчаса разобраться, почему нужно попробовать их писать и какие возможности в этом инструменте точно есть.
Советую 🌚
Утром посмотрел воркшоп Дмитрия Коваленко про компонентные тесты с Cypress. Лучший способ за полчаса разобраться, почему нужно попробовать их писать и какие возможности в этом инструменте точно есть.
Советую 🌚
YouTube
Дмитрий Коваленко — Хватит использовать консоль для тестирования компонентов
Ближайшая конференция — HolyJS 2024 Autumn, 7 ноября (online), 14–15 ноября (Санкт-Петербург + трансляция).
Подробности и билеты: https://jrg.su/K18Cxd
— —
Мы с вами привыкли к тому, что для тестирования фронтенда нужен jsdom. Jest стал неким стандартом тестирования…
Подробности и билеты: https://jrg.su/K18Cxd
— —
Мы с вами привыкли к тому, что для тестирования фронтенда нужен jsdom. Jest стал неким стандартом тестирования…
Пора рассказать почему статья про веб-платформу в Авиасейлс откладывается 🌚
Меня все-таки позвали выступить на HolyJS в ноябре с докладом про то, как мы приняли решение переехать с Redux+RxJS на Effector.
Я расскажу, почему это произошло, с какими проблемами столкнулись и каким командам подойдет этот путь. В конце посмотрим, как изменилась жизнь фронтендеров за время использования Effector и разберем главную киллер-фичу этого стейт-менеджера.
Помогите придумать хорошее название для доклада, пожалуйста 🙏
Меня все-таки позвали выступить на HolyJS в ноябре с докладом про то, как мы приняли решение переехать с Redux+RxJS на Effector.
Я расскажу, почему это произошло, с какими проблемами столкнулись и каким командам подойдет этот путь. В конце посмотрим, как изменилась жизнь фронтендеров за время использования Effector и разберем главную киллер-фичу этого стейт-менеджера.
Помогите придумать хорошее название для доклада, пожалуйста 🙏
Маленький большой проект
Вчера посмотрел доклад Андрея Мелихова про запуск CTF на I Love Front-end. Вдохновляющая история про важность знаний в смежных областях 💙
Вчера посмотрел доклад Андрея Мелихова про запуск CTF на I Love Front-end. Вдохновляющая история про важность знаний в смежных областях 💙
YouTube
Маленький большой проект. С нуля в прод за 2 недели силами трёх фронтендеров. [ru] / Андрей Мелихов
Видео с онлайн-конференции JavaScript fwdays'21, которая прошла с 1-8 июня 2021 года.
Описание доклада:
Считается, что фронтенд это только часть работы. Нам нужен бэкенд, чтобы хранить данные, нам нужен девопс, чтобы всё побежало на проде и не упало под…
Описание доклада:
Считается, что фронтенд это только часть работы. Нам нужен бэкенд, чтобы хранить данные, нам нужен девопс, чтобы всё побежало на проде и не упало под…
Маленькие эволюции
Недавно делал мини-проект, где мне нужны были простые и стабильные миграции схемы базы данных. Оказалось, что современный мир не готов предоставить мне такой инструмент.
Я пробовал миграции от
А потом вспомнил, что мы с камрадом делали библиотеку для простых миграций несколько лет назад. Я откопал ее, подновил, отрефакторил, и решил сделать публичной.
Итак, встречайте — trona.
Миграции — это простые SQL-файлы. Конфигурация — просто файл, экспортирующий функцию
Пишите фидбеки, оставляйте ишуи, используйте в проектах.
Недавно делал мини-проект, где мне нужны были простые и стабильные миграции схемы базы данных. Оказалось, что современный мир не готов предоставить мне такой инструмент.
Я пробовал миграции от
knex
, которые не осилили работать с управляемой базой на Digital Ocean. Я пробовал миграции от type-orm
, которые невозможно подружить с кастомной конфигурацией.А потом вспомнил, что мы с камрадом делали библиотеку для простых миграций несколько лет назад. Я откопал ее, подновил, отрефакторил, и решил сделать публичной.
Итак, встречайте — trona.
Миграции — это простые SQL-файлы. Конфигурация — просто файл, экспортирующий функцию
runQuery
.Пишите фидбеки, оставляйте ишуи, используйте в проектах.
GitHub
GitHub - igorkamyshev/trona: Write DB migrations with SQL and run them with a CLI
Write DB migrations with SQL and run them with a CLI - igorkamyshev/trona