Node.js Recipes
3.23K subscribers
174 photos
7 videos
1 file
622 links
По буднях нотатки по #Nodejs розробці, по вихідним огляди конференцій та доповідей (с) @galkin_nikita
Download Telegram
Как выстрелить себе ногу с помощью microservices?
#architecture

Сегодня рецептик в стиле вредных советов, специально для тех, кто хочет осознано завалить проект.

⚠️ Начинайте новый проект сразу на микросервисах. Monolith first устарел
⚠️ Начиная со второго микросервиса внедрите распределенные транзакции.
⚠️ Оставьте бизнес домен бизнесу. Микросервисы не должны иметь связь с бизнес доменом, вместо этого делайте их универсальными. DDD не для инженеров.
⚠️ Не задумывайтесь об версионирование. Версионирование данных, контрактов, микросервисов, всей системы в целом – возникнет само.
⚠️ Избегайте инструментов для оркестрирования (Kubernetes, Istio и т.д.). Они только усложняют работу. Делайте все на уровне кода, а не на уровне инфраструктуры.
⚠️ Микросервисы созданы, чтобы пробовать новые технологии. Поэтому чем больше у вас будет новых технологий, тем лучше! Каждый новый микросервис – новый фреймворк, а лучше язык!
Через неделю начинается Hacktoberfest!
#announcement

Каждый октябрь Digital Ocean проводит Hacktoberfest. Цель данного мероприятия поощрить участие в проектах с открытым исходным кодом. Если говорить конкретно, то схема такая: в течение октября открыл 4-е пул реквеста в open source проекты – получаешь футболку. В зачет идет любой инкремент, в том числе правки в документацию, тесты и конечно новые фичи.

Участвующие проекты:
– Github: https://github.com/topics/hacktoberfest
– Gitlab: https://gitlab.com/explore/projects?topic=hacktoberfest

Что я рекомендую делать в рамках этого мероприятия:
– Если вы maintainer, т.е. разработчик open source проекта, добавьте тэги на ваш проект и напишите как вам помочь в репозитории и в соц.сетях.
– Если вы комьюнити лид, организуйте мероприятие в партнерстве с одним из open source проектов.
– Если вы просто разработчик, внесите свой вклад в opensource, а заодно выучите что-то новое. Как говориться, поднялся сам спусти лифт для следующего.

Что касается меня, то я сделаю свой контрибьюшен в DefinitelyTyped. Этот репозиторий содержит @types пакеты для поддержки работы typescript.
Audio
Гость: Виталий Петренко, JS master, со-организатор Kharkiv Frontend митапов и конференций, евангелист спокойствия и доброжелательности.

Вопросы:
 Что такое софт скилы? Как они проявляются в ежедневной работе инженера?
 Кто и как проверяет софт скилы во время найма?
 Почему важно ставить цели, как совмещать личные цели и цели проекта/команды?

На последним минутах подключился Алексей Мигуцкий.
Обзор Node.js v16: Что нового в npm v7?
#npm

При установке Node.js автоматически устанавливается npm. Конкретная версия идет как часть бинарника. Ее конечно можно изменить, но я не рекомендую это делать – вам придется делать это везде, т.е. скорее всего вы нарушите repeatability.

Переход с 14-ой версия Node.js на 16-ую обновит npm с 6-ой на 7-ую. Полный список изменений тут. А вот краткий:
– ускорен npm install так что время сопоставимо с yarn@1. На моем проекте время установки сократилось с 33 секунд до 21.
– новый формат package-lock.json v2, без обратной совместимости.
– добавлен npm exec для запуска любой произвольной команды, как если бы это был сценарий npm. По сути это замена npx, который устарел.
– добавлены workspaces (привет монорепозитории). Подробней в документации
npm audit  теперь исправляет больше рисков.
– появился глобальный флаг prefer-dedupe, благодаря которому не нужно запускать npm dedupe

Рецептики по теме:
​​Что такое .npmrc и почему его стоит добавить?
​​Как померять время выполнения команды в терминале?
Обзор Node.js платформы в 2021
#worth_seeing

Сегодня в рекомендациях видео c августовского Trampoline Meetup. Это ежемесячные IT-митапы в регионах России. Докладчик Егор Малькевич делает обзор Node.js платформы, т.е. видео носит обзорный характер и не претендует на глубину или звание всестороннего исследования. Его можно использовать как чек-лист для проверки широты профессионального кругозора #nodejs разработчика. Синьор #nodejs разработчик поймет/слышал термины и инструменты, о которых идет речь в докладе.
30 days of Postman
#service

Материал в стиле "N days of A" делает обучение быть регулярным. Сегодня в рекомендациях именно такое обучение по Postman. Это самый популярный инструмент для работы с REST.

Задания разбиты на 30 дней. Каждое представлено в виде публичной Postman коллекции. Их сложность чередуется. По их окончанию можно получить байджик. Рекомендую пройти и отправлять ссылку на конкретный день коллегам, когда они спрашивают как сделать ту или иную задачу с помощью Postman.

Ссылки:
🔗 Анонс в блоге
🔗 Задания
Запуск Node.js курса совместно с FoxmindEd
#announcement

В июле был voice chat с Сергеем Немчинским. Мне очень импонирует его подход к обучению программированию – только практика, теорию студенты гуглят сами. Поэтому я составил курс по Node.js для его компании. Сегодня FoxmindEd открыли набор в тестовую группу на этот курс, а это только 4 человека.

Детали тезисно:
Целевая аудитория – Junior/Middle FrontEnd разработчики, которые хотят вырасти в FullStack или свитчеры с других языков (я сам переходил в Node.js с PHP)
Задача курса – дать рынку больше разработчиков способных работать на актуальном Node.js стэке.
Формат – как и все курсы в foxmindEd только практика. Вы получаете задачи, приблеженные к реальным, выполняете их и отправляете на код-ревью ментору. Поэтому задания на английском. Задачи идут по возрастанию сложности. Перепрыгивать их нельзя.
Основные фреймворки – Jest для тестирования, express.js+JavaScript в первой половине, Nest.js+TypeScript во-второй половине курса.
Тех.стэк – Node.js 16, npm 7, базы PostgresSQL, MongoDB, Docker, разворачивание на heroku и AWS.
Примеры приложений – Telegram bot, REST/GraphQL API, chat with websockets, file processing, user avatar management.
Продолжительность – зависит от вашей скорости прохождения. Курс включает порядка 30 заданий.
Оплата – 150$/месяц.
Моя роль – я составитель курса, т.е. составил задачи и сопровождаю менторов.
Регистрация – тут
Подборка node.recipes за сентябрь 2021

Рецепты для #nodejs разработчиков:
➡️ Чем отличаются операционные ошибки от ошибок программиста?
➡️ В чем различие таймеров в Node.js и browser?
➡️ Как обнаружить синхронные операции в Node.js коде?
➡️ Обзор Node.js v16: Что такое corepack и как он работает?
➡️ Что нужно знать об Error stack trace?
➡️ Как выстрелить себе ногу с помощью microservices?
➡️ Обзор Node.js v16: Что нового в npm v7?
👀 Обзор Node.js платформы в 2021

freebies:
🤑Free Oracle Cloud Training and Certificates
🤑30 days of Postman
🤑JetBrains JavaScript Day 2021

Voice Chats:
🎤 About Cloud Development в рамках DOU Tech
🎤 About Culture Fit, в гостях Алексей Мигутский
🎤 About Team Setup, в гостях Виталий Ратушный
🎤 About Development Tools, в гостях Старовойт Андрей
🎤 About Soft Skills, в гостях Виталий Петренко

Актуальные анонсы и проекты с партнерами:
🔗 CFP от FWDays
🔗 Подборка комьюнити от Math.random()
🔗 Hacktoberfest
🔗 my-talks.net – портфолио спикеров
🔗 Запуск Node.js курса совместно с FoxmindEd
Команда @AWS_UG_Ukraine 19 октября проводит AWS Tech Conference.

В программе конференции 6 докладов. Для #nodejs разработчиков я бы выделил доклады Сергея Пугачева об интеграции микросервисов и Игоря Иванюка о создание устойчивых приложений. Формат обоих докладов – паттерны, а значит они будут полезны даже, если вы не используете AWS.

Параллельно с докладами будут идти трек для получения практических навыков. Проводить его будет Константин Поляков в формате hands-on lab.

Участие бесплатное по предварительной регистрации: https://bit.ly/3D6YQJU

#aws #conference
100 Days Of Kubernetes
#worth_seeing

Сегодня у нас в рекомендациях не одно видео, а целый плейлист. Его автор Anais Urlichs делится своим опытом по изучению k8s и подготовки к сдачи CKAD. Сделано это в формате 100DaysOfCloud. Мне этот формат очень заходит, хоть бери и делай свой подобный.

Аниса действительно просто рассказывает об DevOps, ведет ютуб канал и емейл рассылку. Я полностью согласен с ее слоганом You can learn Anything!

Ссылки:
🔗 Плейлист
🔗 Заметки (в видео в формате notion)
🔗 сайт Анисы
The State of Developer Ecosystem 2021

В июле JetBrains опубликовал результаты своего ежегодного опроса. Получилась отличная инфографика The State of Developer Ecosystem 2021. Ее отлично использовать для подтверждения своих утверждений. Вот ряд моих:
– Java и Node.js две основные технологии для создания микросервисов. Причем они могут как конкурировать, так и дополнять друг друга.
– Сколько не рассказывай о GraphQL, gRPC, message bus – все равно будут интегрировать микросервисы через REST.
– Успех распространения технологии определяется качеством ее документации.
– Cредняя зарплата в Украине в 4 раза меньше, чем в США и составляет 2500$/месяц
– JavaScript давно самый популярный язык.
– Если вы еще не освоили React, то учить его поздно. Стоит выучить Vue.
Node.js Development in 2022: trends and techniques
#announcement

На сайте Fwdays появилось описание моего доклада: "Разработка на Node.js в 2022 году: тенденции и приемы". Процитирую:
Задача этого доклада показать новинки экосистемы Node.js. Новые фичи Node.js v16, языковые конструкции JavaScript/TypeScript, набирающие популярность фреймворки и подходы – таков неполный список новинок попавших в этот обзор. Главное в этом обзоре это ответы на вопросы как, когда и главное зачем использовать эти новинки.

Доклад будет обзорным – на широту и целостность, а не на глубину. Подобный я уже делал в 2019 в рамках JSFest. Часть контента уже есть в формате рецептов на канала, часть только будет опубликована – до 27 ноября еще много времени. Буду признателен если вы напишите в комментариях, что вы ожидаете увидеть в докладе. Так же меня можно позвать выступить у вас с этим докладом.
Уже сегодня вечером Jamstack #conference. Традиционно для онлайн событий участие и регистрация бесплатны на сайте.

JavaScript разработчику нужно знать об этом стэке, не зря первая буква в JAM это javascript. Node.js разработчику будет полезно иметь опыт работы с какой-либо Headless CMS.

Ссылки в тему:
🔗 jamstack.org
🔗 jamstack.wtf
Как запустить JavaScript код из буфера обмена?
#cli

TL;DR Используйте pbpaste | node

Сразу скажу, что сегодняшний рецепт для unix пользователей, т.е. MacOS и Linux. Под Windows я не проверял.

В unix есть оператор pipe, который выглядит так |. С его помощью можно делать цепочки команд передавая результат выполнения из одной в другую. Вот примеры использования:
ps -ax | grep node
history | grep kubectl

Еще в unix есть две команды pbcopy и pbpaste. С их помощью можно записывать или читать из буфера обмена. Попробуйте:
pbcopy < package.json
pbpaste

Собственно на этом объяснение магии сегодняшнего рецепта окончено. Скопируйте в буфере JS код, который вы хотите запустить и выполните в терминале pbpaste | node
Что не стоит делать в PostgreSQL?
#best_practice #database

Сегодня у нас в рекомендациях ссылка Don't Do This из википедии PostgreSQL. Каждый из пунктов выдержан в стиле что не стоит делать, почему и в каких случаях все же стоит нарушить эту рекомендацию. Отлично подходит, чтобы отправить коллеге который таки решил сделать что-нибудь плохое.
#conference
На следующей неделе, с 12 по 14 октября пройдет Google Cloud Next`21. В программе столько докладов, что в них просто потеряться. Поэтому нам предлагают создать свой плейлист или воспользоваться готовым.
Для #nodejs разработчиков самым полезным будет плейлист Advanced app dev for developers! В него входят такие доклады:
- Building and managing GraphQL APIs
- Applying Kubernetes app development best practices
- What’s new in serverless?
Обзор Node.js v16: какая версия npm пойдет в LTS?
#npm

В npm документации еще 7-ая версия, но оказывается в 16-ую версию Node.js пойдет а 8-ая. На прошлой неделе команда npm еще раз обновила мажорную версию. Они внесли несколько breaking changes:
– убрать поддержку require('npm') (ни разу этим не пользовался)
– убрать поддержку не поддерживаемых версий Node.js 10 и 11 (хорошая практика).

До перехода на 16-й версию Node.js, как LTS, еще две недели. Для меня не ясно это оплата npm тех долга в последний момент – лишь бы успеть – или продуманная стратегия, чтобы подчистить весь тех долг сразу, когда он уже ясен. В любом случае круто, что им управляют.

Рецептики по теме:
Обзор Node.js v16: Что нового в npm v7?
👍1
У меня в планах до конца года провести один, два мастер-класса. Цена участия в мастер-классе будет 40-75$. Формат записанные видео лекции, лайфкодинг и ответы на вопросы в эфире. Так же поддержка через закрытый телеграм чат. Целевая аудитория – Middle JavaScript разработчики. Задача мастер-класса сэкономить вам время на погружение в конкретную технологию.

Какая из тем вам актуальней всего

Kubernetes для Node.js разработчиков - 50
👍👍👍👍👍 19%
Nest.js tips and tricks – примеры кода, которые упрощают разработку - 89
👍👍👍👍👍👍👍👍 34%
Node.js troubleshooting: логирование, дебаггинг и профайлинг - 59
👍👍👍👍👍👍 23%
GitHub Action или сам себе DevOps: от прогонки тестов до деплоя вашего monorepo - 15
👍👍 6%
Real-time updates: WebSocket, Server Side Event and Push notifications - 49
👍👍👍👍👍 19%
👥 262 человека уже проголосовало.
Скидки на Cloud сертификации

Данная заметка сделана, чтобы поделиться об актуальных акциях и промокодах по Cloud. Если вы не успели или у вас есть ненужный промокод, то приглашаю вас в комментарии к этой заметке.

Сегодня стартует KubeCon. Всем участникам с билетами Virtual All Access будет предоставлена 50% скидка на k8s сертификации – CKAD/CKA/CKS. Подробней можно почитать тут. Для Node.js разработчиков я рекомендую брать CKAD. Сейчас билеты уже по 75$ и, к сожалению, промокод о котором я писал уже не работает. Но опыт прошлых лет показывает, что на сайтах партнеров бывают freebies, включая промокоды на бесплатный доступ. Пример тут.

Напомню, что AWS дает 50% скидку на любую сертификацию, если у вас есть уже любая другая. Т.е. сдали Cloud Practitioner за полную стоимость, а потом всегда сдаете последующие за 50%. Для тех, кто еще не имеет ни одной сертификации будет актуальна одна из этих двух акций:
– До 15 октября Get AWS Certified: Solutions Architect Challenge – подойдет если вы уже имеет опыт и хотите сдать Certified Solutions Architect – Associate (SAA-C02)
– 13 октября AWSome Day Online Conference – для Cloud новичков, который хотят сдать AWS Certified Cloud Practitioner.
Обе акции дают 50% скидку и не суммируются с обычной ссылкой участников сертификационной программы.

Microsoft предлагает 50% скидку на одну из своих Azure сертификаций в рамках 30 Days to Learn It.

Я не знаю об скидках от Google Cloud Platform, но в рамках Google Cloud Next'21, который стартует завтра, объявлено об бесплатном месяце обучения GCP на Coursera.
VSCodium – правильная версия VisualCode

Исходный код vscode является open-source c MIT, которая не распространяется на скачиваемые исполняемые файлы. Поэтому Visual Studio Code собирает телеметрию, т.е. большой брат следит за тобой даже когда ты пишешь код.

Вы можете скачать исходный код и скомпилировать свою версию VisualCode без слежения. Проект VSCodium делает это за вас. По сути это не fork, а pipeline чтобы сделать чистый билд.

Поэтому снесите VisualCode и установите его правильно, без трекинга и через пакетный менеджер.
Во вчерашнем опросе по мастер-классам нет возможности оставлять комментарии. Вот ответы на вопросы из лички:
Почему нельзя проголосовать сразу за несколько?
Потому что я буду готовить их по одному.
А можно мастер-класс на тему ...?
Добро пожаловать в обсуждения под этим постом.

Буду обновлять на основание ваших вопросов.