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

Попробую предсказать тренды 2022.

Будут экспоненциально расти, т.е. стоит учить на опережение:
OpenTelemetry для метрик разработки
Headless CMS (нужны для JAMstack)
– Интеграция, использование и/или переход с NoCode решений (бизнес делает на них прототипы, которые нужно развивать или переписывать с 0)

Будут продолжать расти, т.е. стоит учить чтобы быть в тренде:
– API поверх AI или data-science моделей. Продолжение роста за счет персонализаций. Гуглить Internet Of Behavior
– Crypto, всякие смарт контракты, NFT – да-да в мире слишко много денег
– Internet of Things. Для начала попробуйте сделать свой Smart Home

Будут по-прежнему востребованы, т.е. учить не поздно:
– TypeScript как основной язык для сложных проектов
– DevOps практики CI/CD с помощью Gitlab или GitHub Actions, 12 factor
– Cloud инструменты в любом на ваш выбор провайдере AWS, GSP, Azure
– GraphQL на базе Apollo Server
TypeStack и NestJS
#nestjs

Сегодня обзор новостей по TypeStack. Описание этого стэка говорит само за себя: Decorator based frameworks and libraries for Node and browser. Он важен для NestJS комьюнити: routing-controllers – вдохновитель NestJS, а class-validator/class-transformer входят в NestJS стэк.

Стоить отметить две проблемы class-validator/class-transformer, во-первых их редко обновляют – нет маинтейнеров, во-вторых имеют версии 0.*. Это означает возможность breaking changes между минорными релизами. Позиция Камиля, создателя NestJS, по этому поводу была я не вижу значительных проблем.

А теперь хроника событий:
12 октября выявленная security issue в class-validator
– фикса нет вплоть до 28 октября, поэтому Камиль делает форк, который можно установить как @nestjs/class-validator. Аналогичные форк есть и для class-transformer.
– 20 ноября наконец-то выходят фиксы, но с брейкинг чеджами.
– команда NestJS рассматривает переход на форки в рамках 9 версии, которая не известна когда будет.

Какие выводы из этой истории:
– Во-первых, обновите пакет если вы еще этого не сделали
– Во-вторых, используйте в CI/CD npm audit, чтобы знать о проблемах сразу
– Во-третьих, проверьте может ли ваш код перейти на @nestjs/class-validator, как более поддерживаемый.
– В-четвертых, думайте о технической инфляции и рисках.
#announcement #partner_material

Присоединяйся к NIX TESTATHON!
Проверь, на что ты способен в условиях ограниченного времени и полной свободы действий!

На протяжении 4 часов ты будешь тестировать Android-приложение. Твоя цель — вместе с командой обнаружить и описать самые интересные и значимые дефекты и проблемы. В результате ты сможешь повлиять на качество и развитие одного из харьковских стартапов в целом.

Когда: 4 декабря, с 10:30 до 18:30
Где: в чате Discord
Формат: онлайн

Мы приглашаем тестировщиков уровня Junior+ и Middle.

Чтобы стать участником NIX TESTATHON, сделай три простых шага:
🔸отправь заявку до 29 ноября
🔸выполни небольшое тестовое задание (всего три вопроса)
🔸получи приглашение и подключайся к тестатону!

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

3️⃣ Годовая подписка на Linux Academy.
Опыт использования: c 2018 по 2020
Подводные камни: в момент слияния с acloud.guru были тех. сложности и я перестал ими пользоваться, как сейчас не знаю.
Результат: разобраться с новой технологией или подготовиться к сертификации было очень просто. Готовился по ним к Elastic Certified Engineer и Certified Kubernetes Application Developer.
2️⃣ Стол с регулируемой высотой для работы стоя/сидя.
Опыт использования: 3 года.
Подводные камни: столешницу лучше заказать под себя, чтобы попасть в дизайн и был удобный вырез с подпоркой для рук.
Результат: после овертаймов перестала болеть спина.
1️⃣ MacBook на M1.
Опыт использования: с сентября 2021
Подводные камни: простой перенос с intel процессора не подойдет, все нужно ставить с нуля, чтобы быть на arm версии. Работа с docker чуть усложнилась
Результат: все стало работать быстрее – тайпскрипт+nest.js рестартиться на 40% быстрее, gatsbyjs собирается 15 секунд вместо 50. Сам ноут работает тише и дольше – батарея держит 8-12 часов.
Через несколько минут стартует мой доклад на онлайн конференции: https://fwdays.com/en/event/js-autumn-fwdays-2021
Слады: https://speakerdeck.com/galkin/node-dot-js-development-in-2022
После доклада небольшой голосовой чат в дискорде: https://discord.gg/8sNcQUYTua
Вопросы так же можно задать под этим постом.
OpenJS Foundation дает скидки на Node.js Cerfification. Напомню их две: Node.js Services Development Certification и Node.js Application Development Certification.

Варианты:
– МегаБандл: обе сертификация и тренинги к ним –$1150 $399
– Бандл: одна сертификация + тренинг – $575 $199
– Обе сертификации –  $375 $187.50

Лично я рекомендую брать просто сертификацию без тренинга. Тренинги у Linux Foundation мне всегда казались слабоватыми.

Источник
Как проверить, что строка timezone или encoding?
#nodejs_api

Для того, чтобы проверить что строка является таймзоной можно использовать Internationalization модуль.

function isTimezone(str) {
try {
Intl.DateTimeFormat(undefined, { timeZone: str });
return true;
} catch (ex) {
return false;
}
}

Для проверки кодировки (encoding) можно использовать Buffer.isEncoding.

Собственно цель сегодняшнего рецепта напомнить, что часть buildin modules в #nodejs являются глобальными и их не нужно импортировать.
Вышла новая версия Node.js v16.13.1

В него входят:
– обновление npm с 8.1.0 до 8.1.2
– обновление V8 9.4.146.19 до 9.4.146.24
– обновление c-ares (отвечает за работу с DNS)

Единственное значимое изменение это багфикс в dns.resolve4. Теперь он корректно обрабатывает домены с дефисом.

Мое личное мнение, необходимость обновлять проекты – низкая.
Нечего добавить!
13 способов запустить веб-приложение в Интернет
#worth_seeing

Сегодня в рекомендациях к просмотру видео с конференции JavaScript fwdays’21, которая проходила в начале лета. Докладчик Андрей Шумада постоянный член программного комитета конференций Fwdays, судья DEV Challenge и регулярный докладчик на JS конференциях.

В своем докладе Андрей делает разбор как задеплоить приложение, причем как SPA, так и Node.js. Доклад идет от домашнего компьютера к Kubernetes. Завершает доклад сравнительная таблица всех разобранных способов.

Слайды доступны на сайте конференции.
Знакомство с Node.js
#worth_seeing

В рамках Яндекс Академии существует youtube канал Фронтенд. Сегодняшнее видео как раз с этого канала. По сути это три лекции склеенные в одно видео – смотрите таймкоды.

Лекции будут полезны начинающим разработчикам. В них Герман Волков сделал толково объясняет как работать с #nodejs.
Какие open source продукты стоит знать Node.js разработчику?
#list

Node.js моложе, чем PHP или Java. Поэтому у нас в экосистеме есть много библиотек, несколько фреймворков и мало open-source продуктов. Продукт это программное обеспечение, которое команда может запустить для бизнеса за один день. Примеры из PHP экосистемы: WordPress, Drupal, Magento.

Вот список open source Node.js продуктов:
Ghost, блогинг
Hexo, блогинг
Strapi, headless cms
NodeBB, форум
AdminBro, админ панель

В завершение несколько мыслей:
– в зависимостях проектов из списка вы может обнаружить moment, express и т.д. Принцип работает не трогай никто не отменял.
– в мире PHP есть легко видима разница в зарплатах у WordPress разработчиков и PHP разработчиков. Аналогично только Strapi/Ghost разработчик будут получать меньше, чем универсальный Node.js разработчик.
– очевидна ниша создать свой open source Node.js проект и зарабатывать на консальтинге, cloud решение и т.д.
Хочу поделиться каналом Хороший разработчик знает. Его ведёт Павел Поляков, разработчик с 15-летним опытом, живущий сейчас в Германии. Пишет посты с уклоном в soft skills и инжиниринг менеджмент.

Примеры постов:
🔗 Про продуктивные конфликты
🔗 Про Рождественский календарь для разработчика
🔗 Все как код

Контент на канале будет интересен для Middle+ уровня, когда инвестиции времени в софт-скилы начинают приносить больше пользы.
Что такое S3 Object Lambda и как ее использовать?
#aws

В марте 2021 AWS представили новый тип Lambdа – S3 Object. Она используется, чтобы обработке и изменения запросов к файлам в S3. Примеры использования:
– ресайзинг картинок
– мутация данных в зависимости от того, кто сделал запрос на S3.
– gzip на лету во время запроса

Еще раз напомню, что не стоит использовать Node.js как прокси для загрузки файла в S3. Для этого существуют signed url.

Ссылки по теме:
Анонс в блоге
Документация
Data Structures Easy to Advanced Course
#worth_seeing

Типичная проблема JS разработчиков – отсутствие фундаментального образования. Сегодняшняя рекомендация призвана помочь с структурами данных. Автор смог уложить в 8 часов, то что в университете растянут на один-два семестра. Примеры кода по традиции приведены на Java. Отмечу, что видео идет в youtube аккаунте freeCodeCamp, ресурса который можно смело рекомендовать для начинающих разработчиков.
👍2
Команда Telegram выкатила обновление:
- нативные реакции (я их включил в чате и на канале)
- спойлеры выглядит вот так
Другие фичи в блоге.

Лично для меня обновление прям новогодний подарок. До этого был выбор или лайки, или комменты.
👍70🔥28🎉23😱15🤩11😁4💩2👎1
Дорогие подписчики от всего сердца поздравляю вас с наступающим новым годом. Спасибо вам, что считай каждый пост в канале сопровождается комментариями. Искрене желаю мира, здоровья и профессиональных успехов!
🎉57🔥33👍203🤩1
​​Road to production
#worth_seeing

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

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

Схожими идеями в рамках VinnytsiaJS 2021 делился Виталий Ратушный
🔥20👍3
​​Application integration patterns for microservices
#worth_seeing #aws #microservices

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

👀видео
📕cлайды
👍11
Что такое 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
👍16