Когда можно считать, что вышла новая версия Node.js?
#docker #devops
У #Nodejs есть официальный график выхода и поддержки мажорных версий. Так 20 апреля ожидается первый релиз 16 версии Node.js.
Выход минорных и патч версий не имеет графика, а определяется Node.js Release Working Group.
Например, 6 апреля была опубликована версии 14.16.1. Спустя 24 часа Node.js Docker Working Group опубликовали эту версию на Docker Hub.
Еще раз, за выпуск binary и Docker image отвечают разные люди, поэтому задержка составляет сутки и более.
В современных проектах Node.js запускается как Docker контейнер, поэтому именно появление новой версии Docker Image стоит считать выходом новой версии.
#docker #devops
У #Nodejs есть официальный график выхода и поддержки мажорных версий. Так 20 апреля ожидается первый релиз 16 версии Node.js.
Выход минорных и патч версий не имеет графика, а определяется Node.js Release Working Group.
Например, 6 апреля была опубликована версии 14.16.1. Спустя 24 часа Node.js Docker Working Group опубликовали эту версию на Docker Hub.
Еще раз, за выпуск binary и Docker image отвечают разные люди, поэтому задержка составляет сутки и более.
В современных проектах Node.js запускается как Docker контейнер, поэтому именно появление новой версии Docker Image стоит считать выходом новой версии.
Как правильно настроить TypeScript в Node.js проекте?
#typenoscript #best_practice
Как
1. Сделан фреймворком. В моем тех стэке, это
2. Результат команды
3. Копирование из другого проекта.
Каждый из этих вариантов, не учитывает под какой версией #nodejs вы будете запускать ваш проект. В результате этого, вы не можете использовать новые JavaScript конструкции.
TypeScript Wiki рекомендует такие настройки под Node.js v14:
Для сравнения стандартная настройка Nest.js:
После изменения конфигурации у меня заработал
#typenoscript #best_practice
Как
tsconfig.json появился в вашем проекте? Наиболее распространенные варианты:1. Сделан фреймворком. В моем тех стэке, это
npx @nestjs/cli new project-name2. Результат команды
./node_modules/.bin/tsc --init3. Копирование из другого проекта.
Каждый из этих вариантов, не учитывает под какой версией #nodejs вы будете запускать ваш проект. В результате этого, вы не можете использовать новые JavaScript конструкции.
TypeScript Wiki рекомендует такие настройки под Node.js v14:
{ "compilerOptions": { "lib": ["ES2020"], "module": "commonjs", "target": "ES2020" }}Для сравнения стандартная настройка Nest.js:
{ "compilerOptions": { "module": "commonjs", "target": "ES2017" }}После изменения конфигурации у меня заработал
Array.flat, ради которого я изучал этот вопрос. Полный список новых поддерживаемых фич ECMAScript можно посмотреть в исходниках typenoscript@src/lib.Как исправить код в node_modules?
#package
Мир OpenSource не идеален. В используемых вами пакетах могут быть баги. Предположим, что вы нашли дебагером причину бага и она оказалась в node_modules. Вы можете открыть pull request, чтобы его исправить, но, что делать пока выйдет новая версия?
А если речь идет не о баг фиксе, а новой фиче, которая нужна только вам? Конечно, можно сделать fork и опубликовать свой пакет... Но хватит вступления!
Сегодня речь идет о замечательный пакет patch-package. Он решает задачу внести изменения в
Пример из документации:
Изменения из сгенерированного
С поставленной задачей пакет справляется на 5 из 5, имеет хорошую документацию. Кстати, там вы найдете когда все же стоит делать свой fork.
#package
Мир OpenSource не идеален. В используемых вами пакетах могут быть баги. Предположим, что вы нашли дебагером причину бага и она оказалась в node_modules. Вы можете открыть pull request, чтобы его исправить, но, что делать пока выйдет новая версия?
А если речь идет не о баг фиксе, а новой фиче, которая нужна только вам? Конечно, можно сделать fork и опубликовать свой пакет... Но хватит вступления!
Сегодня речь идет о замечательный пакет patch-package. Он решает задачу внести изменения в
node_modules (что очевидно под .gitignore) и сохранить эти изменения в git.Пример из документации:
# fix a bug in one of your dependenciesvim node_modules/some-package/brokenFile.js# run patch-package to create a .patch filenpx patch-package some-package# commit the patch file to share the fix with your teamgit add patches/some-package+3.14.15.patchgit commit -m "fix brokenFile.js in some-package"Изменения из сгенерированного
patch файла будут применяться после каждого npm install за счет такой настройки: "noscripts": {+ "postinstall": "patch-package" }С поставленной задачей пакет справляется на 5 из 5, имеет хорошую документацию. Кстати, там вы найдете когда все же стоит делать свой fork.
👍4🔥2
OpenJS World 2021
#conference #freebies
На выходных на этом канале будут посты про конференции и доклады, заслуживающие внимания. Открывает эту рубрику конференция OpenJS World. Она примечательна тем, что именно на ней был бы самый крутой нетворкинг, будь она оффлайн.
Дело в том, что организатором конференции является OpenJS Foundation, которая входит в Linux Foundation. Она появилась в результате слияния #NodeJS Foundation и JavaScript Foundation. Ее задачей является развитие OpenSource проектов, значимых длякомьюнити компаний платящих членские взносы. Среди этих проектов Webpack, Node.js, jQuery, Electron и пр.
В оффлайн годы конференция призвана собрать контрибьюторов проектов и представителей компаний. Представляете какая собирается тусовка?!
К сожалению, в этом году как и в прошлом она будет только онлайн. Естественно все доклады будут только на английском. Программы на сайте пока нет, есть только keynote докладчики. Учитывая опыт прошлого года, программа будет разнообразной.
Почему стоит пойти на OpenJS World 2021:
1. Онлайн.
2. Бесплатная регистрация.
3. Дата проведения 2 июня 2021, среда. Можно потратить рабочий день, а не выходной.
4. Будут плюшки от партнеров
В завершение, плейлист с прошлого года. Разбирать его весь, я не вижу смысла, но сделаю обзор на пару докладов.
#conference #freebies
На выходных на этом канале будут посты про конференции и доклады, заслуживающие внимания. Открывает эту рубрику конференция OpenJS World. Она примечательна тем, что именно на ней был бы самый крутой нетворкинг, будь она оффлайн.
Дело в том, что организатором конференции является OpenJS Foundation, которая входит в Linux Foundation. Она появилась в результате слияния #NodeJS Foundation и JavaScript Foundation. Ее задачей является развитие OpenSource проектов, значимых для
В оффлайн годы конференция призвана собрать контрибьюторов проектов и представителей компаний. Представляете какая собирается тусовка?!
К сожалению, в этом году как и в прошлом она будет только онлайн. Естественно все доклады будут только на английском. Программы на сайте пока нет, есть только keynote докладчики. Учитывая опыт прошлого года, программа будет разнообразной.
Почему стоит пойти на OpenJS World 2021:
1. Онлайн.
2. Бесплатная регистрация.
3. Дата проведения 2 июня 2021, среда. Можно потратить рабочий день, а не выходной.
4. Будут плюшки от партнеров
В завершение, плейлист с прошлого года. Разбирать его весь, я не вижу смысла, но сделаю обзор на пару докладов.
The Benefits of a “CLI First” Development Strategy - Corey Butler
#worth_seeing
Докладов в плейлист OpenJS World 2020 много, но для #Nodejs разработчиков я бы рекомендовал начать с The Benefits of a “CLI First” Development Strategy.
📕 Slides
💻 Source on GitHub
Почему стоит посмотреть это видео:
1. Наглядно проиллюстрировано написание кода на разных стадиях Software Development Life Cycle.
2. Любой #Nodejs разработчик должен уметь написать CLI инструмент.
3. Интересная идея CLI где угодно, в том числе браузере.
4. Только 20 минут. Последние 10 минут видео, почему-то не обрезали.
Заметки:
1. Под запуском CLI в браузере автор понимает не запуске терминала в браузере аля Cloud Shell, а запуск CLI в Developer Tools во вкладке созданной с помощью Chrome Extension.
2. Странно, что в докладе нет ни слова об ChatOps.
3. Для каких-то веб-приложений строка поиска может выполнять CLI функцию. Например, AWS, GCP.
4. Рассмотренная библиотека использует императивный стиль написания. Лично мне ближе декларативный например clipanion или что-то с декораторами вроде nestjs-command.
#worth_seeing
Докладов в плейлист OpenJS World 2020 много, но для #Nodejs разработчиков я бы рекомендовал начать с The Benefits of a “CLI First” Development Strategy.
📕 Slides
💻 Source on GitHub
Почему стоит посмотреть это видео:
1. Наглядно проиллюстрировано написание кода на разных стадиях Software Development Life Cycle.
2. Любой #Nodejs разработчик должен уметь написать CLI инструмент.
3. Интересная идея CLI где угодно, в том числе браузере.
4. Только 20 минут. Последние 10 минут видео, почему-то не обрезали.
Заметки:
1. Под запуском CLI в браузере автор понимает не запуске терминала в браузере аля Cloud Shell, а запуск CLI в Developer Tools во вкладке созданной с помощью Chrome Extension.
2. Странно, что в докладе нет ни слова об ChatOps.
3. Для каких-то веб-приложений строка поиска может выполнять CLI функцию. Например, AWS, GCP.
4. Рассмотренная библиотека использует императивный стиль написания. Лично мне ближе декларативный например clipanion или что-то с декораторами вроде nestjs-command.
YouTube
The Benefits of a “CLI First” Development Strategy - Corey Butler, Ecor Ventures
Holy WebSocket Revival: Serverless Sockets for Real Time Communication, Paul Chin
#worth_seeing #aws
Еще один доклад с OpenJS World 2020. На этот раз в формате Lightning.
Почему стоит посмотреть это видео:
1. Сам по себе формат Lightning, т.е 5-10 минутное выступление, является одним из самых сложных.
2. Мало кто знает, что можно сделать WebSocket-ы на serverless.
🔥 Демо, откройте два окна, чтобы посмотреть.
💻 Source on GitHub
Напомню, что бесплатная регистрация на OpenJS World 2021 уже открыта.
#worth_seeing #aws
Еще один доклад с OpenJS World 2020. На этот раз в формате Lightning.
Почему стоит посмотреть это видео:
1. Сам по себе формат Lightning, т.е 5-10 минутное выступление, является одним из самых сложных.
2. Мало кто знает, что можно сделать WebSocket-ы на serverless.
🔥 Демо, откройте два окна, чтобы посмотреть.
💻 Source on GitHub
Напомню, что бесплатная регистрация на OpenJS World 2021 уже открыта.
YouTube
Lightning Talk: Holy WebSocket Revival: Serverless Sockets for Real Time Communication, Paul Chin
👍1
Как протестировать webhook локально?
#package #service
Типичная задача #Nodejs разработчика это создание интеграций посредством webhook-ов. Типичный пример – оповещение об успешной оплате. Webhook это endpoint для оповещения вашего приложения о событии в сторонней системе, с которой вы интегрируетесь.
Webhook должен быть доступен в интернете.
Сервис ngrok.com позволяет сделать ваше локальное окружение доступным в интернете. При запуске он пробрасывает тунель между облаком и указанным портом на вашем компьютере. Вы получаете временный субдомен на ngrok.io, по которому будет доступно ваше локальное приложение. Фронтенд разработчик может таким образом провести демо с локального компьютера. Установка ngrok возможно и как CLI утилита (
Кроме поднятия туннеля ngrok предоставляет на 4040 порту Web Inspection Interface. В нем доступны все запросы и ответы, прошедшие тунель. Вместо повторной отправки запросов из интегрируемой системы используйте кнопку Replay. Это многократно ускоряет отладку.
#package #service
Типичная задача #Nodejs разработчика это создание интеграций посредством webhook-ов. Типичный пример – оповещение об успешной оплате. Webhook это endpoint для оповещения вашего приложения о событии в сторонней системе, с которой вы интегрируетесь.
Webhook должен быть доступен в интернете.
Сервис ngrok.com позволяет сделать ваше локальное окружение доступным в интернете. При запуске он пробрасывает тунель между облаком и указанным портом на вашем компьютере. Вы получаете временный субдомен на ngrok.io, по которому будет доступно ваше локальное приложение. Фронтенд разработчик может таким образом провести демо с локального компьютера. Установка ngrok возможно и как CLI утилита (
brew install ngrok для мак), и как npm пакет (npm install ngrok).Кроме поднятия туннеля ngrok предоставляет на 4040 порту Web Inspection Interface. В нем доступны все запросы и ответы, прошедшие тунель. Вместо повторной отправки запросов из интегрируемой системы используйте кнопку Replay. Это многократно ускоряет отладку.
👍1
Как изменить timezone (часовой пояс) в Node.js?
#nodejs_api #best_practise
Timezone или часовой пояс является частой проблемой при отладке бизнес логики завязанной на времени и датах. #Nodejs использует системные настройки времени при выполнение кода. Для этого используется переменная окружения TZ.
Хорошей практикой является явное указание в каком часовом поясе должен работать ваш код. На уровне кода, это делается вот так:
Эта строчка должна идти в стартовом файле.
Под Windows данный код не сработает. Это известная проблема Единственное решение – менять системные установки. Это можно автоматизировать пакетом set-tz, но обратная смена требует ручных действий.
Update: Node.js v16 поддерживает измениние таймзоны через
#nodejs_api #best_practise
Timezone или часовой пояс является частой проблемой при отладке бизнес логики завязанной на времени и датах. #Nodejs использует системные настройки времени при выполнение кода. Для этого используется переменная окружения TZ.
Хорошей практикой является явное указание в каком часовом поясе должен работать ваш код. На уровне кода, это делается вот так:
process.env.TZ = 'UTC'Эта строчка должна идти в стартовом файле.
Под Windows данный код не сработает. Это известная проблема Единственное решение – менять системные установки. Это можно автоматизировать пакетом set-tz, но обратная смена требует ручных действий.
Update: Node.js v16 поддерживает измениние таймзоны через
process.env.TZ и под windowsFwdays экспериментируют с форматами. Они выложили #nodejs дискуссию с осеннего JavaScript fwdays'20 в формате подкаста.
Forwarded from Fwdays
😯 Ситуація: по дорозі на роботу / в метро / в машині / поки готуєте вечерю ви ловите себе на думці, що хотіли б послухати цікаву дискусію і провести час з максимальною користю. Бажання знайти щось цікаве розриває вас зсередини.
Знайомо? Тоді радо пропонуємо вам прослухати наш ПЕРШИЙ подкаст😱
📍 Тема: #1 Discussion on technologies: Node.js
📍 Учасники дискусії:
- Олена Шаровар (Waverley Software)
- Ілля Климов (JavaScript.Ninja)
- Тимур Шемсединов (Metarhia, Kiev Polytechnic Institute)
- Андрій Шумада (WalkMe / Ciklum)
- Нікіта Галкін (Independent Contractor)
Обирайте платформу, на якій вам зручно прослухати подкаст, і переходьте за посиланням 🔻
SoundCloud 👉 bit.ly/3dSXU0Z
Apple Podcasts 👉 apple.co/3deP3HX
Google Podcasts 👉 bit.ly/3fZHt5C
Знайомо? Тоді радо пропонуємо вам прослухати наш ПЕРШИЙ подкаст😱
📍 Тема: #1 Discussion on technologies: Node.js
📍 Учасники дискусії:
- Олена Шаровар (Waverley Software)
- Ілля Климов (JavaScript.Ninja)
- Тимур Шемсединов (Metarhia, Kiev Polytechnic Institute)
- Андрій Шумада (WalkMe / Ciklum)
- Нікіта Галкін (Independent Contractor)
Обирайте платформу, на якій вам зручно прослухати подкаст, і переходьте за посиланням 🔻
SoundCloud 👉 bit.ly/3dSXU0Z
Apple Podcasts 👉 apple.co/3deP3HX
Google Podcasts 👉 bit.ly/3fZHt5C
Сравнение Nest.js и Koa.js с точки зрения бизнеса
#nestjs
Эта заметка развернутый ответ на вопрос: "можешь подсказать основные плюсы nestJS vs koaJS?". Между строк у автора вопроса читается желание продать использование Nest.js на проекте.
Любая продажа происходит через вопросы. Продающие вопросы для PM/PO/заказчика/бизнеса в данном случае:
- На сколько сложная бизнес логика на бэкенде?
- Есть ли время писать документацию?
- Планируется ли расширение команды?
Пример использования вопросов.
Koa.js – это библиотека для написания REST API, в то время как Nest.js – фреймворк. В тривиальных случаях использование фреймворка не оправдано. Поэтому лендинги делают на jQuery, т.е. с использование библиотеки, а не на React/Angular/Vue. На сколько сложная бизнес логика на бэкенде? Можно ли ее считать настолько простой, что не нужен фреймворк, а достаточно библиотеки?
Фреймворк это не только набор библиотек, но и методология/философия разработки. Не используя готовый фреймворк, команда не явно создает свой собственный. Есть ли время писать документацию? Документацию по тому, как используются библиотеки, как ведется разработка? А спецификацию на REST API, которую Nest.js умеет генерировать, а Koa.js – нет?
Без документации onboarding нового разработчика будет дольше. Планируется ли расширение команды? В 2021 общепринятый технический стэк #nodejs проекта базируется на Nest.js с применением TypeScript и TypeORM. Конечно, можно построить (продолжать использовать) фреймворк на базе Koa.js. Каковы риски, что это будет причиной ухода разработчиков? А отказа в принятие оффера хорошим кандидатом?
Обратите внимание, продающие вопросы не об технологиях. Для бизнеса технологии вторичны. Хорошие разработчики выбирают фреймворки и библиотеки под задачи, поэтому вопроса "Кoa.js или Nest.js" быть не может. Необходимо владеть обоими инструментами.
#nestjs
Эта заметка развернутый ответ на вопрос: "можешь подсказать основные плюсы nestJS vs koaJS?". Между строк у автора вопроса читается желание продать использование Nest.js на проекте.
Любая продажа происходит через вопросы. Продающие вопросы для PM/PO/заказчика/бизнеса в данном случае:
- На сколько сложная бизнес логика на бэкенде?
- Есть ли время писать документацию?
- Планируется ли расширение команды?
Пример использования вопросов.
Koa.js – это библиотека для написания REST API, в то время как Nest.js – фреймворк. В тривиальных случаях использование фреймворка не оправдано. Поэтому лендинги делают на jQuery, т.е. с использование библиотеки, а не на React/Angular/Vue. На сколько сложная бизнес логика на бэкенде? Можно ли ее считать настолько простой, что не нужен фреймворк, а достаточно библиотеки?
Фреймворк это не только набор библиотек, но и методология/философия разработки. Не используя готовый фреймворк, команда не явно создает свой собственный. Есть ли время писать документацию? Документацию по тому, как используются библиотеки, как ведется разработка? А спецификацию на REST API, которую Nest.js умеет генерировать, а Koa.js – нет?
Без документации onboarding нового разработчика будет дольше. Планируется ли расширение команды? В 2021 общепринятый технический стэк #nodejs проекта базируется на Nest.js с применением TypeScript и TypeORM. Конечно, можно построить (продолжать использовать) фреймворк на базе Koa.js. Каковы риски, что это будет причиной ухода разработчиков? А отказа в принятие оффера хорошим кандидатом?
Обратите внимание, продающие вопросы не об технологиях. Для бизнеса технологии вторичны. Хорошие разработчики выбирают фреймворки и библиотеки под задачи, поэтому вопроса "Кoa.js или Nest.js" быть не может. Необходимо владеть обоими инструментами.
Как конфигурировать Node.js приложение?
#best_practice #package #devops
TL;DR Конфигурация хранится в переменных окружения без значений по умолчанию. Если какой-либо переменной нет или формат не верный, то приложение не должно запускаться. Требуемые переменные описываются в env.example. Реализация dotenv-safe
Теория
Каждому #nodejs разработчику следует знать 12 факторный манифест . Следование его принципам позволит создавать масштабируемые веб-приложения и комфортно сотрудничать с DevOps инженерами. Третий фактор говорит, что конфигурация должна храниться в настройках окружения (env vars). Рекомендую с этим фактором ознакомиться, там подробно описано почему стоит использовать именной такой подход.
Применение
Значения всех переменных окружения доступны:
- в терминале с помощью команды
- на уровне Node.js кода с помощью объекта
Значения конкретной переменной
- в терминале с помощью
- на уровне Node.js кода с помощью
Установить переменные окружения можно:
– посредством команды export. Например:
– посредством команды source
– В момент запуска процесса как ИМЯ=ЗНАЧЕНИЕ перед самой командой. Пример:
– Изменением значений в
.env
.env.example
Советы по уменьшению количества переменных
– Используйте connection string. Пример:
– Используйте JSON в значениях переменных. Пример:
– Используйте значения через запятую. Пример:
Распространенные ошибки
– Отсутствие приведение типа. Все ключи объекта
– Использование значений по умолчанию. Пример,
– Ошибка в путях к
– Ошибка характерная для FE разработчиков: не понимание разницы между переменными окружения в build-а и run time.
– Ошибка характерная для microservice разработчиков в проектах с Service discovery: различие локального и прод окружений. Необходимо запускать Consul или его аналоги через Docker.
#best_practice #package #devops
TL;DR Конфигурация хранится в переменных окружения без значений по умолчанию. Если какой-либо переменной нет или формат не верный, то приложение не должно запускаться. Требуемые переменные описываются в env.example. Реализация dotenv-safe
Теория
Каждому #nodejs разработчику следует знать 12 факторный манифест . Следование его принципам позволит создавать масштабируемые веб-приложения и комфортно сотрудничать с DevOps инженерами. Третий фактор говорит, что конфигурация должна храниться в настройках окружения (env vars). Рекомендую с этим фактором ознакомиться, там подробно описано почему стоит использовать именной такой подход.
Применение
Значения всех переменных окружения доступны:
- в терминале с помощью команды
env- на уровне Node.js кода с помощью объекта
process.env. Значения конкретной переменной
<NAME> доступно:- в терминале с помощью
$<NAME>- на уровне Node.js кода с помощью
process.env.<NAME>Установить переменные окружения можно:
– посредством команды export. Например:
export NODE_ENV=production . Результат команды не сохраняется между сессиями консоли. Для внесения долгосрочный изменений в окружение команду необходимо прописать в .bashrc или его аналог.– посредством команды source
– В момент запуска процесса как ИМЯ=ЗНАЧЕНИЕ перед самой командой. Пример:
NODE_ENV=production DEBUG=0 node src/index.js Работает как в терминале, так и в npm noscripts.– Изменением значений в
process.env уже во время работы приложения. .env
.env файл с переменными окружения используется для упрощения локальной разработки. На всех других окружениях его использование является плохой практиков. .env никогда не должен храниться в git репозитории. Поддержка есть во всех IDEA. Для консоли есть расширения, например autoenv. На уровне кода общепринятым пакетом является dotenv. Он вычитывает в process.env значения из .env, но не заменяет уже существующие значения..env.example
.env.example описывает все требуемые переменные окружения для работы приложения. Там можно и нужно делать комментарии. Это single source of truth для вашего DevOps инженера. Его необходимо хранить в git. Если приложение, не имеет какого-либо из ожидаемых переменных, то оно не должно стартовать. Fail fast! Этот функционал обеспечивает пакет dotenv-safe, который является оберткой над dotenv.Советы по уменьшению количества переменных
– Используйте connection string. Пример:
DB_URL=postgresql://postgres:password@localhost:5432/database– Используйте JSON в значениях переменных. Пример:
const stripeConfig = JSON.parse(process.env.STRIPE_CONFIG)– Используйте значения через запятую. Пример:
const adminList = process.env.ADMINS.split(',')Распространенные ошибки
– Отсутствие приведение типа. Все ключи объекта
process.env имеют значения типа string. Пример, вопреки ожиданиям при запуск с SOME_FEATURE=false код if process.env.SOME_FEATURE ... будет исполнен.– Использование значений по умолчанию. Пример,
const logLevel = process.env.LOG_LEVEL || 'info'. Это приводит к неявной конфигурации и дорогостоящим ошибкам.– Ошибка в путях к
.env из-за использования относительных, а не абсолютных путей.– Ошибка характерная для FE разработчиков: не понимание разницы между переменными окружения в build-а и run time.
– Ошибка характерная для microservice разработчиков в проектах с Service discovery: различие локального и прод окружений. Необходимо запускать Consul или его аналоги через Docker.
StrapiConf
#conference #freebies
В начале года на #nodejs проекте нужно было прикрутить CMS (систему управления контентом). Я остановился на Strapi. Открытый исходный код на Node.js, активное комьюнити, хорошая документация, koa под капотом: определили мой выбор. А еще стабильный вендор, который в мае 2020 закрыл А раунд в 10 млн долларов инвестиций.
Вот сегодня у нас обзор StrapiConf. Это vendor-конференция. Такие конференции проводятся вендором, чтобы популяризировать использование своих продуктов. Обратите внимание не прорекламировать, а популяризировать, то есть объяснить зачем создано решение и как его использовать. Среди докладчиков как внутренние сотрудники компании, так представители партнеров и комьюнити.
Детали:
1. Онлайн.
2. Дата проведения 22 апреля 2021, в следующий четверг.
3. Бесплатная регистрация. Кстати, такие вещи в канале идут под тегом #freebies.
4. Три потока докладов и один поток воркшопов.
5. Плюшки от парнеров. Часть из них доступна без регистрации. Мне был полезен промкод для Sentry.
Как и во всех vendor-конференциях запись докладов будет доступна в ближайшее время. Поэтому я бы рекомендовал пойти на воркшопы. Они требуют отдельной регистрации.
Если вы не работали со Strapi, то рекомендую Strapi 101 - The Fundamentals. Для продвинутых будет полезен Moving Content Between Multiple Strapi Environments.
#conference #freebies
В начале года на #nodejs проекте нужно было прикрутить CMS (систему управления контентом). Я остановился на Strapi. Открытый исходный код на Node.js, активное комьюнити, хорошая документация, koa под капотом: определили мой выбор. А еще стабильный вендор, который в мае 2020 закрыл А раунд в 10 млн долларов инвестиций.
Вот сегодня у нас обзор StrapiConf. Это vendor-конференция. Такие конференции проводятся вендором, чтобы популяризировать использование своих продуктов. Обратите внимание не прорекламировать, а популяризировать, то есть объяснить зачем создано решение и как его использовать. Среди докладчиков как внутренние сотрудники компании, так представители партнеров и комьюнити.
Детали:
1. Онлайн.
2. Дата проведения 22 апреля 2021, в следующий четверг.
3. Бесплатная регистрация. Кстати, такие вещи в канале идут под тегом #freebies.
4. Три потока докладов и один поток воркшопов.
5. Плюшки от парнеров. Часть из них доступна без регистрации. Мне был полезен промкод для Sentry.
Как и во всех vendor-конференциях запись докладов будет доступна в ближайшее время. Поэтому я бы рекомендовал пойти на воркшопы. Они требуют отдельной регистрации.
Если вы не работали со Strapi, то рекомендую Strapi 101 - The Fundamentals. Для продвинутых будет полезен Moving Content Between Multiple Strapi Environments.
StrapiConf
StrapiConf 2025 - Paris, France
Join us at StrapiConf for a day of community networking and deep dives into the future of Strapi and headless web development and CMS
❤1