oclif.io – Open CLI Framework
#package
Вчера на Voice Chat Алексей озвучил своей виденье, что правильная организация кода должна позволять сделать из web приложения CLI утилиту. Как правило CLI утилиты написаны на Python (например AWS, GCP). Но есть примеры и на #nodejs: heroku, salesforce, twilio. Они все написаны на фреймворке oclif. У него отличная документация, возможность сразу делать упаковку в исполняемый файл под нужную операционку, публикация на S3, поддержка typescript и отличное комьюнити. Однозначный выбор для тех.стэка в проект, которому необходима CLI утилита.
#package
Вчера на Voice Chat Алексей озвучил своей виденье, что правильная организация кода должна позволять сделать из web приложения CLI утилиту. Как правило CLI утилиты написаны на Python (например AWS, GCP). Но есть примеры и на #nodejs: heroku, salesforce, twilio. Они все написаны на фреймворке oclif. У него отличная документация, возможность сразу делать упаковку в исполняемый файл под нужную операционку, публикация на S3, поддержка typescript и отличное комьюнити. Однозначный выбор для тех.стэка в проект, которому необходима CLI утилита.
👍9🔥5💩2
Когда и как использовать
#web_api
Сегодня обсудим Web API
На данный url будет отправлен POST запрос. Его Content-Type будет зависит от аргумента data. По умолчанию это
Чтобы работать с
Тогда на сервере мы сразу получаем JSON, с которым удобно работать.
Используйте данное API для построение своей системы аналитики.
Ссылки:
🔗 MDN
🔗 Can I use
navigator.sendBeacon?#web_api
Сегодня обсудим Web API
navigator.sendBeacon. Beacon API используется для отправки асинхронного и неблокирующего запроса на веб-сервер. Запрос не ожидает ответа. В отличие от XMLHttpRequest или Fetch-based запросов, браузер гарантирует отправку запрос до закрытия страницы или перехода на другую. Поэтому данный API рекомендованный способ для отправки аналитических данных. Его синтаксис:navigator.sendBeacon(url);navigator.sendBeacon(url, data);На данный url будет отправлен POST запрос. Его Content-Type будет зависит от аргумента data. По умолчанию это
'text/plain; charset=UTF-8'. Чтобы #nodejs код мог работать с таким типом контента необходимо включить соотвествующий парсер. В express это app.use(bodyParser.text());. Данные необходимо будет десерилизовать из текста.Чтобы работать с
application/json, клиент должен использовать такой код:const blob = new Blob([JSON.stringify(data)], { type: 'application/json' });navigator.sendBeacon(url, blob);Тогда на сервере мы сразу получаем JSON, с которым удобно работать.
Используйте данное API для построение своей системы аналитики.
Ссылки:
🔗 MDN
🔗 Can I use
👍15🔥11