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

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


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

2022-01-09 17:21:50 Create an Application Backend in Clicks with the Amplify Admin UI
#aws #worth_seeing

Сегодняшнее видео – это демо, как с помощью AWS Amplify можно сделать backend для вашего мобильного или веб приложения. Докладчик Ali Spittel, является девелопер адвокатом Amplify.

Видео рекомендуется к просмотру, так как Amplify и его аналог в GCP Firebase является отличным выбором для создания прототипа. Скорость разработки и developer experience действительно радуют. Стоит учесть, что для выхода на рынок на таком тэх стэк необходимо очень внимательно следить за правильной архитектурой и FinOps.

Ссылки:
видео
amplify docs
sandbox
676 views14:21
Открыть/Комментировать
2022-01-08 14:08:31 Advanced TypeScript Playlist by Basarat
#typescript #worth_seeing

Сегодня в рекомендациях не одно видео, а целый плейлист от Basarat. Вы знаете автора по книге TypeScript Deep Dive. В плейлисте собранны короткие видео уроки по продвинутому использованию typescript. Вот три видео, которые мне стоит пересказать как рецепты в рамках канала:
– TypeScript TYPES vs INTERFACES : Key Differences
– TARGET, LIB and POLYFILL for TypeScript and JavaScript
– TypeScript insane type: DeepReadonly

Ссылки:
Advanced TypeScript Playlist
TypeScript Deep Dive
924 views11:08
Открыть/Комментировать
2022-01-07 16:49:22 ​​oclif.io – Open CLI Framework
#package

Вчера на Voice Chat Алексей озвучил своей виденье, что правильная организация кода должна позволять сделать из web приложения CLI утилиту. Как правило CLI утилиты написаны на Python (например AWS, GCP). Но есть примеры и на #nodejs: heroku, salesforce, twilio. Они все написаны на фреймворке oclif. У него отличная документация, возможность сразу делать упаковку в исполняемый файл под нужную операционку, публикация на S3, поддержка typescript и отличное комьюнити. Однозначный выбор для тех.стэка в проект, которому необходима CLI утилита.
1.0K views13:49
Открыть/Комментировать
2022-01-06 19:51:50 Первый #voice_chat в 2022 будет сегодня в 21:00 по Киеву. Тема: "Node.js Best Practices". Мы обсудим, где за ними лучше следить, как и когда применять. И, конечно, ответим на ваши вопросы и комментариях.

В гостях: Алексей Бобырь, Principal Engineer в JOIN, работает с NodeJS с 2013. Энтузиаст хороших практик и правильных подходов. Помнит когда async еще был библиотекой, а не словом из синтаксиса языка.

Ссылки:
- https://github.com/goldbergyoni/nodebestpractices – Best Practices, которые обсуждали
- https://github.com/galkin/workshop – воркшоп с примером трейсинга
1.3K viewsedited  16:51
Открыть/Комментировать
2022-01-06 18:30:18 Какие вопросы задать, чтобы проверить понимание Promise/async/await?
#list

Сегодня поделюсь подборкой моих вопросов для интервью по Promise/async/await. Естественно без ответов, иначе как мне потом их на собеседованиях спрашивать.

1. Какие методы нативного класса Promise вы знаете?
2. Напишите Promise, который создаст микротаск.
3. Напишите Promise, который создаст макротаск.
4. Приведите пример, когда вам было необходимо использовать Promise.allSettled()
5. Что такое Promise executor и почему он должен быть синхронным?
6. Расскажите, что плохо с вот таким кодом:
new Promise((resolve, reject) => getSomething((err, data) => {
if (err) {
reject(err);
} else {
resolve(data);
}
}));
7. Что произойдет если мы сделаем await дважды? Пример кода:
let counter = 0;
const increment = new Promise(resolve => {
counter++;
resolve();
});
await increment;
await increment;
console.log(counter); // 1? 2? something else?
8. Какое ваше мнение по твиту James M Snell:
Ok, opinions needed: An existing API that returns a Promise currently throws certain errors synchronously. It's changed to return rejected promises (e.g. changing
foo() { throw new Error(); return Promise.resolve() } to async foo() { throw new Error(); return Promise.resolve() }
9. Как отслеживать в #nodejs коде Promise, которые имеют множественный resolve/reject? В каких случаях это указывает на неправильное поведение кода?
10. Каким образом вы работаете с встроенными #nodejs функциями в async/await стиле, которые callback интерфейс?
1.1K views15:30
Открыть/Комментировать
2022-01-05 18:09:36 15 Factor App
#devops

Я часто рассказываю об 12 факторах. Это манифест как делать веб приложения правильно (масштабируемо, переносимо и т.д.). Прелесть этих факторов, что они универсальны:
– работают для любой архитектуры – монолит или микросервисы
– любого языка
– любого облака

Ребята из IBM расширили манифест до 15 факторов. Новые факторы:
– API First, т.е. сначала делаем контракт нового API, а только потом его реализовываем.
– Telemetry. Логи из 12 факторов это поток событий, а телеметрия это time series метрики.
– Authentication and authorization. Снова напоминаем себе и команде об важности безопасности.
1.2K viewsedited  15:09
Открыть/Комментировать
2022-01-04 14:00:46 Как TC39 предложения внедряются в TypeScript?
#typescript

В Node.js v16 появились новые фичи. Одна из них Array.at. К сожалению, использовать ее в TypeScript проектах еще нельзя.

TC39 выделяет такие stages для предложений:
Stage 0: Strawperson.
Stage 1: Proposal.
Stage 2: Draft.
Stage 3: Candidate.
Stage 4: Finished.
Подробней тут.

Так вот TypeScript внедряет фичи только на стадии Stage 3. Это не быстрый процесс, так как необходимо не только добавить описание в базовые d.ts файлы, но и сделать транспайлинг в ECMAScript версии не поддерживающий данную фичу. По-сути сделать функционал аналогичный babel плагинам.

К сожалению, Array.at перенесли из релиза 4.5 в 4.6.

Транспайлинг в старые версии идет только для синтаксических конструкций, как пример sync/await. Для новых методов в старых версиях ECMAScript необходимо подключать полифилы (смотри ts-polyfill или core-js). Спасибо Илье за вопросы в комментариях.

Рецепты по теме:
– Обзор Node.js v16: Новые JavaScript конструкции
816 viewsedited  11:00
Открыть/Комментировать
2022-01-03 17:00:35 Что такое WICG?

WICG расшифровывается Web Incubator Community Group. WICG является часть W3 и там делают предложения по расширению браузерного функционала. Не стоит путать с TC39, которые занимаются предложениями по расширению спецификации ECMAScript.

Примеры предложений, за которыми я слежу:
– File System Access, для доступа к локальной файловой системы из браузера
– Get Installed Related Apps, для понимание установлено ли приложение

Что дает WICG для разных типов разработчиков:
– Для FE, очевидно, знание и адаптация нового функционала.
– Для BE консистентности API в браузере и #nodejs. Пример по scheduling apis и timer promises.
– Для архитекторов и тех.лидов определение правильного места для реализации функционала.

WICG занимается не только JS API, но и HTML, CSS, WASM функционалом. Подробней рекомендую ознакомиться по данным ссылкам:
Сайт: wicg.io
GitHub: github.com/WICG
Forum: discourse.wicg.io
1.1K viewsedited  14:00
Открыть/Комментировать
2022-01-02 11:00:43 ​​Application integration patterns for microservices
#worth_seeing #aws #microservices

Сегодня в рекомендациях видео с AWS re:Invent 2021. Докладчик Dirk Fröehner делает доклады об паттернах интеграции микросервисов каждый год. Если вы еще не видели, то обязательно посмотрите. Доклад естественно сделан на базе AWS стэке, но терминология и паттерны универсальны являются базой микросервисной архитектуры.

видео
cлайды
1.1K views08:00
Открыть/Комментировать
2022-01-01 19:56:13 ​​Road to production
#worth_seeing

В мае 2021 компания DevPro проводила онлайн JS конференцию, где я делал доклад "Road to Production". Идея доклада поделиться подходами на каждом из фаз life cycle разработки приложения. В рамках доклада я использовал DevOps концепцию "Day 0/Day 1/Day 2", которая обозначает:
day – проектирование и создание PoC
day – разработка и релиз
day – поддержка и мониторинг

видео
my-talks.net
Слайды

Схожими идеями в рамках VinnytsiaJS 2021 делился Виталий Ратушный
1.1K viewsedited  16:56
Открыть/Комментировать