Карта развития разработчика - v3.png
918.7 KB
#курсы Карта развития JS разработчика и DevOps - версия 3
Готова 4-я версия карты развития разработчика, где указаны уже выпущенные курсу и курс в работе (да, это микросервисы). По ней вы можете планировать своё обучение и проходить курсы в правильном порядке. Как и раньше она затрагивает только JS backend, frontend, mobile, а так же DevOps дисциплины.
Я уже пару раз планировал добавить её на сайт, но пока руки не доходят, поэтому пока буду выкладывать в формате изображения.
Готова 4-я версия карты развития разработчика, где указаны уже выпущенные курсу и курс в работе (да, это микросервисы). По ней вы можете планировать своё обучение и проходить курсы в правильном порядке. Как и раньше она затрагивает только JS backend, frontend, mobile, а так же DevOps дисциплины.
Я уже пару раз планировал добавить её на сайт, но пока руки не доходят, поэтому пока буду выкладывать в формате изображения.
#новости Платформа курсов и курс по Микросервисам
Я некоторое время не публиковал статьи и материалы в связи с ситуацией, которая перевернула жизнь многих людей. В это не спокойное время безумно хочется, чтобы это всё скорее завершилось и снова пришёл бы мир, где главной проблемой был бы вопрос, что правильнее ООП или ФП. Я с вами друзья ❤️
Теперь о новостях. Я решил активизироваться в разработке платформы purpleschool, чтобы как можно быстрее дать отдельное независимое место для просмотра курсов, которое не будет зависеть от кривой ценовой политики Udemy или других внешних факторов и сможет создать дом для растущего сообщества. В ней, как и задумывалось, будут новые расширенные PRO курсы, которые помогут лучше закреплять материал.
Но что самое интересное, я переписываю её полностью на микросервисы, чтобы на этом примере разобрать переход от монолита к микросервисам и все сложности и архитектурные паттерны с этим связанные. Так что материал для 6-го курса будет живым. После 1-й версии я преступлю к записи курса, поэтому о сроках пока говорить рано.
P.S. Давайте хотя бы наше небольшое сообщество держать вне политики, итак от новостей плохо 🤮
Я некоторое время не публиковал статьи и материалы в связи с ситуацией, которая перевернула жизнь многих людей. В это не спокойное время безумно хочется, чтобы это всё скорее завершилось и снова пришёл бы мир, где главной проблемой был бы вопрос, что правильнее ООП или ФП. Я с вами друзья ❤️
Теперь о новостях. Я решил активизироваться в разработке платформы purpleschool, чтобы как можно быстрее дать отдельное независимое место для просмотра курсов, которое не будет зависеть от кривой ценовой политики Udemy или других внешних факторов и сможет создать дом для растущего сообщества. В ней, как и задумывалось, будут новые расширенные PRO курсы, которые помогут лучше закреплять материал.
Но что самое интересное, я переписываю её полностью на микросервисы, чтобы на этом примере разобрать переход от монолита к микросервисам и все сложности и архитектурные паттерны с этим связанные. Так что материал для 6-го курса будет живым. После 1-й версии я преступлю к записи курса, поэтому о сроках пока говорить рано.
P.S. Давайте хотя бы наше небольшое сообщество держать вне политики, итак от новостей плохо 🤮
#новости Возможное отключение Udemy
Коллеги, сегодня Coursera прекратила свою работу в России. В свете этих событий я хочу подстраховаться и снизить риски потерь в случае отключения Udemy.
1. Коммуникация - если вы получали рассылки Udemy о новых курсах и обновлениях, то вы можете следить за ними тут, а так же подписаться на email рассылку, которая будет теперь работать вместо Udemy. Подписка доступна на главной странице https://purpleschool.ru. Важно не потерять связь друг с другом.
2. Доступ к курсам - если вдруг у вас будут проблемы с доступом к курсам, которые вы приобрели на Udemy вы сможете получить бесплатно доступ к курсам на https://purpleschool.ru, которая заработает в этом месяце.
3. Покупка курсов - на текущий момент все ссылки на покупку будут перемещены на Stepik, который точно продолжит работать при текущих обстоятельствах. Я знаю, что многие из вас не из России и я постараюсь в кратчайшие сроки сделать возможность оплачивать покупки курсов на PurpleSchool картами любых банков. Ссылки на stepik так же на главной странице.
Так же я перевёл всю архитектуру на микросервисы, и все праздники буду заниматься кабинетом для добавления курсов.
Работы очень много, и я знаю что многие писали, что готовы помочь для ускорения разработки платформы нашего сообщества. Для этого я подготовлю swagger и сделаю платформу открытой для PR и дополнений. Вы сможете предлагать функционал и контрибьютить в платформу. Пока будет доступен только frontend чтобы снизить порог входа. Информация будет позже.
Коллеги, сегодня Coursera прекратила свою работу в России. В свете этих событий я хочу подстраховаться и снизить риски потерь в случае отключения Udemy.
1. Коммуникация - если вы получали рассылки Udemy о новых курсах и обновлениях, то вы можете следить за ними тут, а так же подписаться на email рассылку, которая будет теперь работать вместо Udemy. Подписка доступна на главной странице https://purpleschool.ru. Важно не потерять связь друг с другом.
2. Доступ к курсам - если вдруг у вас будут проблемы с доступом к курсам, которые вы приобрели на Udemy вы сможете получить бесплатно доступ к курсам на https://purpleschool.ru, которая заработает в этом месяце.
3. Покупка курсов - на текущий момент все ссылки на покупку будут перемещены на Stepik, который точно продолжит работать при текущих обстоятельствах. Я знаю, что многие из вас не из России и я постараюсь в кратчайшие сроки сделать возможность оплачивать покупки курсов на PurpleSchool картами любых банков. Ссылки на stepik так же на главной странице.
Так же я перевёл всю архитектуру на микросервисы, и все праздники буду заниматься кабинетом для добавления курсов.
Работы очень много, и я знаю что многие писали, что готовы помочь для ускорения разработки платформы нашего сообщества. Для этого я подготовлю swagger и сделаю платформу открытой для PR и дополнений. Вы сможете предлагать функционал и контрибьютить в платформу. Пока будет доступен только frontend чтобы снизить порог входа. Информация будет позже.
purpleschool.ru
PurpleSchool - Обучающая платформа для старта карьеры в IТ и роста | Антон Ларичев
Курсы по NodeJS, NestJS, JavaScript, TypeScript, Ansible, Docker, а также полезные материалы для программистов и разработчиков. Платные и бесплатные курсы программирования онлайн для frontend и backend разработчиков
#курсы ⚠️ Бесплатный перенос курсов на платформу PurpleSchool c Udemy
Итак, подготовлена платформа для курсов, которая чуть позже будет интегрирована в сайт. На текущий момент туда перенесены все курсы и настроено их приобретение. Но что самое важное, платформа подготовлена для переноса курсов с Udemy в связи с ситуацией, которая произошла с Coursera.
‼️ Инструкция по переносу: https://purpleschool.ru/blog/course-migrations
Благодаря новой платформе вы сможете:
- Приобретать курсы и иметь к ним доступ из любой точки мира.
- В дальнейшем использовать PRO курсы с код ревью, live семинарами и проверкой домашних заданий.
- Получать брендированные сертификаты PurpleSchool.
Частые вопросы:
- С каких платформ можно перенести курсы? - Udemy
- Зачем мне переносить курсы? - В связи с нестабильной ситуацией и возможными проблемами доступа к Udemy, я хочу, чтобы все мои студенты имели доступ к курсам.
- У меня есть несколько курсов, но я хотел бы купить и другие? -
После регистрации вы сможете приобрести курсы, которых у вас нет на новой платформе.
- Из каких стран возможна оплата курсов? - Платежи буду приниматься практически из любой страны, так как сервис поддерживает оплату из 190 стран.
Итак, подготовлена платформа для курсов, которая чуть позже будет интегрирована в сайт. На текущий момент туда перенесены все курсы и настроено их приобретение. Но что самое важное, платформа подготовлена для переноса курсов с Udemy в связи с ситуацией, которая произошла с Coursera.
‼️ Инструкция по переносу: https://purpleschool.ru/blog/course-migrations
Благодаря новой платформе вы сможете:
- Приобретать курсы и иметь к ним доступ из любой точки мира.
- В дальнейшем использовать PRO курсы с код ревью, live семинарами и проверкой домашних заданий.
- Получать брендированные сертификаты PurpleSchool.
Частые вопросы:
- С каких платформ можно перенести курсы? - Udemy
- Зачем мне переносить курсы? - В связи с нестабильной ситуацией и возможными проблемами доступа к Udemy, я хочу, чтобы все мои студенты имели доступ к курсам.
- У меня есть несколько курсов, но я хотел бы купить и другие? -
После регистрации вы сможете приобрести курсы, которых у вас нет на новой платформе.
- Из каких стран возможна оплата курсов? - Платежи буду приниматься практически из любой страны, так как сервис поддерживает оплату из 190 стран.
purpleschool.ru
Перенос курсов на платформу lms | PurpleSchool
Перенос курсов с других платформ на PurpleSchool: бесплатно перенесите курсы с Stepik, Udemy и других платформ, получайте обновления и расширенные возможности. Заполните форму для переноса курса.
#новости Update - работа Udemy, Stepik и перенос курсов
- За первый день удалось перенести все курсы по заявкам - это около 100 человек. Не текущий момент невозможна оплата курсов на платформе MasterCard и Visa не из России. Поэтому для покупки на платформе можно использовать Unionpay или Мир. Я сейчас работаю с CloudPayments для открытия возможности отплаты по всем картам. Для Российских пользователей всё работает в штатном режиме.
- По Udemy пришли тревожные новости по прекращении работы (all activity) в России. В письме ничего явно не сказано про другие аспекты работы, но тенденция не очень. Если закрывают партнёрки, то и остальная деятельность может быть тоже под вопросом.
- Stepik сделал рассылку преподавателям о невозможности принятия MasterCard и Visa из-за рубежа, что ожидаемо. Аналогично можно использовать Unionpay или Мир.
- Для упрощения процедуры переноса достаточно просто зарегистрироваться на платформеhttp://learn.purpleschool.ru и прислать email со скриншотом купленных курсов и аккаунтом.
- За первый день удалось перенести все курсы по заявкам - это около 100 человек. Не текущий момент невозможна оплата курсов на платформе MasterCard и Visa не из России. Поэтому для покупки на платформе можно использовать Unionpay или Мир. Я сейчас работаю с CloudPayments для открытия возможности отплаты по всем картам. Для Российских пользователей всё работает в штатном режиме.
- По Udemy пришли тревожные новости по прекращении работы (all activity) в России. В письме ничего явно не сказано про другие аспекты работы, но тенденция не очень. Если закрывают партнёрки, то и остальная деятельность может быть тоже под вопросом.
- Stepik сделал рассылку преподавателям о невозможности принятия MasterCard и Visa из-за рубежа, что ожидаемо. Аналогично можно использовать Unionpay или Мир.
- Для упрощения процедуры переноса достаточно просто зарегистрироваться на платформеhttp://learn.purpleschool.ru и прислать email со скриншотом купленных курсов и аккаунтом.
#новости Udemy прекращает работу в России
Итак, Udemy сделал анонс в котором меняет политику в отношении студентов из России. Теперь из России будет невозможно приобрести новые курсы. При этом преподаватели из России смогут продолжить свою деятельность (пока).
Что это означает: Все мои курсы продолжат появляться на PurpleSchool, Stepik и Udemy (пока возможно). Знание не должно зависит от страны и национальности ❤️
Для России
Вы можете приобретать курсы любым удобным способом на PurpleSchool и Stepik. Все приобретённые на курсы на Udemy вы можете перенести на PurpleSchool бесплатно, сделав скриншот аккаунта и направив его на purpleschoolofficial@gmail.com. Предварительно нужно зарегистрироваться на https://learn.purpleschool.ru. Уже перенесли 200 человек.
Для студентов из других стран
Вы можете приобретать курсы на Stepik и PurpleSchool с помощью UnionPay и на Udemy любым удобным способом.
Анонс тут: https://community.udemy.com/t5/Community-News/Udemy-s-response-to-the-conflict-in-Ukraine/ba-p/97958
Итак, Udemy сделал анонс в котором меняет политику в отношении студентов из России. Теперь из России будет невозможно приобрести новые курсы. При этом преподаватели из России смогут продолжить свою деятельность (пока).
Что это означает: Все мои курсы продолжат появляться на PurpleSchool, Stepik и Udemy (пока возможно). Знание не должно зависит от страны и национальности ❤️
Для России
Вы можете приобретать курсы любым удобным способом на PurpleSchool и Stepik. Все приобретённые на курсы на Udemy вы можете перенести на PurpleSchool бесплатно, сделав скриншот аккаунта и направив его на purpleschoolofficial@gmail.com. Предварительно нужно зарегистрироваться на https://learn.purpleschool.ru. Уже перенесли 200 человек.
Для студентов из других стран
Вы можете приобретать курсы на Stepik и PurpleSchool с помощью UnionPay и на Udemy любым удобным способом.
Анонс тут: https://community.udemy.com/t5/Community-News/Udemy-s-response-to-the-conflict-in-Ukraine/ba-p/97958
#советы Максимум состояния потока
Последние две недели, всё своё свободное время я посвящаю новому проекту (не курсы), отдыхая от записи курсов, к которой я скоро вернусь для записи 6-го курса (материалы и проект уже подготовлены). И за время реализации его я ещё более отчетливо понял, что один из самых важных аспектов быстрой работы - это состояние потока. Потому хочу этим поделиться с вами. Хотя возможно для многих этот совет покажется банальным.
Когда за короткий срок нужно сделать большой проект единственной возможностью является максимальный фокус. При этом кроме фокуса важно не перепрыгивать между проектами. Начнём с потока.
Казалось бы, что плохого - отвлёкся на очередной email или чат, быстро ответил и готово.
Кроме этих 5 минут, ты на самом деле теряешь ещё от 1 до 20 на повторное вхождение в контекст. Причём это зависит от задачи:
Простая верстка - хватает и 10 секунд для переключения обратно.
Написание сложной бизнес логики на backend - до 20 минут.
Когда мы пишем код у нас в голове формируются невидимые связи компонент, состояния системы, путей данных и все это рушиться за секунду.
А что у нас кроме этого в голове? Структура проекта, его зависимости и паттерны. И это тоже рассыпается уже когда мы меняем проект. Именно потому так сложно бывает, например, переключиться с фронта на бэк.
Я для себя сформулировал следующие правила:
- Выделять в день время именно на написание кода, если это необходимо. Чтобы ни кто не поставил в это время встречи.
- Отключить все отвлекающие факторы - почтовики, чаты и другие всплывающие уведомления.
- Закрыть все другие приложения, оставив только рабочее окружение и музыку. Любое лишнее приложение сбивает фокус.
- Самое главное - когда начинаешь по 10 минут тупить в поисках банальной ошибки, заканчивай писать код и отдыхай 😉
Последние две недели, всё своё свободное время я посвящаю новому проекту (не курсы), отдыхая от записи курсов, к которой я скоро вернусь для записи 6-го курса (материалы и проект уже подготовлены). И за время реализации его я ещё более отчетливо понял, что один из самых важных аспектов быстрой работы - это состояние потока. Потому хочу этим поделиться с вами. Хотя возможно для многих этот совет покажется банальным.
Когда за короткий срок нужно сделать большой проект единственной возможностью является максимальный фокус. При этом кроме фокуса важно не перепрыгивать между проектами. Начнём с потока.
Казалось бы, что плохого - отвлёкся на очередной email или чат, быстро ответил и готово.
Кроме этих 5 минут, ты на самом деле теряешь ещё от 1 до 20 на повторное вхождение в контекст. Причём это зависит от задачи:
Простая верстка - хватает и 10 секунд для переключения обратно.
Написание сложной бизнес логики на backend - до 20 минут.
Когда мы пишем код у нас в голове формируются невидимые связи компонент, состояния системы, путей данных и все это рушиться за секунду.
А что у нас кроме этого в голове? Структура проекта, его зависимости и паттерны. И это тоже рассыпается уже когда мы меняем проект. Именно потому так сложно бывает, например, переключиться с фронта на бэк.
Я для себя сформулировал следующие правила:
- Выделять в день время именно на написание кода, если это необходимо. Чтобы ни кто не поставил в это время встречи.
- Отключить все отвлекающие факторы - почтовики, чаты и другие всплывающие уведомления.
- Закрыть все другие приложения, оставив только рабочее окружение и музыку. Любое лишнее приложение сбивает фокус.
- Самое главное - когда начинаешь по 10 минут тупить в поисках банальной ошибки, заканчивай писать код и отдыхай 😉
#вопрос Как измерить скорость работы разработчика?
Один мой знакомый CEO решил, что его разработчики работают не очень быстро и надо бы измерить их скорость. Для этого было предложено поставить следящий за экраном софт и смотреть сколько они провели в IDE за написанием кода. Если меньше 6 часов - значит он явно бездельничал.
Мы с вами понимаем, что это так не работает. Когда ты пишешь код, ты можешь час просидеть с листком бумаги, прикидывая архитектуру или ходя кругами по комнате обдумывая решение. Я уже не говорю про ночные озарения, когда тебе посреди ночи приходит простое решение задачи, на которой ты застрял ещё днём. Написание кода - процесс творческий. Так же и дизайнеры не сидят в фигме 100% времени, а ищут вдохновение и смотрят лучшие практики. Да, есть иногда монотонное написание кода, когда архитектура и компоненты готовы и надо фигачить одинаковые формы или верстать однотипные посадки. Но все равно изменять время проведённое в IDE нельзя.
Как же понять производительность разработчика? В первую очередь по результату. Упрощенно - готова ли задача к обещанному сроку. Если более сложно, то я, например, оцениваю по числу затраченных часов на 1 StoryPoint (далее SP). То есть на планировании команда согласилась что задача X займёт 2 SP (метрика сложности / времени задачи) методом Scrum Pocker (про него будет отдельный пост). Если на неё было потрачено 20 часов рабочего времени - то скорость такого разработчика 10 часов на 1 SP.
На интервале 3 месяца сразу видно, что Senior разработчики имеют скорость от 6 до 8, а junior около 20 (цифры могут быть разными в разных компаниях, так как понятие SP может разниться). И это как раз позволяет отслеживать прогресс отдельно взятого разработчика. Если метрика сокращается - значит он уже познакомился с кодовой базой и растёт в профессиональном плане.
Но важно, чтобы эта метрика не влияла на премии, иначе она перестаёт быть объективной и все начинают переоценивать задачи. А как у вас в компании отслеживается производительность? Было бы интересно в комментариях собрать разные метрики производительности.
Один мой знакомый CEO решил, что его разработчики работают не очень быстро и надо бы измерить их скорость. Для этого было предложено поставить следящий за экраном софт и смотреть сколько они провели в IDE за написанием кода. Если меньше 6 часов - значит он явно бездельничал.
Мы с вами понимаем, что это так не работает. Когда ты пишешь код, ты можешь час просидеть с листком бумаги, прикидывая архитектуру или ходя кругами по комнате обдумывая решение. Я уже не говорю про ночные озарения, когда тебе посреди ночи приходит простое решение задачи, на которой ты застрял ещё днём. Написание кода - процесс творческий. Так же и дизайнеры не сидят в фигме 100% времени, а ищут вдохновение и смотрят лучшие практики. Да, есть иногда монотонное написание кода, когда архитектура и компоненты готовы и надо фигачить одинаковые формы или верстать однотипные посадки. Но все равно изменять время проведённое в IDE нельзя.
Как же понять производительность разработчика? В первую очередь по результату. Упрощенно - готова ли задача к обещанному сроку. Если более сложно, то я, например, оцениваю по числу затраченных часов на 1 StoryPoint (далее SP). То есть на планировании команда согласилась что задача X займёт 2 SP (метрика сложности / времени задачи) методом Scrum Pocker (про него будет отдельный пост). Если на неё было потрачено 20 часов рабочего времени - то скорость такого разработчика 10 часов на 1 SP.
На интервале 3 месяца сразу видно, что Senior разработчики имеют скорость от 6 до 8, а junior около 20 (цифры могут быть разными в разных компаниях, так как понятие SP может разниться). И это как раз позволяет отслеживать прогресс отдельно взятого разработчика. Если метрика сокращается - значит он уже познакомился с кодовой базой и растёт в профессиональном плане.
Но важно, чтобы эта метрика не влияла на премии, иначе она перестаёт быть объективной и все начинают переоценивать задачи. А как у вас в компании отслеживается производительность? Было бы интересно в комментариях собрать разные метрики производительности.
#подкаст !Плохой код - Выпуск 10 - Свежий софт и инструменты разработчика
Ведущие: Антон Ларичев, Дмитрий Петров
Сегодня обсудим:
- Полезные пакеты NPM и Remix
- Софт, упрощающий работу
- Расширения для VSCode
Разделы выпуска:
- 0:44 - Моно репозиторий NX и PNPM
- 12:16 - Впечатления от использования Remix
- 17:43 - Warp и Fig
- 29:05 - LunarVim
- 34:20 - Raycast
- 36:37 - Sonar Lint, Расширение GitHub и gh cli, Quokka, Wallaby
Выходит на Apple и Google Подкасты, Yandex Музыка и других.
Ссылка на страницу со всеми платформами: https://not-bad-code.mave.digital/ep-10
Ведущие: Антон Ларичев, Дмитрий Петров
Сегодня обсудим:
- Полезные пакеты NPM и Remix
- Софт, упрощающий работу
- Расширения для VSCode
Разделы выпуска:
- 0:44 - Моно репозиторий NX и PNPM
- 12:16 - Впечатления от использования Remix
- 17:43 - Warp и Fig
- 29:05 - LunarVim
- 34:20 - Raycast
- 36:37 - Sonar Lint, Расширение GitHub и gh cli, Quokka, Wallaby
Выходит на Apple и Google Подкасты, Yandex Музыка и других.
Ссылка на страницу со всеми платформами: https://not-bad-code.mave.digital/ep-10
#курсы Ссылки и купоны на курсы
Так как меня уже многие спрашивали по поводу того, где покупкать мои курсы и брать промокоды на них, я оставлю эту информацию закреплённую тут.
Если вы из России:
Смело покупайте курсы на моей платформе: https://learn.purpleschool.ru
Все курсы по 1090 рублей и без фейковых скидок как на Udemy.
Если вы не из России:
Покупка возможна только на Udemy и для вас ниже будут ссылки с купонами для покупки за ту же минимальную цену, но в вашей валюте:
NestJS - https://www.udemy.com/course/nestjs-backend-typescript-node-js/?couponCode=34216CEE67E005C4BC6B
NextJS - https://www.udemy.com/course/react-nextjs/?couponCode=9C070347AD9E35693ED1
Docker и Ansible - https://www.udemy.com/course/docker-ansible/?couponCode=C43BB09AFEF79CEC6FA7
Node.js - https://www.udemy.com/course/nodejs-start/?couponCode=DA301A2615F21B10DEFB
TypeScript - https://www.udemy.com/course/typescript-full/?couponCode=915B52FE9DC0087CEECF
Так как меня уже многие спрашивали по поводу того, где покупкать мои курсы и брать промокоды на них, я оставлю эту информацию закреплённую тут.
Если вы из России:
Смело покупайте курсы на моей платформе: https://learn.purpleschool.ru
Все курсы по 1090 рублей и без фейковых скидок как на Udemy.
Если вы не из России:
Покупка возможна только на Udemy и для вас ниже будут ссылки с купонами для покупки за ту же минимальную цену, но в вашей валюте:
NestJS - https://www.udemy.com/course/nestjs-backend-typescript-node-js/?couponCode=34216CEE67E005C4BC6B
NextJS - https://www.udemy.com/course/react-nextjs/?couponCode=9C070347AD9E35693ED1
Docker и Ansible - https://www.udemy.com/course/docker-ansible/?couponCode=C43BB09AFEF79CEC6FA7
Node.js - https://www.udemy.com/course/nodejs-start/?couponCode=DA301A2615F21B10DEFB
TypeScript - https://www.udemy.com/course/typescript-full/?couponCode=915B52FE9DC0087CEECF
#код Однострочник для уникалиации объектов
Для манипуляции с данными у нас в арсенале есть библиотеки типа lodash, rambda или underscore. Но эта лишняя зависимость, которая иногда не нужна ради простых задач. Мы же не тянем её ради того, что и так решается map и reduce? Вот и ещё один пример, где мне нужно было уникализировать объект по 2-м полям, чтобы взять только уникальные пары. Если для простого массива мы можем использовать Set для уникалиации, тут поможет Map. В примере мы берём уникальность по ключам a и b.
Для манипуляции с данными у нас в арсенале есть библиотеки типа lodash, rambda или underscore. Но эта лишняя зависимость, которая иногда не нужна ради простых задач. Мы же не тянем её ради того, что и так решается map и reduce? Вот и ещё один пример, где мне нужно было уникализировать объект по 2-м полям, чтобы взять только уникальные пары. Если для простого массива мы можем использовать Set для уникалиации, тут поможет Map. В примере мы берём уникальность по ключам a и b.
#советы Сделай технический долг, а потом пили фичу
Я иногда переключаюсь между проектами и возвращаюсь к проекту, который трогал пол года назад. Нужно казалось бы поменять немного кода, но открыв проект я вижу что:
- Версия Next уже старая.
- Pipeline написан не оптимально.
- Версия ноды тоже ещё 14-я.
- Не очень написан один из компонентов, который я хочу поменять.
Выхода 2 - правишь, пушишь, готово или делаешь сначала описанный выше техничский долг. Я для себя выработал правило - если этот проект на моей поддержке или моей команды - я не буду делать фичу, пока не закрою долг. Хотя бы частично. Потому что все это придётся делать в любом случае, но чем больше наслаивается фичей, тем сложнее потом вернуть этот долг. Да, бывают фиксы, которые не дождутся долга, но для внедрения новой фичи - это правило обязательно.
Потому старайтесь держать проекты в актуальном состоянии и закрывайте долги. Мне прям противно ковырять проект, где все старое и кривое 😖
Я иногда переключаюсь между проектами и возвращаюсь к проекту, который трогал пол года назад. Нужно казалось бы поменять немного кода, но открыв проект я вижу что:
- Версия Next уже старая.
- Pipeline написан не оптимально.
- Версия ноды тоже ещё 14-я.
- Не очень написан один из компонентов, который я хочу поменять.
Выхода 2 - правишь, пушишь, готово или делаешь сначала описанный выше техничский долг. Я для себя выработал правило - если этот проект на моей поддержке или моей команды - я не буду делать фичу, пока не закрою долг. Хотя бы частично. Потому что все это придётся делать в любом случае, но чем больше наслаивается фичей, тем сложнее потом вернуть этот долг. Да, бывают фиксы, которые не дождутся долга, но для внедрения новой фичи - это правило обязательно.
Потому старайтесь держать проекты в актуальном состоянии и закрывайте долги. Мне прям противно ковырять проект, где все старое и кривое 😖
#курс Update по курсу Микросервисы
На этой неделе я наконец начал записывать новый курс по микросервисам, который выйдет ориентировочно в конце мая, начале июня. Курс будет рассчитан на backend разработчиков и весь код мы будем писать на NestJS. Но при этом он будет структурирован таким образом, чтобы быть полезным независимо от языка.
В курсе будут:
- Разбор нотации описания, которую мы будем использовать
- Переход к микросервисам и алгоритм декомпозиции
- Монорепозиторий на Nx
- Транспорт для микросервисов и разбор RabbitMQ.
- Консистентность данных и саги
- Работа с базами данных
- Разделение бизнес логики и модель событий
- Асинхронность архитектуры микросервисов
- Особенности тестирования и масштабирования микросервисов
Ну и конечно, как я люблю - все на практике. Мы частично напишем сайт школы PurpleSchool (backend), предварительно разработав архитектуру, используя разобранные в теории паттерны в коде.
Так что если ещё не до конца освоили Nest и Node.js, самое время. Ссылки на эти курсы в закрепе.
На этой неделе я наконец начал записывать новый курс по микросервисам, который выйдет ориентировочно в конце мая, начале июня. Курс будет рассчитан на backend разработчиков и весь код мы будем писать на NestJS. Но при этом он будет структурирован таким образом, чтобы быть полезным независимо от языка.
В курсе будут:
- Разбор нотации описания, которую мы будем использовать
- Переход к микросервисам и алгоритм декомпозиции
- Монорепозиторий на Nx
- Транспорт для микросервисов и разбор RabbitMQ.
- Консистентность данных и саги
- Работа с базами данных
- Разделение бизнес логики и модель событий
- Асинхронность архитектуры микросервисов
- Особенности тестирования и масштабирования микросервисов
Ну и конечно, как я люблю - все на практике. Мы частично напишем сайт школы PurpleSchool (backend), предварительно разработав архитектуру, используя разобранные в теории паттерны в коде.
Так что если ещё не до конца освоили Nest и Node.js, самое время. Ссылки на эти курсы в закрепе.
#видео TypeScript - Enums: Обзор и когда не надо использовать
На это видео меня сподвиг спор в комментариях о том, когда надо использовать Enums, а когда нет. Мы с вами рассмотрим зачем нужны enums в TypeScript и во что они компилируются. А что самое главное - когда их можно использовать, а когда нет.
Я наконец дошёл до своего YouTube канала, поэтому подписывайтесь, буду делать еженедельные небольшие обучающие видео, который дополняют мои курсы и, надеюсь, будут вам полезны.
Не всё то, чем я хочу поделиться с вами выливается в курс, а поделиться с вам хочется и это хороший повод начать YouTube)
Поехали!
https://www.youtube.com/watch?v=r9Tt3fEjuBY
На это видео меня сподвиг спор в комментариях о том, когда надо использовать Enums, а когда нет. Мы с вами рассмотрим зачем нужны enums в TypeScript и во что они компилируются. А что самое главное - когда их можно использовать, а когда нет.
Я наконец дошёл до своего YouTube канала, поэтому подписывайтесь, буду делать еженедельные небольшие обучающие видео, который дополняют мои курсы и, надеюсь, будут вам полезны.
Не всё то, чем я хочу поделиться с вами выливается в курс, а поделиться с вам хочется и это хороший повод начать YouTube)
Поехали!
https://www.youtube.com/watch?v=r9Tt3fEjuBY
YouTube
TypeScript - Enums: Обзор и когда не надо использовать
Мы с вами рассмотрим зачем нужны enums в TypeScript и во что они компилируются. А что самое главное - когда их можно использовать, а когда нет.
Полный курс по TypeScript: https://purpleschool.ru/course/typescript
Все мои курсы: https://purpleschool.ru/
Telegram…
Полный курс по TypeScript: https://purpleschool.ru/course/typescript
Все мои курсы: https://purpleschool.ru/
Telegram…
#оборудование "Это" надо делать хотя бы раз в год
Сегодня утром я наконец добрался до чистки клавиатуры, которая за год использования уже изрядно засорилась (да, я люблю иногда поесть за работой 😋). Хочу поделиться парой советов:
- Не все клавиатуры можно легко разобрать и собрать обратно (у меня так дочь разобрала одну старую мембранную и собрать уже было её нельзя). Поэтому самые простые клавиатуры для чистки - механические.
- Снимите все keycaps с клавиатуры и лучше всего выложите их в порядке, в котором будет проще собрать обратно.
- Снимать лучше всего специальным приспособлением для снятия клавиш, чтобы не повредить переключатели, оказывая давление только с одной стороны.
- Перед детальной чисткой можно пройтись пылесосом и удалить основную грязь.
- Для чистки отлично подходят ушные палочки, которые можно намочить в спирте. Они легко проходят между переключателями и собирают всю грязь.
- Перед сборкой каждую клавишу можно отдельно почистить.
А вы как часто чистите свою клавиатуру?
Сегодня утром я наконец добрался до чистки клавиатуры, которая за год использования уже изрядно засорилась (да, я люблю иногда поесть за работой 😋). Хочу поделиться парой советов:
- Не все клавиатуры можно легко разобрать и собрать обратно (у меня так дочь разобрала одну старую мембранную и собрать уже было её нельзя). Поэтому самые простые клавиатуры для чистки - механические.
- Снимите все keycaps с клавиатуры и лучше всего выложите их в порядке, в котором будет проще собрать обратно.
- Снимать лучше всего специальным приспособлением для снятия клавиш, чтобы не повредить переключатели, оказывая давление только с одной стороны.
- Перед детальной чисткой можно пройтись пылесосом и удалить основную грязь.
- Для чистки отлично подходят ушные палочки, которые можно намочить в спирте. Они легко проходят между переключателями и собирают всю грязь.
- Перед сборкой каждую клавишу можно отдельно почистить.
А вы как часто чистите свою клавиатуру?
#видео React Custom Hooks - Пишем компонент прогресса чтения на React и TypeScript
Сегодня был продуктивный день, и чтобы у вас было что смотреть на предстоящих выходных, выложил 2-й ролик на канале. Как обычно подписывайтесь и пишите предложения!
Пишем небольшой компонент отображения прогресса чтения статьи с использованием React Custom Hooks и TypeScript на примере сайта школы PurpleSchool.
https://youtu.be/bQVW2KCHc1E
Сегодня был продуктивный день, и чтобы у вас было что смотреть на предстоящих выходных, выложил 2-й ролик на канале. Как обычно подписывайтесь и пишите предложения!
Пишем небольшой компонент отображения прогресса чтения статьи с использованием React Custom Hooks и TypeScript на примере сайта школы PurpleSchool.
https://youtu.be/bQVW2KCHc1E
#видео ТОП 5 консольных утилит для программиста
Сегодня разберём мой топ 5 консольных утилит, которые облегчат жизнь любому программисту. Делитесь своим топ в комментариях на YouTube и сравним списки!
https://youtu.be/t0fZeddd8qA
Сегодня разберём мой топ 5 консольных утилит, которые облегчат жизнь любому программисту. Делитесь своим топ в комментариях на YouTube и сравним списки!
https://youtu.be/t0fZeddd8qA
#видео TypeScript - Union типы и TypeGuards
Сегодня мы разберём Type Guards в TypeScript, а перед этим познакомимся с Union типами и сужением типов. Это видео навеяно недавним вопросом в чате, как работать с Union типами, когда хочется обратиться к одному из методов участника Union типа.
Приятного просмотра!
https://youtu.be/P2Ny05sAYoY
Сегодня мы разберём Type Guards в TypeScript, а перед этим познакомимся с Union типами и сужением типов. Это видео навеяно недавним вопросом в чате, как работать с Union типами, когда хочется обратиться к одному из методов участника Union типа.
Приятного просмотра!
https://youtu.be/P2Ny05sAYoY