Получи случайную криптовалюту за регистрацию!

Node.js Recipes

Логотип телеграм канала @node_recipes — Node.js Recipes N
Логотип телеграм канала @node_recipes — Node.js Recipes
Адрес канала: @node_recipes
Категории: Технологии
Язык: Русский
Количество подписчиков: 2.47K
Описание канала:

По буднях нотатки по #Nodejs розробці, по вихідним огляди конференцій та доповідей (с) @galkin_nikita
Співробітництво https://telegra.ph/node-recipes-01-19

Рейтинги и Отзывы

4.00

3 отзыва

Оценить канал node_recipes и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

2

4 звезд

0

3 звезд

0

2 звезд

1

1 звезд

0


Последние сообщения 29

2021-06-15 12:02:49
#announcement

Сегодня выступаю с докладом об TDD в #nodejs. Это будет совместный доклад с Львовской компанией Sombra.

Доклад начинается с обзора типичной пирамиды тестирования для Node.js проекта. На каждом уровне расскажу лучшие TDD практики и покажу какие npm пакеты использую.

Участие бесплатно.

Расписание
18.30 - 19.15 - Богдан Савшак
19.15 - 19.30 - QA session
19.30 - 20.15 - Нікіта Галкін
20.15 - 20.30 - QA session

Регистрация: https://us02web.zoom.us/meeting/register/tZYvcu6gqzIuG9WgFmZUja4lP-5wlsYraKhu

До встречи в эфире!
583 views09:02
Открыть/Комментировать
2021-06-14 10:30:33 Что такое Graceful Shutdown и как его реализовать?
#architecture #nodejs_api

Девятый пункт The 12-Factor App Manifesto гласит:
Maximize robustness with fast startup and graceful shutdown , что в переводе означает: "Максимизируйте надёжность с помощью быстрого запуска и корректного завершения работы". Таким образом graceful shutdown
это корректное завершение работы. По умолчанию #nodejs выключается не безопасно – существуют риски повреждения работоспособности приложения при последующем запуске.

Для завершения работы приложения OS отправляет Unix сигнал Node.js процессу. В зависимости от контекста работы процесса и метода его остановки это могут быть SIGINT, SIGTERM, SIGHUP и прочие. Для обработки такого сигнала существует обработчик process.on('', подробней в документации. Есть библиотеки для этих целей, например death. Во многих фреймворках существуют готовые методы, например в nestjs это enableShutdownHooks.

Вот, что я обычно рекомендую делать для корректного завершения работы:
1. Записать в лог начало выключения.
2. Закрыть входящий поток бизнес-логики. Например: прекратить прием новых задач на обработку из очереди, прекратить обработку новых входящих HTTP-запросов и т.д.
3. Установите принудительный тайм-аут для завершения текущих задач или сохраните их для дальнейшей обработки. Рекомендуемое значение этого таймаута - не более секунды.
4. Уведомить клиентов об отключении в случае постоянного подключения (ws, sse и т.п.). Это называется heartbeat-shutdown.
5. Правильно отключите все соединения. Например: база данных, очереди, кэши.
6. Зарегистрируйте завершение корректного завершения работы и остановите процесс через process.exit().
547 viewsedited  07:30
Открыть/Комментировать
2021-06-13 19:17:56
MongoDB.live 2021, July 13–14, 2021
#conference

MongoDB самая популярная документная база данных. На подходе 5-ая версия. Узнать об новинках в релизе, посмотреть доклада можно будет уже 13-14 июля в ходе конференции MongoDB.live 2021.

Как обычно для Vendor конференций участие бесплатно, а доклады будут доступны к просмотру сразу после конференции. Чтобы стимулировать участников смотреть доклады онлайн и ходит по виртуальным стендап организаторы вводят систему очков. В последствие эти очки используются для розыгрыша подарков от партнеров.

Напомню, что существует MongoDB University
179 views16:17
Открыть/Комментировать
2021-06-13 14:01:29 Demystifying Database Performance Issues with sqlcommenter
#worth_seeing

Еще одно видео с OpenJS World 2021. Его можно отнести к категории промо докладов. В нем продвигается библиотека sqlcommenter, заточенная под Google Cloud Platform. В видео есть подробная демонстрация создания DB инстанса и запуск #nodejs под GCP. Эта часть будет полезна разработчикам не работавшим с GCP ранее.

Идея библиотеки использовать в DB-запросах комментарии, чтобы собирать телеметрию. Данная библиотека реализуется идеи заложенные в OpenTelemetry спецификации.

Ссылки:
- sqlcommenter
- OpenTelemetry
414 viewsedited  11:01
Открыть/Комментировать
2021-06-12 10:00:57 Observing Node.js: Using Metrics to Improve your Application Performance
#worth_seeing

Видео с OpenJS World 2021. Докладчик Guilherme Hermeto работает в Netflix. Первая часть видео это разбор метрик описывающих #nodejs приложение. Вторая же – демонстрация поведения метрик на графиках в зависимости от кода. Рекомендую не только посмотреть, но и попробовать запустить пример кода.

Slides Code
479 viewsedited  07:00
Открыть/Комментировать
2021-06-11 10:14:19 Что такое Custom URL Protocol Scheme?
#architecture

В заметке об конфигурации #nodejs приложений я рекомендую использовать connection string. Пример: postgresql://postgres:password@localhost:5432/database

postgresql тут определяет схему протокола в URI. Общепринятыми схемами являются:
- http
- https
- ws
- mailto
- и так далее. Список в wiki

Схема протокола позволяет выбрать правильное приложение для открытия ресурса. Например ссылка чтобы открыть заметку об конфигурации сразу в телеграмме имеет вид: tg://resolve?domain=node_recipes&post=47

Зачем это знать Node.js разработчику? В BFF (backend for frontend) ваше Web API endpoints должны соответствовать ссылкам для mobile/desktop приложений.
612 views07:14
Открыть/Комментировать
2021-06-10 20:00:53 #voice_chat

Гость: Тимур Шемсединов, CTO at Salucyber, главный архитектор технологического стека Metarhia, автор более 200 видео-лекция по веб-разработке.

Вопросы:
Что такое Metarhia? Какую проблему он решает?
Какие проблемы у тайпскрипта?

Дисклеймер – в комментария говорят, что ничего нового не услышали.
713 viewsedited  17:00
Открыть/Комментировать
2021-06-10 11:10:48 Что должен уметь написать Senior Node.js разработчик?
#architecture

У меня много идей для докладов. Одна из них "Не только Web API". Большинство #nodejs разработчиков работают в web проектах и не умеют использовать Node.js для чего-то другого.

Для Web API много задач. Выбрать нужный протокол REST, RPC, SSE, GraphQL. Обеспечить нужный latency. Дать документацию. Исключить breaking change, что особенно важно в мобайл проектах. Но стоит добавить что-то не стандартное и разработчик теряется.

Вот мой личный топ-10 фичей или приложений, опыт создания которых помогает прокачать навыки:
Market-place. Пример: Uber, Airbnb
Поддержка реал-тайма. Пример: мессенджер, биржевые графики
Чат-боты. Пример: бот в телеграме, FB
Поисковая система. Пример: умный поиск по сайту, Google
Видео стриминг. Пример: Zoom
Картографический сервис. Пример: Google map
Collaborative real-time editor. Пример: Google Docs
CLI. Пример: npm, yarn, @nestjs/cli
REPL. Пример: Mongo shell
Game Server как пошаговый, так и реал-тайм. Пример: Монополия
750 viewsedited  08:10
Открыть/Комментировать
2021-06-09 17:08:05
Frontend Stars Meetup
#announcement

Ребята из AllStars-IT завтра проводят offline meetup.
Не знаю как лучше написать О-Ф-Ф-Л-А-Й-Н! или Offline is the new luxury.

Программа:
Michael Hladky (Google Developer Expert, Microsoft MVP) с докладом Angular Performance Tuning with Zone-Flags. Доклад уже есть в интернете. Для #nodejs разработчиков будет полезна часть связанная с анализом flame-graph. Доклад будет на английском, а докладчик онлайн.
Александр Головатый (Senior Full-Stack-разработчик с 15-ти летним опытом) с докладом Chrome Extension With React. Александр делал первый доклад по данной теме еще 3 года назад. Ему действительно есть чем поделиться. Доклад будет на английском, а докладчик оффлайн.
Q&A и after-party.

Формат: оффлайн и онлайн
Участие: бесплатно
Регистрация: http://bit.ly/FrontendMeetup
Дисклеймер: мероприятие проводиться в рамках HR-брендинга компании AllStars-IT
785 views14:08
Открыть/Комментировать
2021-06-09 12:01:57
#announcement #voice_chat

Что: Voice Chat об Node.js подходах и комьюнити
С кем: Тимур Шемсединов
Когда: завтра, 10 июня, в 21-00
Где: https://t.me/node_recipes?voicechat
2.2K views09:01
Открыть/Комментировать