kamyshev.code
1.86K subscribers
40 photos
565 links
Архитектура, код, софт-скиллы и всё остальное. Вопросы, пожелания, комментарии — @igorkamyshev

https://kamyshev.me
Download Telegram
Вам новая статья 💌

Многим непросто начать писать тесты на Эффектор-модули. В этой небольшой заметке разобрал все максимально подробно!

Читайте статью, пишите тесты, задавайте вопросы в комментариях.

Инструкция: тестирование в Эффекторе
Выкатил v0.3.0 для eslint-plugin-effector:

1. Новое правило no-useless-methods
2. Новое правило no-ambiguity-target
3. Возможность настроить положение $ в именах сторов (в начале или в конце) от Ильи Рябчинского
Я очень уважаю две школы программирования — Hexlet и Школу сильных программистов Феди Борщева и Марьяны Онысько.

Hexlet я советую всем, кто только начинает карьеру. Школу сильных программистов — тем, кто уже работает и хочет прокачать какой-то специфичный навык. Я в ней проходил несколько курсов и не обломался:

+ «Профессиональный рост» помог разобраться, что делать дальше и принять несколько важных карьерных решений — я понял, что хочу больше ответственности и кросс-командных взаимодействий, и начал грести в эту сторону;

+ «Стать тимлидом» направил в сторону развития правильных мягких умений — я стал тренировать навыки переговоров (уже успел выторговать одну услугу вне очереди 😂) и вскрывать конфликты как можно раньше;

+ «Асинхронная архитектура» научила понимать что происходит на бекендах внутри Авиасейлс — теперь я могу поддержать разговор с инженерами других команды и безболезненно встраивать свои сервисы в общую инфраструктуру.

Сообщение о прозрачности! Хочется быть честным и объяснить, почему я пишу этот пост. Ко мне в пятницу пришла Марьяна и предложила отрелкамировать новый поток курса «Асинхронная архитектура» за билет или за деньги. Но, прямо сейчас у меня нет времени перепроходить курс, а суммы, которые можно заработать с рекламы в таком маленьком канале совсем несерьезные. Короче, я решил просто рассказать про новый поток, потому что считаю курс хорошим.

Итак! 21 октября стартует новый поток курса «Асинхронная архитектура» — четырёхнедельный интенсивно про проектирование распределённых систем. Формат максимально комфортный: 9 видео-уроков про самое важное (пример), конспекты, консультации (на топовых тарифах), Q&A-сессии, разборы домашек, полезный чат для участников (видел, как в там люди начинали стартапы и находили работу).

Вот промокод на скидку — Kamyshev

Покупать курс тут 👉 https://education.borshev.com/architecture
Дайджест 28 октября

Несколько статей, которые я прочитал и советую прочитать вам 👇

+ Local Optimum Problem in Software Development — коротенькая заметка Антона Шувалова про плохие решения при разработке программ;

+ How to waste your career, one comfortable year at a time  — отличная статья с разбором вопроса «сколько нужно работать в одном месте?»;

+ Как и зачем делать доклады? — чтобы быть богатым, знаменитым и счастливым;

+ Сколько мне стоило попасть в Гугл и получить повышение, не проработав там ни одного дня — театр абсурда в биг-техе, чувак потратил 10 тысяч долларов, чтобы попасть на работу в Гугл.
Перевел статью про Fork API в Эффекторе на английский 👉 https://dev.to/effector/the-best-part-of-effector-4c27

Полайкате ее там, пожалуйста. Хочется доказать алгоритмам, что статью нужно фичерить 🙏
Дайджест 5 октября

Новый вторник — новый список статей и докладов, которые советую посмотреть и прочитать 🌚

+ @babel/how-to — хороший вводный доклад про внутреннее устройство Babel и пример написания плагина для него;

+ Путь к разработке расширяемых интерфейсов — короткий доклад про применение концепции слотов и плагинов к разработке интерфейсов;

+ Public Speaking — серия коротких статей про публичные выступления: борьба с волнением, структура доклада, слайды, тайминги;

+ SwiftUI defaults considered harmful — рассуждение на тему значений по-умолчанию в UI-фреймворках;
Forwarded from FEDOR BORSHEV
Начинайте с данных, а не с кода

Важный урок, который я усвоил на Снобе — если в проекте присутствуют старые данные, особенно с легаси-сервисами, то начинать надо не с попыток запилить как можно больше фич, а с этих самых данных.

Вот представьте ситуацию — вы делаете каталог книг. В базе есть автор, есть книга, отношение многие ко многим — всё как положено. Смотрите в легаси — схема данных вроде соответствует. Создаёте модельки у себя, строите вокруг этого фичи — API для фронтенда, выгрузку в elasticsearch.

Перед запуском проекта финально импортируете данные и замечаете, что у некоторых книг подозрительно много авторов — по базе выходит, что «Анну Каренину» написал не только Лев Толстой, но и Ксения Собчак. Начинаете разбираться и выясняете, что у автора книги в легаси-базе есть бинарный флаг «рецензент», и если человек указан как рецензент, то считается, что он не писал эту книгу, а только рецензировал. Было это 10 лет назад, в те времена рецензии хранились как комментарии к товарам. С тех пор рецензии никто не писал, но старые нужно переносить, а авторов чистить — иначе SEO-шники съедят. И вам обо всём этом не сказал никто, включая тех же SEO-шников, пока вы их сами не спросили.

И вот вы в ночь перед дедлайном делаете новую сущность в системе, добавляете API, переписываете импорт, санитизируете данные. Выясняете, что ваша обёртка над эластиком может отдавать только посты — переписываете и её. И всё это потому что данные принесли вам требование, о котором никто не сказал. А если бы начали с данных — ещё в процессе переноса узнали бы о существовании рецензий, поменяли бы скоуп, и закончили бы вовремя.
Дайджест 12 октября

Что-то я такой замороченный, что кроме дайджестов ничего не пишется 😿

+ Диптих Ильи Климова Карго-культ TypeScript в украинских аутсорсерах и Почему я отошел от TypeScript в своих React-проектах и куда;

+ Why I'm unreachable and maybe you should be too — небольшая заметка про вред «доступности» (но не той доступности);

+ Darwin meets Dilbert: Applying the Law of Two Feet to your next meeting — способ сделать митинги лучше;
Дайджест 19 октября

Я пока все еще в огне, поэтому пока только дайджест 😢

+ На прошлой неделе вышел Parcel 2 и это биг-дил — он простой, быстрый и удобный (а теперь ещё и расширяемый);

+ Реализация метода для Effector Patronum — лайв-кодинг Сергея Совы;

+ К — Команда — лонгрид Вастрика про ИТ-команды, недавно обновлен под реалии 2021 года;

+ Tuple's Pair Programming Guide — подробнейшая инструкция по организации парного программирования.
vscode.dev(!)

Microsoft презентовал vscode.dev — VS Code в браузере. Очень похоже на GitHub Codespaces, но позволяет работать с локальной файловой через File System Access API. Т.е. можно добавить директорию проекта, с которой хотите работать, и редактировать всё прям в браузере.

Больше подробностей, как обычно, в блог-посте.
Вы наверное уже все давно знаете, что Авиасейлс — это лучшая компания для работы в России.

17-19 ноября мы проведем наём-тусу SALO HIRING 👉 https://event.aviasales.ru/

В этот раз ищем и бекендеров, и фронтендеров.

Скорее регистрируйтесь ✈️
ReScript

ReScript — строго статически типизированный язык, который компилируется в JavaScript. Раньше он назывался ReasonML.

Я узнал о нем летом — прочитал документацию, но код писать не захотел. В начале осени посмотрел о нем один доклад, потом второй и решил все-таки попробовать написать на нем что-нибудь небольшое.

Впечатления!

У него очень приятный синтаксис с кучей приятных мелочей: пайп-оператор, все является выражением, последнее выражение возвращается из функции, функции каррированы по умолчанию. А строгая система типов помогает расслабиться — люблю доверять компилятору.

Есть и странные места — две имплементации стандартной библиотеки (String и String2 передают привет), невозможность перегрузить функцию (особенно забавные тайпинги получились у React.useEffect) и другие особенности\.

Но главная причина, почему этот язык никогда не займёт сколько нибудь заметную долю на рынке — отсутствие прямого доступа до библиотек написанных на JavaScript. Причем, даже библиотеки с TS-тайпингами не подходят, у ReScript очень строгая система типов и TS-типы в нее конвертировать нельзя.
Дайджест 26 октября

🪄 очень короткий дайджест, потому что Белград интереснее разработки

+ IT релокация в Сомалиленд из Испании — история не попсовой релокации, люблю такие;

+ Как написать вакансию — большая часть вакансий на IT-рынке — полное дерьмо, это инструкция как сделать нормально;

А ещё, я решил раз в месяц переводить эти дайджесты на английский и публиковать их на dev.to. Полайкайте, пожалуйста 🤗
Пару часов назад рассказал на HolyJS доклад, а значит пора опубликовать тематическую статью 🌚

Как мы строим веб-платформу в Авиасейлс

Это краткий пересказ того, чем я занимался полтора года в Авиасейлс. Мне всегда интересно читать, как устроена разработка в других компаниях, надеюсь, и вам будет интересно читать про нас.

Кстати, если вам понравилось то, чем я занимаюсь, то напоминаю — ищем инженера в нашу команду.
Дайджест 9 ноября

+ Осознанная меркантильность — скандальный доклад Антона Назарова про две работы;

+ Type Query: jQuery Style Type Manipulation — очень странный способ описывать типы в TS-приложении с помощью инлайн JS;

+ Разбираю вакансии Додо Пиццы, Яндекса, I Love Running, Clever — Наталия Бабаева рассказывает как сделать вакансию лучше.
Frontend Crew

Во-первых, это лучшая онлайн конференция для фронтндеров. Во-вторых, она начинается уже совсем скоро — 6 декабря. В-третьих, я принёс вам промокод — kamyshev_kapunkap.

Билеты покупать тут — https://podlodka.io/fecrew

Теперь подробности 🌚

В этом сезоне будет две большие темы — фронтендерский тулинг и JS под капотом. Вот сессии, которые я больше всего жду:

1. АМА-сессия с Лукой Касонато из Deno. Да, из того самого Deno.

2. Доклад Вали Семирульника (того, который читает ишью) про пакетные менеджеры.

3. Доклад Ильи Климова про ops для dev-ов. Как известно, DevOps — это не профессия!

И, конечно, мы проведем разговорный английский клуб, который получил такие хорошие отзывы во втором сезоне.

Ещё один бонус — в этом сезоне я не курирую спикеров, поэтому у меня появилась возможность подготовить свой доклад! Так что, на первой неделе расскажу и покажу как делать плагины для ESLint.

Короче, это будет очень крутая конференция 😎 приходите и зовите друзей.

Прокомод — kamyshev_kapunkap

https://podlodka.io/fecrew