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

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


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

2021-05-09 13:01:10 Зачем нужен тип "true" в TypeScript?
#typescript #worth_seeing

Докладчик сегодняшнего видео, Андрей Старовойт делает поддержку TypeScript в продуктах JetBrains. За что ему низкий поклон. Лучше него как работает TypeScript понимают только инженеры из Microsoft, которые собственно делают TypeScript.

В своем докладе Андрей рассказывает как работает литеральные типы, показывает некоторые TS паттерны и объясняет почему стоит явно указывать тип возвращаемого значения функции.
392 views10:01
Открыть/Комментировать
2021-05-08 12:01:28 Розыгрыш 3-х билетов на конференцию состоится в понедельник утром среди 80 участников.
477 viewsedited  09:01
Открыть/Комментировать
2021-05-08 12:00:44
Dev.Pro JS Conference
#conference #raffle

22-23 мая будет онлайн-конференция, где я буду выступать с докладом The Road to production.
Содержание доклада: ответы на вопросы, о которых нужно задумываться на разных этапах развития #nodejs проекта.

Из докладов для себя я выделил:
Minko Genchev, Tools for Fast Angular Applications, даже если вы не пишете на Angular этот докладчик стоит внимания.
Hannes Obweger, Frontend Engineering at a Scale,
доклад от того, кто реально понимает на личном опыте эту сложную тему.

Так же будет два воркшопа:
Тимур Шемсединов Node.js for Enterprise, часть контента уже была в рамках FWdays.
Елена Жукова Stunning Performance Workshop, об оптимизации загрузки фронтенда.

Формат: онлайн с использование spatial.chat, лучшим инструментом для онлайн нетворкинга.
Регистрация: jsconf.dev.pro
Цена: 450грн, промокод на 10% – NodeRecipes

До встречи на конференции!
481 views09:00
Открыть/Комментировать
2021-05-08 10:01:23 42 WebStorm Tips and Tricks
#worth_seeing

Сегодняшнее видео не доклад с конференции, а с вебинара. Оно полностью посвящено тому, как использовать WebStorm на полную мощность.

Вот hotkey к функционалу, который реально ускоряет разработку:
⌥T – refactor for selected text
⌥⌘T – surround with
⌥⌘L – reformat Code
⇧⏎ – smart new line
⌥⌘⏎ – new line before current one
⌥↑ or ⌥↓ – change selection
⇧⌥↑ or ⇧⌥↓ – move lines

Полезные ссылки по WebStorm:
ShortcutMapper
WebStorm Guide
Key Promoter X

PS На холиварный вопрос "WebStorm или VisualStudioCode?" я отвечаю "не или, а и". Для DevOps задач – VS, для разработки – WebStorm.
483 views07:01
Открыть/Комментировать
2021-05-07 10:01:12 Что такое Floating Promise и почему это опасно?
#code_pattern #nodejs_api

TL;DR Используйте no-floating-promises и unhandledRejection

Floating (не отловленный, плавающий) promise как правило указывает на ошибку в коде. Если внутри Floating promise произойдет ошибка, то #nodejs процесс аварийно завершит работу. Для отлавливания таких событий существует unhandledRejection. Пример из документации:
process.on('unhandledRejection', (reason, promise) => {
console.log('Unhandled Rejection at:', promise, 'reason:', reason);
});

Отлавливать Floating promise лучше не в run time, а с помощью линтера. Для этого существуют правила:
в eslint
в typescript-eslint
тут мог бы быть tslint, но его уже нельзя использовать.

В определенных случаях, бизнес логика не требует ожидания завершения промиса. Тогда необходимо использовать комментарий в коде, указывающий линтеру игнорировать ошибку. Вот пример, когда REST не дожидается отправки емейла новому пользователю.

import { usersRepository } from '~/repositories';
import { sendConfirmationEmail } from '~/services/notifications';
import logger from '~/logger';
// pseudo route handler
export async function registerUser(data: newUserDTO): {
const user = await usersRepository.create(data);
// eslint-disable-next-line @typescript-eslint/no-floating-promises
sendConfirmationEmail(user)
.catch(err => logger({err, user},
'Error during sending confirmation email');
return user;
}
526 views07:01
Открыть/Комментировать
2021-05-06 12:18:13 Q&A Voice Chat, сегодня 21:00-21:30 по Киеву
#announcement

В качестве эксперимента попробуем Q&A в Voice Chat формат.
Отобранные вопросы из #nodejs чатов:
ребята, какие есть способы логирования кроме winston, cosole.log(), res.send() ?? – @nodejs_ru
Что еще можно посмотреть или лучше даже почитать(имею в виду не книги, а может блоги какие-то хорошие) по ноде – @nodeua
Отвечать на вопросы на форумах - хорошая идея для подтягивания теории или практики? – @nodejs_ru

Присоединяйтесь послушать или задать свой вопрос.
721 viewsedited  09:18
Открыть/Комментировать
2021-05-06 11:00:10
Как документировать логику?
#architecture #service

Мало кто из #nodejs разработчиков пользуется UML диаграммами. А зря! Это очень наглядно и улучшает поддержку. Благодаря синтаксису PlantUML диаграммы можно не рисовать, а писать. Вот пример кода с картинки:
@startuml
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication Response
Alice -> Bob: Another authentication Request
Alice <-- Bob: another authentication Response
@enduml

Данный код описывает самую частую диаграмму – Sequence Diagram (последовательности). Есть и другие. За примерами прошу на сайт PlantUML.

Диаграммы можно описывать как в отдельных .puml файлах, так и вставлять в JSDoc. Рекомендую хранить в git репозитории не только исходники, но и сгенерированные диаграммы. Это упростить изучение проекта.

Для рендеринга можно использовать:
Расширение для JetBrains PlantUML integration
Расширение для Visual Code PlantUML
Онлайн версия

В комментариях напомнили альтернативу на JS – mermaid.
603 viewsedited  08:00
Открыть/Комментировать
2021-05-05 10:01:27 Как запускать Node.js с доп. аргументами?
#nodejs_api #devops

При запуске #nodejs бывает необходимо передать дополнительные аргументы. Примеры:
node --no-warnings app.js
node --title='MyApp' app.js
node --require dotenv/config app.js
Полный перечень аргументов и их использование в документации CLI.

Стоит знать об переменной окружения NODE_OPTIONS. Любые значения из нее Node.js добавляет в перечень аргументов. На одном из проектов мы включаем DataDog вот таким образом: NODE_OPTIONS='--require dd-trace/init'
612 views07:01
Открыть/Комментировать