Как получить бесплатную Node.js сертификацию?
#freebies
На прошлой неделе был на подкаст, где среди прочего мы с Ильей Климовым обсуждали сертификацию для #nodejs разработчиков от Linux Foundation. Их существует две:
- JSNSD – OpenJS Node.js Services Developer
- JSNAD – OpenJS Node.js Application Developer
Как и другие сертификации от LF они стоят по 300$. На них регулярно бывают скидки, поэтому покупать их дороже 150$ не рационально... На этом я остановлюсь, иначе это будет пересказ подкаста.
Linux Foundation регулярно раздает купоны на 100% скидку и называет это Linux Foundation Training Scholarships. Для участия достаточно заполнить форму. В случае если вам повезет, то вы получите два промокода: один на сертификацию, второй на платный курс.
В прошлом году я уже участвовал в этой программе и получил CKAD – Certified Kubernetes Application Developer. Распределение по категориям и стипендиатов 2020 можно посмотреть тут. Надеюсь увидеть вас в списке 2021.
#freebies
На прошлой неделе был на подкаст, где среди прочего мы с Ильей Климовым обсуждали сертификацию для #nodejs разработчиков от Linux Foundation. Их существует две:
- JSNSD – OpenJS Node.js Services Developer
- JSNAD – OpenJS Node.js Application Developer
Как и другие сертификации от LF они стоят по 300$. На них регулярно бывают скидки, поэтому покупать их дороже 150$ не рационально... На этом я остановлюсь, иначе это будет пересказ подкаста.
Linux Foundation регулярно раздает купоны на 100% скидку и называет это Linux Foundation Training Scholarships. Для участия достаточно заполнить форму. В случае если вам повезет, то вы получите два промокода: один на сертификацию, второй на платный курс.
В прошлом году я уже участвовал в этой программе и получил CKAD – Certified Kubernetes Application Developer. Распределение по категориям и стипендиатов 2020 можно посмотреть тут. Надеюсь увидеть вас в списке 2021.
Как в Node.js узнать местоположение пользователя?
#service #gcp
В понедельник мы говорили об определение ip пользователя. По нему можно определить местоположение, т.е. страну, город, координаты. Это данные часто используются для построения бизнес-логики.
Начинающие #nodejs разработчики устанавливают geoip-lite. В результате приложение потребляет на 100мб памяти больше. Под капотом у пакета GeoLite база от MaxMind, которая будет находиться в памяти.
Продвинутые разработчики используют сторонний сервис. Например, db-ip.com или geoip2. К сожалению, такие решения нельзя назвать дешевыми.
Наиболее опытные разработчики оптимизируют затраты, и поэтому решают эту задачу в Google Cloud Platform. Один из таких разработчиков написал статью Free IP-based GeoLocation with Google Cloud Functions. В ней описано как создать функционал аналогичный db-ip.com.
В Google Cloud Platform можно настроить custom headers так, что запрос в Node.js будет иметь заголовки с нужными данными.
Аналогичный функционал дает geoip2 модуль для nginx, но он доступен только в nginx-plus.
#service #gcp
В понедельник мы говорили об определение ip пользователя. По нему можно определить местоположение, т.е. страну, город, координаты. Это данные часто используются для построения бизнес-логики.
Начинающие #nodejs разработчики устанавливают geoip-lite. В результате приложение потребляет на 100мб памяти больше. Под капотом у пакета GeoLite база от MaxMind, которая будет находиться в памяти.
Продвинутые разработчики используют сторонний сервис. Например, db-ip.com или geoip2. К сожалению, такие решения нельзя назвать дешевыми.
Наиболее опытные разработчики оптимизируют затраты, и поэтому решают эту задачу в Google Cloud Platform. Один из таких разработчиков написал статью Free IP-based GeoLocation with Google Cloud Functions. В ней описано как создать функционал аналогичный db-ip.com.
В Google Cloud Platform можно настроить custom headers так, что запрос в Node.js будет иметь заголовки с нужными данными.
Аналогичный функционал дает geoip2 модуль для nginx, но он доступен только в nginx-plus.
Какую версию npm использовать?
#best_practice #npm #tech_stack
Node package manager – npm регулярно показывает
Пример текущей LTS комбинации: Node.js v14.16.1, npm v6.14.12. Этому следуют все:
- установочные бинарники,
- nvm (node version manager) и его аналоги,
- Docker image
Использование различных версий npm ведет к различному поведению приложения, трудноуловимым багам и git конфликтам.
Если вы используете yarn, то такой таблицы нет. Лучшей практикой будет использование версию прошитой в Docker image. Например, для Node.js v14.16.1 это будет yarn v1.22.5
#best_practice #npm #tech_stack
Node package manager – npm регулярно показывает
Update available. Следовать этому оповещению и обновлять npm не стоит. Вместе с версией #nodejs идет конкретная версия npm и именно ее следует использовать. Версии указаны в таблице.Пример текущей LTS комбинации: Node.js v14.16.1, npm v6.14.12. Этому следуют все:
- установочные бинарники,
- nvm (node version manager) и его аналоги,
- Docker image
Использование различных версий npm ведет к различному поведению приложения, трудноуловимым багам и git конфликтам.
Если вы используете yarn, то такой таблицы нет. Лучшей практикой будет использование версию прошитой в Docker image. Например, для Node.js v14.16.1 это будет yarn v1.22.5
Free GitLab Certified Associate
#freebies
За последние 12 месяцев GitLab запустил 6 сертификаций различного уровня. GitLab Certified Associate это начальный уровень. Если у вас в резюме нет ни одного бейджа, то рекомендую начать с этого.
Цена без промокода $650. До 30 Апреля 2021 работает
1. Создать аккаунт на https://gitlab.edcast.com/
2. Добавить GitLab Certified Associate Pathway в корзину
3. При оплате использовать промокод.
Источник.
#freebies
За последние 12 месяцев GitLab запустил 6 сертификаций различного уровня. GitLab Certified Associate это начальный уровень. Если у вас в резюме нет ни одного бейджа, то рекомендую начать с этого.
Цена без промокода $650. До 30 Апреля 2021 работает
E6B8A234458AE3D795. Активация:1. Создать аккаунт на https://gitlab.edcast.com/
2. Добавить GitLab Certified Associate Pathway в корзину
3. При оплате использовать промокод.
Источник.
Как правильно написать package.json в проекте?
#package #best_practices
#Nodejs проект начинается с package.json. Давайте посмотрим как правильно его составить для коммерческого кода.
Хорошая практика использовать scoped package.
SemVer рекомендует начинать именно с 0.1.0
Чтобы случайно не опубликовать.
Поле license описывает тип Open Source лицензии.
Поля
Имя компании обладающей правом на код
Все зависимости не меняются руками. Только в посредством
Организовать порядок в файле помогает sort-package-json. Ставить его нет смысла, поэтому
#package #best_practices
#Nodejs проект начинается с package.json. Давайте посмотрим как правильно его составить для коммерческого кода.
"name": "@<scope>/<name>"Хорошая практика использовать scoped package.
"version": "0.1.0"SemVer рекомендует начинать именно с 0.1.0
"private": true,Чтобы случайно не опубликовать.
"license":""UNLICENSED"Поле license описывает тип Open Source лицензии.
Поля
"denoscription" и "keywords" используют для поиска в публичном npm. Не указываем их."author": "Company Name",Имя компании обладающей правом на код
"noscripts": { использует одинаковое именование. Единого подхода нет. Подробней"dependencies": { содержит те пакеты, которые используются в runtime, для FE – во время сборки."devDependencies": { содержит пакеты, которые необходимы для локальной разработки и CI/CD.Все зависимости не меняются руками. Только в посредством
npm install/uninstall, чтобы изменился package-lock.json.Организовать порядок в файле помогает sort-package-json. Ставить его нет смысла, поэтому
npx sort-package-json.👍1
Кодстайл и насилие, Антон Немцев
#worth_seeing
Разработчик читает в десятки раз больше строчек кода, чем пишет. Поэтому кодстайл так важен. Доклад Антона снят в 2018 год. За это время часть инструментов поменялось, но принципы высказанные в докладе актуальны и сейчас.
📕 Slides
#worth_seeing
Разработчик читает в десятки раз больше строчек кода, чем пишет. Поэтому кодстайл так важен. Доклад Антона снят в 2018 год. За это время часть инструментов поменялось, но принципы высказанные в докладе актуальны и сейчас.
📕 Slides
YouTube
Антон Немцев. «Кодстайл и насилие». Фронтенд-лекция в Группе компаний FIX
Пригласили Антона Немцева — https://silentimp.info/ выступить с темой «Кодстайл и насилие. + Построение проверок в пайплайне и плагины для postcss и eslint»
Конференции, которые нужно знать:
– Google: I/O '21 18-20 мая, Cloud Next'21 12-14 октября
– Microsoft: Build 25-27 мая
– Facebook: F8 Refresh 2 июня
– Apple: WWDC21 7-11 июня
– AWS: re:Invent 29 ноября - 3 декабря
#conference
На них говорят о вещах, которые меняют нашу отрасль.
– Google: I/O '21 18-20 мая, Cloud Next'21 12-14 октября
– Microsoft: Build 25-27 мая
– Facebook: F8 Refresh 2 июня
– Apple: WWDC21 7-11 июня
– AWS: re:Invent 29 ноября - 3 декабря
#conference
На них говорят о вещах, которые меняют нашу отрасль.
6 способов взломать твое JavaScript приложение. Виктор Турский
#worth_seeing #security
В докладе:
- Использование SMS для восстановления пароля
- Загрузка аватарки в файловую систему, а не S3
- Раздача статики средствами #nodejs
- Использование MongoDB
- Server Rendering
- XSS
Во всех примерах, безопасный на первый взгляд код превращается в серьезную проблему в безопасности.
#worth_seeing #security
В докладе:
- Использование SMS для восстановления пароля
- Загрузка аватарки в файловую систему, а не S3
- Раздача статики средствами #nodejs
- Использование MongoDB
- Server Rendering
- XSS
Во всех примерах, безопасный на первый взгляд код превращается в серьезную проблему в безопасности.
YouTube
6 способов взломать твое JavaScript приложение. Виктор Турский. JS Fest 2019 Spring
The talk from JS Fest conference in Kyiv, Ukraine.
Это будет 6 живых демо взлома. Идея не обсудить сухую теория, а увидеть на практике, как не всегда очевидные ошибки являются источником серьезных уязвимостей в твоем JavScript приложении.
Presentation:…
Это будет 6 живых демо взлома. Идея не обсудить сухую теория, а увидеть на практике, как не всегда очевидные ошибки являются источником серьезных уязвимостей в твоем JavScript приложении.
Presentation:…
Cloud Study Jam 29-04-2021
#announcement
Мое основное облако – Google Cloud Platform. Если вы с ним не работали, то я вас приглашаю в этот четверг на Cloud Study Jam. В его ходе вы получите свой первый бейдж на qwiklabs.com.
Так же мы посмотрим как сделать свой определитель адреса по IP, о котором я рассказывал тут.
#announcement
Мое основное облако – Google Cloud Platform. Если вы с ним не работали, то я вас приглашаю в этот четверг на Cloud Study Jam. В его ходе вы получите свой первый бейдж на qwiklabs.com.
Так же мы посмотрим как сделать свой определитель адреса по IP, о котором я рассказывал тут.
Google Docs
Google Cloud Study Jam
Хотите получить базовые навыки работы с Google Cloud? Тогда присоединяйтесь к Google Cloud Study Jam 29 апреля!
В ходе Study Jam мы пройдем GCP Essentials и рассмотри как просто можно создать свой сервиса IP Geolocation API (один из примеров ipapi.co). …
В ходе Study Jam мы пройдем GCP Essentials и рассмотри как просто можно создать свой сервиса IP Geolocation API (один из примеров ipapi.co). …
Node.js Recipes pinned «Cloud Study Jam 29-04-2021 #announcement Мое основное облако – Google Cloud Platform. Если вы с ним не работали, то я вас приглашаю в этот четверг на Cloud Study Jam. В его ходе вы получите свой первый бейдж на qwiklabs.com. Так же мы посмотрим как сделать…»
Как узнать источник соединение в БД?
#best_practice #database
TL;DR Всегда ставьте
Сегодня обсудим малодокументированную фишку баз данных. При создание соединения можно указать
Без ORM:
TypeORM
Sequelize
Теперь вы сможете увидеть
Аналогичные параметр есть у всех клиентов баз данных.
Например, MongoDB использует appName, а Redis – CLIENT SETNAME.
#best_practice #database
TL;DR Всегда ставьте
application_name в конфигурации подключения к БД.Сегодня обсудим малодокументированную фишку баз данных. При создание соединения можно указать
application_name. Это аналог http заголовка User-Agent в мире баз данных. Он виден в списке соединений и slow query log. Приведу примеры кода для PostgreSQL.Без ORM:
import { Client } from 'pg';const client = new Client({ connectionString: process.env.DB_URL, application_name: 'my-app@0.1.0'});TypeORM
import { PostgresConnectionOptions } from 'typeorm/driver/postgres/PostgresConnectionOptions';const dbConfig: PostgresConnectionOptions = { type: 'postgres', url: process.env.DB_URL!, extra: { application_name: 'my-app@0.1.0' }, entities: ...};Sequelize
import { Sequelize } from 'sequelize';const sequelize = new Sequelize(process.env.DB_URL!, { dialect: 'postgres', dialectOptions: { appName: 'my-app@0.1.0' }});Теперь вы сможете увидеть
application_name в pg_stat_activity с помощью запросаSELECT * FROM pg_stat_activity WHERE datname = '<db_name>';Аналогичные параметр есть у всех клиентов баз данных.
Например, MongoDB использует appName, а Redis – CLIENT SETNAME.
Как вывести в браузер сколько времени обрабатывался запрос на сервере?
#package #browser
Сегодня посмотрим, как можно узнать:
- Как быстро браузер получил ответ?
- А сколько запрос обрабатывался на сервере?
Chrome показывает Server-Timing заголовки. Для этого:
1️⃣Открываем исследуемый ресурс и консоль разработчика.
2️⃣Переходим во вкладку Network.
3️⃣Выбираем нужный запрос.
4️⃣Переходим во вкладку Timing.
5️⃣Смотрим результат.
Есть уже готовый пакет server-timing. Меня он сильно выручил в ситуации, когда было не ясно тормозит #nodejs или load-balancer.
#package #browser
Сегодня посмотрим, как можно узнать:
- Как быстро браузер получил ответ?
- А сколько запрос обрабатывался на сервере?
Chrome показывает Server-Timing заголовки. Для этого:
1️⃣Открываем исследуемый ресурс и консоль разработчика.
2️⃣Переходим во вкладку Network.
3️⃣Выбираем нужный запрос.
4️⃣Переходим во вкладку Timing.
5️⃣Смотрим результат.
Есть уже готовый пакет server-timing. Меня он сильно выручил в ситуации, когда было не ясно тормозит #nodejs или load-balancer.
Бесплатная месячная подписка на O'Reilly
#freebies
Спасибо, что читаете мой канал об #nodejs. Я стараюсь сделать рецепты короткими, но полезными. Они такие, чтобы читать их на бегу.
К сожалению, книги так не почитаешь. А читать книги необходимо! Лучшие книги по разработке издает издательство O'Reilly (такие с животными на обложке). У них есть замечательный портал learning.oreilly.com. Помимо книг там есть видео и тренировочные сертификации. Отличный контент, который я люблю читать с планшета.
Одна беда – цена 50$/месяц, 500$/год.
У них есть trial 10 дней, но этого мало, чтобы прочитать книгу. По ссылке https://learning.oreilly.com/get-learning/ можно получить 30 дней. Промокод прикреплен снизу.
Приятного чтения!
#freebies
Спасибо, что читаете мой канал об #nodejs. Я стараюсь сделать рецепты короткими, но полезными. Они такие, чтобы читать их на бегу.
К сожалению, книги так не почитаешь. А читать книги необходимо! Лучшие книги по разработке издает издательство O'Reilly (такие с животными на обложке). У них есть замечательный портал learning.oreilly.com. Помимо книг там есть видео и тренировочные сертификации. Отличный контент, который я люблю читать с планшета.
Одна беда – цена 50$/месяц, 500$/год.
У них есть trial 10 дней, но этого мало, чтобы прочитать книгу. По ссылке https://learning.oreilly.com/get-learning/ можно получить 30 дней. Промокод прикреплен снизу.
Приятного чтения!
Как померять время выполнения команды в терминале?
#cli
TL;DR Используйте hyperfine
Стандартный способ померять время исполнения команды посредством time.
Пример:
Если
Пример:
Для оценки cli команд тоже есть benchmark. Называется hyperfine. Он может сравнивать несколько команд, делать прогрев или подготовку.
Пример:
Его удобно использовать в извечном холиваре #nodejs разработчиков: yarn vs npm. Вот так можно сделать сравнение для вашего проекта:
#cli
TL;DR Используйте hyperfine
Стандартный способ померять время исполнения команды посредством time.
Пример:
time npm run build.Если
time использовать в связке с curl, то можно узнать время выполнения запроса. Для такой задаче лучше подходит ab. Это сокращение от apache benchmark. Это команда отправляет не один запрос на указанный URL, а несколько. На основание результатов считаются статистики: средние, квартили и тп. Поэтому в название и есть benchmark.Пример:
ab -n 10 http://localhost:3000/Для оценки cli команд тоже есть benchmark. Называется hyperfine. Он может сравнивать несколько команд, делать прогрев или подготовку.
Пример:
hyperfine 'npm run build'.Его удобно использовать в извечном холиваре #nodejs разработчиков: yarn vs npm. Вот так можно сделать сравнение для вашего проекта:
hyperfine --prepare 'rm -rf node_modules' 'yarn' 'npm install'Обзор Node.js v16: AbortController
#nodejs_api
16-ой версия #nodejs даст нам нативный
Ждем появления в коде и на собеседованиях abortable-функций. Уже сейчас SDK cloud-провайдеров (AWS, Azure, GCP) использует полифил. Пример кода:
Для полноценного перехода пока не хватает
#nodejs_api
16-ой версия #nodejs даст нам нативный
AbortController. Он создан для отмены выполнение Promise-based функций. Это аналог DOM AbortController, который отменяет fetch запросы.Ждем появления в коде и на собеседованиях abortable-функций. Уже сейчас SDK cloud-провайдеров (AWS, Azure, GCP) использует полифил. Пример кода:
import { AbortController } from "@azure/abort-controller";// create a controller and get its signalconst controller = new AbortController();const abortSignal = controller.signal;// pass the abortSignal into the API you want to cancelawait blobClient.download({ abortSignal })// then sometime later, cancel it!controller.abort();Для полноценного перехода пока не хватает
AbortError. Об это есть issue. Надеюсь ее закроют до выхода 16-й LTS.👍1
Почему разработчикам необходимо знать Cloud сервисы?
#cloud
В одном из #nodejs чатов прилетел вопрос
Вот варианты решения задачи Text-To-Speach:
1️⃣Web Speech API, необходим запущенный браузера.
2️⃣Использовать Node.js только для запуска child_process.
3️⃣Vendor hosted, Использовать стороннего сервиса
4️⃣Cloud Native, т.е. использования сервисов предлагаемых облаком
Когда бизнесу важна скорость выхода на рынок, то Cloud Native безусловный фаворит. Поэтому я бы рекомендовал начать с родного облака:
☁️ AWS предлагает Polly
☁️ GCP предлагает @google-cloud/text-to-speech
☁️ Azure предлагает microsoft-cognitiveservices-speech-sdk
#cloud
В одном из #nodejs чатов прилетел вопрос
"Подскажите, нужна либа которая из текста делает озвучку и сохраняет ее. Куда копать?" (c)Вот варианты решения задачи Text-To-Speach:
1️⃣Web Speech API, необходим запущенный браузера.
2️⃣Использовать Node.js только для запуска child_process.
3️⃣Vendor hosted, Использовать стороннего сервиса
4️⃣Cloud Native, т.е. использования сервисов предлагаемых облаком
Когда бизнесу важна скорость выхода на рынок, то Cloud Native безусловный фаворит. Поэтому я бы рекомендовал начать с родного облака:
☁️ AWS предлагает Polly
☁️ GCP предлагает @google-cloud/text-to-speech
☁️ Azure предлагает microsoft-cognitiveservices-speech-sdk
👍1
Вы заметили в вашем Docker Desktop вкладку Dev Environments? Там пока нет ничего кроме интро видео. Мы узнаем детали 27 мая на DockerCon Live 2021.
➡️ Бесплатная регистрация
#conference #docker #freebies
➡️ Бесплатная регистрация
#conference #docker #freebies
Diagnostic Reports by Christopher Hiller
#worth_seeing #nodejs_api
Сегодня у нас доклад с Node+JS Interactive 2019. С 2020 года эту конференцию заменил OpenJS World (подробней тут). Доклад короткий, всего 20 минут. В нем Кристофер рассказывает зачем нужны Diagnostic Report и как использовать его утилиту report toolkit.
Ссылки из доклада:
➡️ документация
📕 Slides
💻 утилита report toolkit
В завершение, приведу пример как на Diagnostic Report сделать аналог phpinfo():
#worth_seeing #nodejs_api
Сегодня у нас доклад с Node+JS Interactive 2019. С 2020 года эту конференцию заменил OpenJS World (подробней тут). Доклад короткий, всего 20 минут. В нем Кристофер рассказывает зачем нужны Diagnostic Report и как использовать его утилиту report toolkit.
Ссылки из доклада:
➡️ документация
📕 Slides
💻 утилита report toolkit
В завершение, приведу пример как на Diagnostic Report сделать аналог phpinfo():
exports.helloWorld = (req, res) => { res.status(200).send(process.report.getReport());};YouTube
Throw Me a Lifebuoy: Debugging Node.js in Production with Diagnostic Reports - Christopher Hiller
Christopher Hiller, IBM
Diagnostic Reports are a recent addition to Node.js core. This feature enables insight into Node.js processes running in production—without needing to attach a debugger—and the results can be interpreted offline. If you've ever had…
Diagnostic Reports are a recent addition to Node.js core. This feature enables insight into Node.js processes running in production—without needing to attach a debugger—and the results can be interpreted offline. If you've ever had…
Подборка node.recipes за апрель 2021
#monthly_list
Рецепты для #nodejs разработчиков:
➡️ Когда можно считать, что вышла новая версия Node.js?
➡️ Как правильно настроить TypeScript в Node.js проекте?
➡️ Как исправить код в node_modules?
➡️ Как протестировать webhook локально?
➡️ Как изменить timezone (часовой пояс) в Node.js?
➡️ Сравнение Nest.js и Koa.js с точки зрения бизнеса
➡️ Как конфигурировать Node.js приложение?
➡️ Как узнать ip пользователя в Node.js?
➡️ Как в Node.js узнать местоположение пользователя?
➡️ Какую версию npm использовать?
➡️ Как правильно написать package.json в проекте?
➡️ Как узнать источник соединение в БД?
➡️ Как вывести в браузер сколько времени обрабатывался запрос на сервере?
➡️ Как померять время выполнения команды в терминале?
➡️ Обзор Node.js v16: AbortController
➡️ Почему разработчикам необходимо знать Cloud сервисы?
freebies:
🤑 Как получить бесплатную Node.js сертификацию?
🤑 Free GitLab Certified Associate
🤑 Бесплатная месячная подписка на O'Reilly
Доклады, которые стоит посмотреть:
👀 The Benefits of a “CLI First” Development Strategy
👀 Serverless Sockets for Real Time
👀 GraphQL Summit Worldwide
👀 Can we double HTTP client throughput?
👀 Кодстайл и насилие
👀 6 способов взломать твое JavaScript приложение
Конференции, которые стоит посетить:
🎤 OpenJS World 2021
🎤 StrapiConf
🎤 Подборка конференций от Cloud провайдеров
#monthly_list
Рецепты для #nodejs разработчиков:
➡️ Когда можно считать, что вышла новая версия Node.js?
➡️ Как правильно настроить TypeScript в Node.js проекте?
➡️ Как исправить код в node_modules?
➡️ Как протестировать webhook локально?
➡️ Как изменить timezone (часовой пояс) в Node.js?
➡️ Сравнение Nest.js и Koa.js с точки зрения бизнеса
➡️ Как конфигурировать Node.js приложение?
➡️ Как узнать ip пользователя в Node.js?
➡️ Как в Node.js узнать местоположение пользователя?
➡️ Какую версию npm использовать?
➡️ Как правильно написать package.json в проекте?
➡️ Как узнать источник соединение в БД?
➡️ Как вывести в браузер сколько времени обрабатывался запрос на сервере?
➡️ Как померять время выполнения команды в терминале?
➡️ Обзор Node.js v16: AbortController
➡️ Почему разработчикам необходимо знать Cloud сервисы?
freebies:
🤑 Как получить бесплатную Node.js сертификацию?
🤑 Free GitLab Certified Associate
🤑 Бесплатная месячная подписка на O'Reilly
Доклады, которые стоит посмотреть:
👀 The Benefits of a “CLI First” Development Strategy
👀 Serverless Sockets for Real Time
👀 GraphQL Summit Worldwide
👀 Can we double HTTP client throughput?
👀 Кодстайл и насилие
👀 6 способов взломать твое JavaScript приложение
Конференции, которые стоит посетить:
🎤 OpenJS World 2021
🎤 StrapiConf
🎤 Подборка конференций от Cloud провайдеров
Node.js Recipes pinned «Подборка node.recipes за апрель 2021 #monthly_list Рецепты для #nodejs разработчиков: ➡️ Когда можно считать, что вышла новая версия Node.js? ➡️ Как правильно настроить TypeScript в Node.js проекте? ➡️ Как исправить код в node_modules? ➡️ Как протестировать…»
How to Build and Run Node Apps with Docker and Compose
#worth_seeing #docker
Доклад с прошлого DockerCon. Он особенно полезен для начинающих #nodejs разработчиков. Если вы опытный разработчик, то рекомендую посмотреть весь плейлист, откуда взят этот доклад.
#worth_seeing #docker
Доклад с прошлого DockerCon. Он особенно полезен для начинающих #nodejs разработчиков. Если вы опытный разработчик, то рекомендую посмотреть весь плейлист, откуда взят этот доклад.
YouTube
How to Build and Run Node Apps with Docker and Compose
--
Containers are an essential part of today's microservice ecosystem, as they allow developers and operators to maintain standards of reliability and reproducibility in fast-paced deployment scenarios. And while there are best practices that extend across…
Containers are an essential part of today's microservice ecosystem, as they allow developers and operators to maintain standards of reliability and reproducibility in fast-paced deployment scenarios. And while there are best practices that extend across…