Обновить
128K+

Node.JS *

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

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

UHF RFID Reader подключаем к NodeJS

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

Зачем?


UHF Reader позволяет обеспечить контроль за метками на расстоянии до 10 метров, что дает интересные перспективы различного использования. Самый очевидный – это контроль пропуска автотранспорта. Но можно придумать и более экзотичные варианты: контроль за оборудованием в гараже/сарае. Едва ли воришка додумается, что к велосипеду (чемодану с инструментом) приклеен RFID tag и он способен сообщить о своем отбытии за пределы наблюдаемого периметра.
NodeJS + RaspberryPI – гибкий и дешевый сервер обработки данных и управления периферией.

Оборудование


Я взял на тесты CF-RU5109 (CHAFON), поддерживающий соединение по RS232, RS485, Wiegand, TCP.
Читать дальше →

Руководство по Node.js, часть 2: JavaScript, V8, некоторые приёмы разработки

Время на прочтение9 мин
Охват и читатели91K
Публикуя первую часть перевода этого руководства по Node.js, мы решили узнать мнение аудитории о том, стоит ли нам продолжать работу над проектом, и провели небольшой опрос. Как оказалось, нашу инициативу поддержали примерно 94% проголосовавших. Поэтому встречайте вторую часть руководства по Node.js.



Сегодня мы поговорим о том, какими знаниями в области JS нужно обладать для того, чтобы продуктивно разрабатывать приложения для платформы Node.js, обсудим различия браузерного и серверного JavaScript-кода, поговорим о JS-движках и о некоторых приёмах Node.js-разработки.

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

Удобный способ тестирования React-компонентов

Время на прочтение9 мин
Охват и читатели29K
Я написал построитель дополнительных отчетов (custom reporter) для Jest и выложил на GitHub. Мой построитель называется Jest-snapshots-book, он создает HTML-книгу снимков компонентов React-приложения.



В статье речь пойдет о том, что такое Jest, snapshot-тестирование, для чего вообще понадобился дополнительный построитель отчетов и как их писать. В основном все это относится к тестированию React-компонентов, но теоретически можно применять при работе с любыми сериализуемыми данными.
Читать дальше →

Руководство по Node.js, часть 1: общие сведения и начало работы

Время на прочтение10 мин
Охват и читатели415K
Мы начинаем публикацию серии материалов, которые представляют собой поэтапный перевод руководства по Node.js для начинающих. А именно, в данном случае «начинающий» — это тот, кто обладает некоторыми познаниями в области браузерного JavaScript. Он слышал о том, что существует серверная платформа, программы для которой тоже пишут на JS, и хотел бы эту платформу освоить. Возможно, вы найдёте здесь что-то полезное для себя и в том случае, если уже знакомы с Node.js.

Кстати, в прошлом году у нас был похожий по масштабам проект, посвящённый bash-скриптам. Тогда мы, после публикации всех запланированных материалов, собрали их в виде PDF-файла. Так же планируется поступить и в этот раз.



Сегодня мы обсудим особенности Node.js, начнём знакомство с экосистемой этой платформы и напишем серверный «Hello World».

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

Как работает Headless Chrome

Время на прочтение19 мин
Охват и читатели135K
Уже из названия понятно, что headless-браузер — это нечто без головы. В контексте фронтенда — это незаменимый инструмент разработчика, с помощью которого можно тестировать код, проверять качество и соответствие верстке. Виталий Слободин на Frontend Conf решил, что необходимо познакомиться с устройством этого инструмента поближе.

Под катом компоненты и особенности работы Headless Chrome, интересные сценарии использования Headless Chrome. Вторая часть про Puppeteer — удобную Node.js-библиотеку для управления Headless-режимом в Google Chrome и Chromium.


О спикере: Виталий Слободин — бывший разработчик PhantomJS — тот, кто закрыл его и похоронил. Иногда помогает Константину Токареву ( annulen) в «воскрешенной» версии QtWebKit — том самом QtWebKit, где есть поддержка ES6, Flexbox и многие других современных стандартов.

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

Почему человек из мира Java стал горячим сторонником Node.js и JavaScript?

Время на прочтение20 мин
Охват и читатели27K
Дэвид Хэррон, автор материала, перевод которого мы публикуем сегодня, задался следующим вопросом: «Должен ли человек, работавший более 10 лет в Sun Microsystems, в команде Java SE, до последнего вздоха думать лишь о байт-коде Java и создавать экземпляры абстрактных интерфейсов?». Он задавал этот вопрос применительно к себе, и для него платформа Node.js, после Java, оказалась подобна глотку свежего воздуха. Дэвид говорит, что когда он был уволен из Sun в январе 2009 года (прямо перед поглощением этой компании Oracle), он узнал о Node.js. Эта технология его зацепила. Что значит «зацепила»? С 2010-го года он много писал о программировании для Node.js. А именно, написал несколько книг, в том числе — «Node.js Web Development», четвёртое издание которой вышло в этом году. Он подготовил множество небольших материалов о Node.js, опубликованных в интернете. Фактически, он уделил очень много времени и сил, рассказывая о платформе Node.js и о возможностях JavaScript. Почему того, кто раньше занимался исключительно Java, так увлекли Node.js и JavaScript?

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

Веселый стейт менеджмент фреймворк Huex

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

Введение


Меня всегда удивляло, как много действий надо делать для стейт менеджмент фреймворков — сразу описывать схему, писать мутации, комитать их… Почему бы не сделать всё минимально просто?)

Зачем писать код, когда его можно не писать?

(updated)
Представляю вашему вниманию мою получасовую поделку — Huex!

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

Дисклеймер: Huex написан мной всего лишь в развлекательно-образовательных целях и не претендует на место полноценного фреймворка. А может и претендует. А теперь поехали.
Читать дальше →

5 простых шагов к созданию сервера для тестирования android REST-запросов

Время на прочтение4 мин
Охват и читатели10K
Добрый день.

Не так давно возникла необходимость реализации в android приложении общения с API сервера посредством REST-запросов. Реализовать программную часть на android не составило большого труда, в связи с наличием удобной и простой библиотеки Retrofit. Однако, написав пару GET/POST-запросов к существующим открытым API (например, Github и прочие стандартные примеры Retrofit) возникла необходимость начать тестировать логику работы приложения. В данном случае, конечно бы хотелось иметь свой сервер, содержащий свои модели данных и имеющий взаимосвязи между моделями, а также различные уровни доступа к конкретным моделям данных. В данной статье я хотел бы рассказать, как за несколько маленьких шагов создать локальный сервер, добавить необходимые модели, настроить взаимосвязи между ними и обеспечить удаленный доступ к данному серверу.
Читать дальше →

SQLite и NW.js — пошаговая инструкция для создания крепкой дружбы

Время на прочтение4 мин
Охват и читатели9.6K
Привет, Хабр и его обитатели! Захотелось изваять нечто на HTML и JS, чтобы было десктопное и удобное. Что для этого нужно? Правильно. Node.js и NW.js или Electron. Поглядев на слабые попытки холивара NW vs Electron и почитав документацию и того и другого было принято решение для начала пощупать NW.js.

Но вот ведь засада. Выполнение npm i sqlite3 устанавливает только те библиотеки, которые могут исполняться при непосредственном запуске через node. А если попытаться подключить скрипт в html и запустить этот html в NW.js, то ничего у нас не выйдет. Гугл сотоварищи выдает только один рецепт включения sqlite в проект на nw.js, да и тот приходится вытаскивать из кэша. Да и устарел он уже. Посему было потрачено пару дней на изучение проблематики и поиск рабочего решения. Прошу под кат.
Читать дальше →

Actions on Google: пишем простое приложение для Google Ассистента на Dialogflow и Cloud Functions for Firebase

Время на прочтение10 мин
Охват и читатели19K
В конце прошлого месяца состоялся официальный релиз Google Ассистента на русском языке, так что самое время разобраться, как делать свои приложения (экшены) для Ассистента на стандартном технологическом стеке Google. В этой статье мы рассмотрим создание экшена в Actions on Google, разберём процесс извлечения сущностей и интентов из фраз в Dialogflow, узнаем, как писать обработчики извлеченной информации и работать с сетью в Cloud Functions for Firebase.


Рис. 1. Архитектура приложения для Ассистента.
Читать дальше →

Иван Тулуп: асинхронщина в JS под капотом

Время на прочтение24 мин
Охват и читатели59K
А вы знакомы с Иваном Тулупом? Скорее всего да, просто вы еще не знаете, что это за человек, и что о состоянии его сердечно-сосудистой системы нужно очень заботиться.

Об этом и о том, как работает асинхронщина в JS под капотом, как Event Loop работает в браузерах и в Node.js, есть ли какие-то различия и, может быть, похожие вещи рассказал Михаил Башуров (SaitoNakamura) в своем докладе на РИТ++. С удовольствием делимся с вами расшифровкой этого познавательного выступления.



О спикере: Михаил Башуров — fullstack веб-разработчик на JS и .NET из Luxoft. Любит красивый UI, зеленые тесты, транспиляцию, компиляцию, технику compiler allowing и улучшать dev experience.

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

Чем на самом деле является Node.js?

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


Node.js это — среда выполнения JavaScript. Что же это значит, и как работает?
Окружение Node.js включает все, что вам нужно для выполнения программы, написанной на JavaScript.

[в закладки] 23 рекомендации по защите Node.js-приложений

Время на прочтение15 мин
Охват и читатели25K
В наши дни веб-сервисы постоянно подвергаются самым разным атакам. Поэтому безопасность — это то, о чём стоит помнить на всех этапах жизненного цикла проектов. Авторы материала, перевод которого мы сегодня публикуем, поддерживают репозиторий на GitHub, содержащий около 80 рекомендаций по обеспечению безопасности приложений, работающих на платформе Node.js. В этом материале, базой для которого послужило множество публикаций, посвящённых безопасности, собрано более двух десятков рекомендаций, касающихся Node.js, и некоторые советы общего характера. При этом данный материал покрывает топ-10 уязвимостей из списка проекта OWASP.


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

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

Nodejs и IoT: созданы друг для друга

Время на прочтение3 мин
Охват и читатели7.4K
Привет, Хабр! Представляю вашему вниманию перевод статьи "nodejs and IoT: a match made in heaven".

image

Мир становится гиперсвязанным и цифровым. Именно поэтому мы видим все больше умных часов, очков, различной носимой электроники, устройств «умного дома», транспортных средств и т.д. Таким образом, существует огромная область применения Internet of Things (IoT), и продвинутые компании знают об этом.
Читать дальше →

9 платных, условно-бесплатных и бесплатных программ для трекинга кода приложений

Время на прочтение9 мин
Охват и читатели21K
Трекинг кода must-have в среде разработки. Но вот насколько нужен этот же инструмент в продуктиве? Тот, кто лишь кропотливо собирает логи скажет «ну его нафиг, мой ELK меня не подводит» и будет по-своему прав. До поры до времени.


Протрейсить как следует

Браузерный сетевой шутер на Node.js

Время на прочтение17 мин
Охват и читатели25K
Разработка многопользовательских игр сложна по множеству причин: их хостинг может оказаться дорогим, структура — неочевидной, а реализация — трудной. В этом туториале я постараюсь помочь вам преодолеть последний барьер.

Статья предназначена для разработчиков, умеющих создавать игры и знакомых с JavaScript, но никогда раньше не писавших мультиплеерные онлайн-игры. Завершив этот туториал, вы освоите реализацию базовых сетевых компонентов в своей игре и сможете развить её во что-то большее! Вот, что мы будем создавать:


Поиграть в готовую игру можно здесь! При нажатии клавиш W или «вверх» корабль приближается к курсору, при щелчке мыши — стреляет. (Если никого нет онлайн, то чтобы проверить, как работает мультиплеер, откройте два окна браузера на одном компьютере, или одно из них на телефоне, ). Если вы хотите запустить игру локально, то полный исходный код выложен на GitHub.
Читать дальше →

Как организовать собственный репозиторий модулей Node.js с блэкджеком и версионностью

Время на прочтение10 мин
Охват и читатели7.2K
В ISPsystem на текущий момент три front-end команды разрабатывают три крупных проекта: ISPmanager для управления веб-серверами, VMmanager для работы с виртуализацией и BILLmanager для автоматизации бизнеса хостеров. Команды работают одновременно, в режиме сжатых сроков, поэтому без оптимизации не обойтись. Чтобы сэкономить время, мы применяем единые решения и выносим общие компоненты в отдельные проекты. Такие проекты имеют собственные репозитории, которые поддерживают участники всех команд. Об устройстве этих репозиториев, а также работе с ними и будет эта статья.


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

Node.js и серверный рендеринг в Airbnb

Время на прочтение19 мин
Охват и читатели13K
Материал, перевод которого мы публикуем сегодня, посвящён рассказу о том, как в Airbnb оптимизируют серверные части веб-приложений с прицелом на всё более широкое использование технологий серверного рендеринга. В течение нескольких лет компания постепенно переводила весь свой фронтенд на единообразную архитектуру, в соответствии с которой веб-страницы представляют собой иерархические структуры React-компонентов, наполняемые данными из их API. В частности, в ходе этого процесса шёл планомерный отказ от Ruby on Rails. На самом деле, Airbnb планирует переход на новый сервис, основанный исключительно на Node.js, благодаря которому в браузеры пользователей будут попадать полностью готовые страницы, отрендеренные на сервере. Этот сервис будет формировать большую часть HTML-кода для всех продуктов Airbnb. Движок рендеринга, о котором идёт речь, отличается от большинства используемых компанией бэкенд-сервисов в силу того, что он не написан на Ruby или Java. Однако отличается он и от традиционных высоконагруженных Node.js-сервисов, вокруг которых построены ментальные модели и вспомогательные инструменты, используемые в Airbnb.


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

eslint-scope v3.7.2 ворует NPM-токены

Время на прочтение1 мин
Охват и читатели3.8K
Коллеги, просьба обратить внимание, что если вы сегодня обновляли пакеты nodejs, а именно eslint-scope до версии 3.7.2, то вам нужно срочно поменять NPM-токены и проверить последние коммиты в ваши пакеты.

Сводная информация об инцидента по ссылке.

Если коротко, то получив неизвестным образом токены одного из разработчиков eslint-scope была выпущена версия пакета 3.7.2, собирающая токены из файла

npmrc=path.join(process.env.HOME||process.env.USERPROFILE,'.npmrc');

и отправляющая их злоумышленникам.

Версии eslint-scope 3.7.1 и 3.7.3 — безопасны.

Версия 3.7.2 удалена с репозитория NPM, но может еще оставаться в локальных кеширующих репозиториях.
Читать дальше →

Знакомьтесь: «все и сразу», React Boilerplate от Maximilian Stoiber v3.6.0

Время на прочтение5 мин
Охват и читатели13K
Сборка react-boilerplate совсем недавно, 26.06.2018, была обновлена до версии 3.6.0. Этой сборке уже более трех лет, но, заметно выделяясь на фоне множества других (более 18 тыс. Stars GitHub), она практически никак не была замечена на Хабре. В чем же ее особенность? Если кратко — сборка предлагает разработчику «все и сразу»!
Читать дальше →