10 октября мы провели JavaScript Meetup SuperJob. Рассказываем, что обсуждали участники, делимся видео и презентациями.
Рубрика «node.js» - 12
JavaScript Meetup SuperJob: видеоотчёт
2019-11-02 в 14:05, admin, рубрики: javascript, meetup, node.js, React, ReactJS, SuperJob, Блог компании Superjob.ru, Клиентская оптимизацияСоздание REST API с Node.js и базой данных Oracle
2019-10-26 в 16:26, admin, рубрики: api, node.js, oracle, rest apiПривет! представляю вашему вниманию перевод статьи «Creating a REST API: Web Server Basics».
Часть 1. Создание REST API: основы веб-сервера
Веб-сервер является одним из наиболее важных компонентов REST API. В этом посте вы начнете свой проект API REST, создав несколько начальных каталогов и файлов. Затем вы создадите модуль веб-сервера и подключите его так, чтобы веб-сервер запускался и правильно выключался.
Код в этом проекте будет организован с использованием общей структуры каталогов, которая может быть скорректирована и с течением времени построена по мере необходимости.
cd ~
mkdir hr_app
cd hr_app/
touch index.js
mkdir config
touch config/web-server.js
mkdir controllers
mkdir db_apis
mkdir services
touch services/web-server.js
Файл index.js можно рассматривать как «основной» файл в приложении. Он будет точкой входа в приложение. Мы будем добавлять код в этот файл и файлы web-server.js в каталогах config и services.
Вставьте следующий код в файл Home > hr_app > config>web-server.js
module.exports = {
port: process.env.HTTP_PORT || 3000
};
В Node.js объект процесса имеет свойство env, которое содержит пользовательскую среду. Я использую это, чтобы установить значение порта в значение переменной среды HTTP_PORT. Если эта переменная среды не определена, значением по умолчанию будет 3000.
Читать полностью »
[в закладки] PDF- и ePUB-версия руководства по React
2019-10-14 в 9:30, admin, рубрики: bash, javascript, node.js, React, ReactJS, ruvds, Блог компании RUVDS.com, Профессиональная литература, Разработка веб-сайтовПривет! В этом году мы делали перевод огрооомного обучающего курса по React — в нашем блоге он был аж в 27 постах. В каждой части, от простого к сложному, выдавался концентрат знаний, которые тепло оценили читатели нашего блога. А сегодня мы поймали себя на мысли, что не выпустили все части одним большим куском — исправляемся!
Для новых читателей нашего блога — два бонуса внутри.
Читать полностью »
Full-stack TypeScript Apps
2019-10-13 в 21:15, admin, рубрики: nest.js, node.js, TypeScript, Разработка веб-сайтовПривет! Представляю вашему вниманию перевод статьи "Full-Stack TypeScript Apps — Part 1: Developing Backend APIs with Nest.js" автора Ana Ribeiro.
Часть 1: Разработка серверного API с помощью Nest.JS
TL;DR: это серия статей о том, как создать веб-приложение TypeScript с использованием Angular и Nest.JS. В первой части мы напишем простой серверный API с помощью Nest.JS. Вторая часть этой серии посвящена интерфейсному приложению с использованием Angular. Вы можете найти окончательный код, разработанный в этой статье в этом репозитории GitHub
Что такое Nest.Js and Why Use It with Angular?
Nest.js это фреймворк для создания серверных веб-приложений Node.js.
Отличительной особенностью является то, что он решает проблему, которую не решает ни один другой фреймоворк: структура проекта node.js.Читать полностью »
Алиса в стране Битрикс
2019-10-13 в 21:11, admin, рубрики: bitrix24, CRM-системы, node.js, алиса, Битрикс24, боты, голосовые интерфейсы, Программирование, яндекс, Яндекс APIПриветствую вас (лично вас, а не всех кто это читает)! Сегодня мы:
- Создадим приложение (навык) Алисы с использованием нового (октябрь 2019) сервиса Yandex Cloud Functions.
- Настроим наше приложение так, чтобы оно отправляло заказы клиентов (т.н. лиды) в CRM Битрикс24.
Наш проект будет использовать Node.js (версия 10.x.x) — он должен быть установлен на вашей локальной машине вместе с npm (по умолчанию npm устанавливается вместе с установкой Node.js, поэтому, скорее всего, отдельно устанавливать его не придётся).
Согласно первому пункту нашего списка мы научимся работать с Cloud Functions, и это имеет смысл: a) ответы из нашего приложения будут приходить Алисе быстрее (она живёт где-то по соседству, возможно даже за стенкой); b) поможет немного (а может быть и много при большой клиентуре) сэкономить: официально объявлено, что при использовании для навыков Алисы, вызовы кода в Cloud Functions не тарифицируются (правда, там есть небольшой подводный камень — о нём я расскажу немного позже).
Второй пункт — это про один из немногих способов заработка денежных знаков с Алисой. На базе полученных сегодня знаний можно будет: a) делать приложения на заказ для клиентов-бизнесменов; b) самостоятельно открыть собственный бизнес (в этом случае вы будете в числе пионеров и поэтому сказочно разбогатеете).
Но если вы ещё не делали навыков для Алисы, или имеете мало опыта — отсылаю вас к первой моей статье из этой серии: Алиса приобретает навык — с её помощью вы создадите простое приложение, которое цитирует умных людей, а также имеет кнопку для сбора пожертвований на стимулирование собственных мыслей.
Читать полностью »
Serverless Telegram бот в Яндекс.облаке, или 4.6 копейки за 1000 сообщений
2019-10-04 в 17:22, admin, рубрики: node.js, nodejs, serverless, telegram api, telegram bots, облачные сервисы, яндекс, Яндекс API
"Whenever you receive a webhook update, you have two options"
Из Telegram Bot Api Faq
Привет!
Долгое время концепция serverless (а если говорить точнее — её реализация в виде сервиса AWS Lambda) была для меня относительно понятной, но очень абстрактной идеей. Она часто звучала в Radio-T, обсуждениях на реддите, но никак не входила в мою жизнь. Рабочие проекты живут не в облаке, а домашние — зачем? Виртуалки дешевеют, Docker освоен, и всё отлично работает.
Но презентация Yandex Cloud Functions, и в особенности озвученные цены на этот сервис, дали новую пищу для размышлений.
TL;DR — дождливым пятничным вечером мы напишем простенького Telegram бота на javascript, который сможет отвечать на запросы простыми сообщениями. Если это ваш домашний проект — его использование почти наверняка обойдётся вам значительно дешевле самых бюджетных VPS.
Поехали.
Обрабатываем заказы из интернет магазина с помощью RabbitMQ и TypeScript
2019-10-03 в 14:13, admin, рубрики: e-commerce, node.js, RabbitMQ, TypeScript, разработкаВсем привет! Популярность интернет коммерции постоянно растет, как и доля информатизации всех смежных с торговлей видов деятельности. Вместе с этим растет и сложность обработки информации. Каждый заказ, сделанный клиентом интернет магазина, порождает за собой большое количество интеграций с различными сервисами. Такими сервисами могут быть сервисы обработки платежей, доставки, системы учета и лояльности. Каждый заказ должен быть оплачен, учтен, собран и доставлен, а также доступен для последующего анализа. Эту, и так не простую ситуацию, усложняет и тот факт, что пользователь интернет магазина не хочет долго и мучительно чего-то ждать при оформлении заказа. Отклик от интернет магазина должен быть быстрым, ведь каждая миллисекунда задержки увеличивает шанс потери клиента, а в последствии и прибыли. В этой статье я хочу рассказать про брокер сообщений RabbitMQ и как с его помощью можно организовать процесс обработки заказов используя Node.js и TypeScript. Добро пожаловать под кат.
Лёгкое программирование: канбан-доска для GitLab за один рабочий день
2019-10-01 в 8:02, admin, рубрики: express.js, gitlab, javascript, node.js, typeorm, TypeScript, vue.js, vuejs, Блог компании ГК ЛАНИТ, Программирование, управление разработкойРабочий понедельник начался со следующего диалога:
Руководитель (P): У тебя в команде не понятно, кто чем занимается.
Я (Я): Это да, у нас нет инструмента, который бы отображал общую картину работы над задачами. В гитлабе есть канбан-доски, но они только в контексте проектов и групп. Общая канбан-доска решила бы проблему.
Р: Тогда сделай доску.
Я: К утру будет готово.
В жизни начинающего тимлида рано или поздно настаёт момент, когда он понимает, что его команде нужна канбан-доска. Она снимает беспокойство по поводу контроля процесса разработки и даёт уверенность в завтрашнем дне. Обычно эта проблема решается нижайшей просьбой к завхозу купить магнитную доску, набор разноцветных стикеров и пару-тройку маркеров для доски. Ну или использованием сервисов вроде Jira. Но в нашей команде один разработчик на удалёнке, а гитлаб в закрытом контуре (недоступен из интернетов по соображениям информационной безопасности), поэтому выбирать пришлось наиболее простое из двух возможных решений:
а) создание механической руки и контроллера к ней, который позволит удалённо переклеивать стикеры на доске, при этом, чтобы не усложнять решение, писать на стикерах нам придётся за нашего недосягаемого коллегу, что несправедливо;
б) реализация программной канбан-доски, которая собирала бы все задачи с нашего гитлаба.
Конечно, душа лежала к ламповой физической доске. Я даже начал размышлять об использовании DualShock 4 в качестве контроллера механической руки, но я сам себе обозначил дедлайн утром следующего дня, поэтому пришлось обойтись бездушным программным решением.

Инструменты Node.js разработчика. Работа с веб-сокетами по протоколу mqtt
2019-09-28 в 23:30, admin, рубрики: javascript, mqtt, node.js, nodejs, WebSocketРабота с веб-сокетми позволяет в веб-приложении или в мобильном приложении организовывать отправку сообщений с сервера на клиент, что невозможно сделать средствами REST-API. Для работы с веб-сокетами часто используется библиотека socket.io, или же разработчики работают с нативными объектами веб-сокет браузеров. В этом сообщении я попытаюсь показать, что оба пути не решают всех проблем, и гораздо лучше использовать для работы с веб-сокетами специализированные серверы, например mqtt-сервер (раньше его назвали mqtt-брокер).
Справедливости ради, и чтобы избежать ненужных споров, сразу замечу, что кроме mqtt-сервера может быть использован еще целый ряд серверов, например rabbitmq.
Читать полностью »
Ssh-chat, часть 2
2019-09-15 в 17:12, admin, рубрики: command line, javascript, node.js, nodejs, ssh, ssh chat, системное администрированиеПривет. Это 2 статья из цикла ssh-chat.
Что мы сделаем:
- Добавим возможность создания своих функций оформления
- Добавим поддержку markdown
- Добавим поддержку ботов
- Увеличим безопасность паролей(хеш и соль)Читать полностью »