Обновить
128K+

Node.JS *

Среда для запуска JavaScript-приложений

16,35
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

19 неожиданных находок в документации Node.js

Время на прочтение11 мин
Охват и читатели46K
Мне хотелось бы думать, что я вполне прилично знаю Node. Вот уже три года, как ни один из сайтов, над которыми я работал, не обходится без него. Но документацию до сих пор я как следует не читал.

Мне нравится записывать полезные вещи об интерфейсах, свойствах, методах, функциях, типах данных, и обо всём прочем, что относится к веб-разработке. Так я заполняю пробелы в знаниях. Сейчас я занят документацией к Node.js, а до этого проработал материалы по HTML, DOM, по Web API, CSS, SVG и EcmaScript.

image

Чтение документации Node.js открыло мне немало замечательных вещей, о которых я раньше не знал. Ими я хочу поделиться в этом небольшом материале. Начну с самого интересного. Так же я обычно делаю, когда показываю новому знакомому свои гаджеты.
Читать дальше →

Вычисляем контент, который в будущем станет вирусным

Время на прочтение2 мин
Охват и читатели13K
В данной статье будет описан только общий алгоритм на примере Facebook. Однако такой же подход можно использовать повсюду.

Задача


На основе существующего контента (за последние 30 дней) на данной странице Facebook определить какие записи потенциально будут более популярными.
Читать дальше →

Экспорт ключа SignalCom в OpenSSL

Время на прочтение2 мин
Охват и читатели5.1K

У вас стоит задача интегрироваться с удалённым сервисом, который работает по ГОСТу и "только через КРИПТО-КОМ", а вы хотите использовать OpenSSL с gost? На форуме "Сигнал-КОМ" вы видите кучи сообщений, что "ключи из формата КРИПТО-КОМ нельзя конвертировать в формат OpenSSL-гост-совместимых"? На самом деле конвертация возможна.

Читать дальше →

Минимальное окружение для JS-разработки: ava, standard, chokidar-cli и precommit-hook

Время на прочтение4 мин
Охват и читатели18K
Вокруг полно JavaScript-фреймворков, библиотек и разнообразных инструментов. Что выбрать? Глядя на такое разнообразие, разработчику непросто ответить на этот вопрос.

image

По опыту знаю: первый шаг нового проекта, например, создания модуля или средства командной строки, заключается в настройке рабочего окружения. Некоторым этот шаг нравится, некоторые его терпеть не могут, но и у тех и у других предварительная подготовка часто занимает непозволительно много времени. Особенно, когда надо всё тщательно проверить и заставить все механизмы слаженно и стабильно работать вместе.
Читать дальше →

Рецепт разработки бота под Telegram

Время на прочтение12 мин
Охват и читатели29K


Добрый день, уважаемые читатели Хабрахабра!

В этом топике я хочу поделиться с вами опытом разработки бота под Telegram за 4 дня. Этот бот переводит все голосовые сообщения, которые получает, в текст. Пытался сделать быстро, но качественно — подучил пару-тройку технологий. Постараюсь максимально подробно описать свой процесс преодоления ошибок и преград; доказать, что, даже не имея нужных навыков, запустить свой продукт не так-то и сложно.

Статья может быть интересна как новичкам в программировании — увидеть, сколько препятствий стоят на пути у готового продукта, так и более продвинутым специалистам — где-то посмеяться, где-то поплакать, где-то написать комментарий «жизненно».

Преамбула


И так, что же может сделать один программист за 4 дня?
Читать дальше →

Electrode — open source платформа от WalmartLabs для ReactJS/NodeJS приложений

Время на прочтение5 мин
Охват и читатели11K
image

Меньше чем за год Walmart.com завершил миграцию на React/Node.js, и мы рады сообщить вам об этом! Цель миграции заключалась в создании новой платформы для повышения эффективности WalmartLabs и ее инженеров в будущем.

Мы рады сообщить о том, что мы выложили в open source Electrode — платформу, на которой построен Walmart.com.
Читать дальше →

Делаем проект на Node.js с использованием Mongoose, Express, Cluster. Часть 2.1

Время на прочтение7 мин
Охват и читатели20K

Введение


Здраствуйте, дорогие хабровчане! Сегодня у нас в основном будут маленькие изменения, но изменений много. В этой части мы будем:


  • Создавать свой логгер
  • Записывать в лог запросы и время их обработки
  • Исправлять ошибки, которые мы допустили в первой части.
  • Разбираться с авторизациеей
  • Разбираться с некоторыми классами
  • Конфиги!
Читать дальше →

20 полезных Node.js фреймворков

Время на прочтение8 мин
Охват и читатели87K
За последние годы Node.js значительно повысил свой статус от экспериментальной технологии до основы для серьезных проектов. Node.js дает возможность построить достаточно сложные, высоконагруженные приложения на простом, элегантном и, самое главное, легковесном механизме. Но прежде всего Node.js – это совершенно увлекательная и захватывающая вещь, с которой по-настоящему интересно работать!

Читать дальше →

еее JavaScript (запускаем ReactOS в браузере)

Время на прочтение2 мин
Охват и читатели15K
Хотим поделиться с вами нашим новейшим «спортивным» достижением, которое стало возможным благодаря сотрудничеству разработчиков нескольких разных проектов.

Теперь ReactOS можно запустить почти в любом современном веб-обозревателе при помощи браузерной виртуальной машины Virtual x86. Эта необычная среда виртуализации не требует установки, написана на JavaScript и работает как в вашем браузере, так и на NodeJS. Ранее о ней уже писали на Хабре: [1], [2].

image

Настольный пульт управления на JavaScript/Node.js для робота на Ардуине

Время на прочтение9 мин
Охват и читатели17K
Сегодня делаем настольное приложение с графическим интерфейсом для управления роботом на Ардуине через последовательный порт. На языке JavaScript на платформе Electron с виджетами ReactJS+MaterialUI.

image


Теперь пульт управления для своего станочка с ЧПУ сделать не сложнее, чем написать сайтик.

Функциональное тестирование современных web-приложений

Время на прочтение12 мин
Охват и читатели36K


Современные web-приложения зачастую содержат множество "движущихся частей" и сторонних зависимостей. В процессе рефакторинга и добавления/изменения функциональности в таком приложении может произойти поломка существующих use-case сценариев и нестабильная работа в определенных браузерах.


Для своевременного обнаружения таких ситуаций и выполнения непрерывной интеграции необходимо функциональное тестирование web-приложения. В статье пойдет речь о двух бесплатных open-source решениях:


Читать дальше →

Управление роботом на Ардуино из приложения на Node.js

Время на прочтение9 мин
Охват и читатели16K
В прошлый раз мы рассмотрели, как сделать свой мини-терминал с режимом «вопрос-ответ» на роботе с Ардуиной с библиотекой babbler_h. Сегодня посмотрим, как эту же библиотеку использовать для управления роботом из настольного приложения на JavaScript+Node.js.

Чтобы меняться данными с роботом, в клиентской части на JavaScript+Node.js используем специально написанную по такому случаю библиотеку Babbler.js. Для работы с последовательным портом Babbler.js использует стандартную библиотеку node-serialport, но строит поверх нее некоторые дополнительные удобства.
Читать дальше →

GraphQL CMS, вторая версия уже в открытом доступе

Время на прочтение2 мин
Охват и читатели8K

Оригинал статьи на английском.


В своей предыдущей статье я расказывал о первой версии CMS: Автоматически генерируемая CMS использую вашу готовую GraphQL-схему, и если вы ее еще не читали, ты советую с ней то же ознакомиться для общего понимания работы данного модуля.


В данной статье я коротко расскажу о второй версии GraphQL CMS. Вы увидите что нового во второй версии и чего стоит ожидать в будущих версиях.

Читать дальше →

Ближайшие события

Производительность межпроцессного обмена сообщениями в node.js

Время на прочтение3 мин
Охват и читатели11K
Разрабатывая приложение на node.js, столкнулся с необходимостью обмена сообщениями между процессами одной машины. В такой ситуации обычно я применял redis Pub/Sub, бонусом получая возможность масштабирования на несколько серверов. Но сейчас встал вопрос именно о локальном обмене и его производительности.

Я решил исследовать существующие варианты обмена сообщениями. Задача эта достаточно стандартна и известна как IPC (Inter Process Communications). Но что можно сделать на js и на какую производительность при этом рассчитывать?

Проведя серию тестов и получив результаты решил поделиться ими с хабрасообществом. Заинтересованных прошу под кат.
Читать дальше →

Принимаем электронную почту на Node.js

Время на прочтение5 мин
Охват и читатели36K

Электронная почта как и www появилась на заре Интернета, и несмотря на свою архаичность продолжает удерживать позиции одной из главных технологий сети. Тем временем разработчики не слишком-то ее ценят и используют в одностороннем порядке, указывая отправителем noreply. И в первую очередь это связано с трудоемкостью процесса обработки входящей корреспонденции.


Тем временем, хвала комьюнити Node.js, появились пакеты, которые позволяют принимать почту без боли и страданий – это smtp-server и mailparser. Давайте я покажу, как в пару десятков строк кода создать свой почтовый сервер с поддержкой SSL шифрования, фильтрацией спама с помощь spamassassin и прочими радостями.

Читать дальше →

Установка node.js на Raspberry Pi

Время на прочтение2 мин
Охват и читатели26K
Logo Raspberry and Node.js

Привет, Хабр! Статья посвящается веб-разработчикам, которым попала в руки Raspberry Pi первая модель. Когда несколько лет назад я покупал raspeberry это был компьютер за 35 долл, сегодня это приставка для телевизора и домашний сервер IoT устройств.
Читать дальше →

Делаем проект на Node.js с использованием Mongoose, Express, Cluster. Часть 1

Время на прочтение9 мин
Охват и читатели51K

Введение


Добрый день, дорогой %username%! Сегодня мы будем описывать создание каркаса приложение по типу MVC на Node.js с использованием кластеров, Express.js и mongoose.


Задача — поднять сервер который имеет несколько особенностей.


  • Работает в несколько асинхронных потоков.
  • Сессионная информация будет в общей для всех потоков.
  • Поддержка HTTPS.
  • Авторизация.
  • Легко масштабируем.

Статья написана новичком для новичков. Буду рад любым замечаниям!

Читать дальше →

Автоматически генерируемая CMS использую вашу готовую GraphQL-схему

Время на прочтение7 мин
Охват и читатели9.8K
image

вторая версия GraphQL CMS

В моей предыдущей статье "ну Русском. Оригинал" я рассказывал как можно вдвое сократить свой код и время, если вы используете GraphQL вместе с Mongoose.

Сегодня речь также пойдет о технологии GraphQL и если вы работаете с ней то данная статья сможет помочь вам сохранить приличное количество времени на разработку. Оригинал статьи на английском вы можете найту по ссылке.

» Ссылка на сам модуль: graphql-auto-generating-cms.

Как вы уже наверное догадались данный модуль использует вашу готовую GraphQL схему для генерации полнофункциональной CMS. Вам не нужно будет тратить кучу времени на разработку административной панели, и вы сможете больше сосредоточиться на бизнес процессах вашего проекта и на его архитектуре.

Важным достоинством данного модуля является то что он не требует от вас никаких изменений в вашем готовом коде или архитектуре проекта, что делает его интеграцию максимально простым даже на уже готовых проектах.

У вас есть два способа использовать данный модуль.

  1. Первый максимально быстрый и подойдет для нового проекта. От вас требуется только GraphQL схема и следование легкому паттерну по наименованию GraphQL методов и типов.

  2. И второй способ который не требует от вас следованию никаких паттернов, и может быть легко интегрирован в уже готовый проект. Все что от вас нужно предоставить конфигурационный объект вместе с GraphQL схемой.

На данный момент модуль не поддерживает GraphQLList, вложенные объекты и загрузку файлов, их поддержка будет реализована в будущих версиях. На данный момент вы можете легко обойти эти ограничения используя самописные функции и компоненты которыми вы можете дополнить CMS, мы рассмотрим как это сделать в данной статье.

Исходя из всего выше перечисленного давайте разделим текущую статью на несколько пунктов:

  • Общие правила
  • Подготовка к работе
  • Первый способ использования, с паттерном
  • Второй способ использования, с конфигурационным объектом
  • Дополнение CMS своими компонентами и функциями
Читать дальше →

Redux-form. Когда работать с формами просто

Время на прочтение6 мин
Охват и читатели71K
Думаю, большинство знает схему работы библиотеки redux: view → action → middlewares → reducers → state → view

Подробности здесь.

Хочу представить вашему вниманию библиотеку, которая работает по тому же принципу для форм.

image
Читать дальше →

$mol: reactive micromodular ui-framework

Время на прочтение28 мин
Охват и читатели23K

Сколько нужно времени, чтобы просто вывести на экран большой список, используя современные фреймворки?


Список на 2000 строк ReactJS AngularJS Raw HTML SAPUI5 $mol
Появление списка 170 ms 420 ms 260 ms 1200 ms 50 ms
Обновление всех его данных 75 ms 75 ms 260 ms 1200 ms 10 ms

Напишем нехитрое приложение — личный список задач. Какие у него будут характеристики?


ToDoMVC ReactJS AngularJS PolymerJS VanillaJS $mol
Размер ( html + js + css + templates ) * gzip 322 KB 326 KB 56 KB 20 KB 23 KB
Время загрузки 1.4 s 1.5 s 1.0 s 1.7 s 0.7 s
Время создания и удаления 100 задач 1.3 s 1.7 s 1.4 s 1.6 s 0.5s

Небольшая головоломка: перед вами синхронный код, загружающий и обрабатывающий содержимое 4 файлов, но с сервера они грузятся параллельно. Как такое может быть?


Синхронная параллельная загрузка ресурсов


А теперь прошу за мной в кроличью нору, настало время удивительных историй...

Читать дальше →