Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2020 February 13

RC

Roman Cherepanov in NodeUA - JavaScript and Node.js in Ukraine
Dima Moroz
Може десь є стаття про це а то я ніяк найти не можу.
источник

AK

Anton Kovalenko in NodeUA - JavaScript and Node.js in Ukraine
Всім привіт! питання стосується AWS lambda
таке питання - якшо об”являти змінну в кожній лямбді ззовні хендлера, чи не буде поимлки, шо така змінна вже існує?
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Anton Kovalenko
Всім привіт! питання стосується AWS lambda
таке питання - якшо об”являти змінну в кожній лямбді ззовні хендлера, чи не буде поимлки, шо така змінна вже існує?
не будет
источник

AK

Anton Kovalenko in NodeUA - JavaScript and Node.js in Ukraine
Alexander
не будет
Бо вони модульно підключаються, я вірно розумію?
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Дабы не возникало вопросов предтавьте что ваша лямбда - это некий нпм модуль.

При холодном старте происходит следующее:
npm i <vasha_lyambda>
const lambda = require('<vaha_lyambda>');
lambda.handler(event);

Далее по мере поступления новых ивентов вызывается только
lambda.handler(event);
Это горячий старт.

Потом рано или поздно контейнер умирает или создается еще один новый и шаги выше повторяются.
источник

AK

Anton Kovalenko in NodeUA - JavaScript and Node.js in Ukraine
Alexander
Дабы не возникало вопросов предтавьте что ваша лямбда - это некий нпм модуль.

При холодном старте происходит следующее:
npm i <vasha_lyambda>
const lambda = require('<vaha_lyambda>');
lambda.handler(event);

Далее по мере поступления новых ивентов вызывается только
lambda.handler(event);
Это горячий старт.

Потом рано или поздно контейнер умирает или создается еще один новый и шаги выше повторяются.
дякую, це несло певну яснісь)
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Возможно когда-то у меня таки дойдут руки и я все-таки выложу в опенсоры утилитку, которая может запускать лямбды где-угодно почти как амазоны и гуглоклауды.

Ну или Тимур быстрее напишет metaserverless и всем будет хорошо. или нет :)
источник

IL

Ihor Levchenko in NodeUA - JavaScript and Node.js in Ukraine
У меня вот такой вопрос
допустим, проект разделяется на несколько команд и каждый пилит свою часть, которая потом просто как модуль интегрируется в основное ядро продукта

вопрос больше о том, как и куда выносить приватные модули?
Знаю, есть npm enterprise по платной подписке и можно пушить их как приватные пакеты

но вот не хотелось бы завязываться на инфраструктуре npmjs.
Можно какие-то свои репозитории организовывать откуда бы пакеты подтягивались? Есть ли у кого такой опыт?
(параллельно гуглю об этом, просто решил здесь спросить в виду может у кого-то есть подобный опыт)
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Можно модули прямо из гита ставить. Можно архивчики заливать куда-то и их поьзовать.
Или если есть желание, то поднять свой реестр нпм пакетов. Например https://github.com/verdaccio/verdaccio или какое-то платное решение.

Ах да, есть еще в энтерпрайзах говномонорепы. Их можно применять в том случае, если какая-либо из команд не может читать доки и/или не может правильно версионировать свои модули.
источник

IL

Ihor Levchenko in NodeUA - JavaScript and Node.js in Ukraine
Alexander
Можно модули прямо из гита ставить. Можно архивчики заливать куда-то и их поьзовать.
Или если есть желание, то поднять свой реестр нпм пакетов. Например https://github.com/verdaccio/verdaccio или какое-то платное решение.

Ах да, есть еще в энтерпрайзах говномонорепы. Их можно применять в том случае, если какая-либо из команд не может читать доки и/или не может правильно версионировать свои модули.
то есть можно без паблиша на npm напрямую тянуть пакеты прямо из гита? (не гитхаб)
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Ihor Levchenko
то есть можно без паблиша на npm напрямую тянуть пакеты прямо из гита? (не гитхаб)
Да
источник

IL

Ihor Levchenko in NodeUA - JavaScript and Node.js in Ukraine
любопытно, по ходу упустил этот момент, пойду гуглить
источник

IL

Ihor Levchenko in NodeUA - JavaScript and Node.js in Ukraine
вот еще интересно задать вопрос
использует ли кто-нибудь фреймворк fastify ?
В частности очень интересно мнение @tshemsedinov

Я его использовал в одном микросервисе.
Он где-то на 3-4% быстрее чем дефолтный http.Server

(в общем-то мои личные бенчмарки в намеренно ограниченной докер среде показывают это) - https://imgur.com/hPcjkxM

(и не сказать что исходники fastify сильно красивее чем родного http модуля (где вообще каша из классов/функций), но тем не менее)
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Ihor Levchenko
вот еще интересно задать вопрос
использует ли кто-нибудь фреймворк fastify ?
В частности очень интересно мнение @tshemsedinov

Я его использовал в одном микросервисе.
Он где-то на 3-4% быстрее чем дефолтный http.Server

(в общем-то мои личные бенчмарки в намеренно ограниченной докер среде показывают это) - https://imgur.com/hPcjkxM

(и не сказать что исходники fastify сильно красивее чем родного http модуля (где вообще каша из классов/функций), но тем не менее)
За счёт чего он быстрее? Там не используется http модуль?
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Алексей Попов
За счёт чего он быстрее? Там не используется http модуль?
За счет использования схем и кастомной реализации JSON.stringify.
источник

IL

Ihor Levchenko in NodeUA - JavaScript and Node.js in Ukraine
весьма любопытный фреймворк
хотя не сказать что мне сильно нравится этот оверхед со схемами, но тем не менее, очень любопытно
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
Со схемами - это не совсем оверхед. Все равно в любом случае вам надо как-то описывать контракт взаимодейтвия сервера и необходимо делать валидацию. Так или иначе это выливается в то, что придется делать эти схемы.
источник

IL

Ihor Levchenko in NodeUA - JavaScript and Node.js in Ukraine
Ну в общем да, просто что очень много описания приходится делать прямо возле роут-метода

хотя кстати там как раз можно легко обходиться без мидлварей, просто вставляя свою функцию, например, проверки авторизации в beforeHandler (которая, к слову, асинхронная!)

Мне интересно использует ли кто в продакшне этот весьма интересный фреймворк

Мне он платонически нравится так как избавляет от тонны писанины, интересный подход в общем
источник

A

Alexander in NodeUA - JavaScript and Node.js in Ukraine
> Ну в общем да, просто что очень много описания приходится делать прямо возле роут-метода

Так и не надо эту писанину возле роут метода лепить. Схемы себе спокойно описываются в отдельном файле и там где роут метод - просто добавляются по имени или через require - кому как нравится

> хотя кстати там как раз можно легко обходиться без мидлварей, просто вставляя свою функцию, например, проверки авторизации в beforeHandler (которая, к слову, асинхронная!)

В 3-й версии возможность использовать експресовые мидлвари и мидлвари в принципе выпилят и их не будет.

> Мне интересно использует ли кто в продакшне этот весьма интересный фреймворк
+
источник

IL

Ihor Levchenko in NodeUA - JavaScript and Node.js in Ukraine
А то я как раз ресерчу на новый микросервис интересную технологию потыкать
выбирал между koa и fastify

но koa уже зверь обследованный, а вот fastify я только немного смотрел… всегда нравился как он организован
источник