Рубрика «node.js» - 80

Любой проект посложнее «Hello World» состоит из некоторого количества файлов, по которым разносят код. Это дает возможность структурировать проект, вынести независимые части, которые можно будет использовать в других проектах и вообще сделать код нагляднее.

Так вот, в Node.js каждый такой файл и представляет собой модуль, который можно подключить.
Подключение происходит с помощью вызова функции require, которой нужно передать путь к файлу.

    var authModule = require('./auth');

Данный код подключает модуль авторизации и делает его доступным через переменную authModule.

В зависимости от того, какой параметр передан в функцию require, будет отличатся алгоритм подключения модуля. Так что давайте посмотрим на принципы подключения модулей в Node.js. Отмечу, что вся эта информация доступна в документации.

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

    var http = require('http');
    var cluster = reqiure('cluster');

Нужно отметить, что встроенные модули имеют приоритет над всеми остальными, если в функцию require передано их название. Так к примеру, require('http') всегда вернет встроенный модуль, даже если будет сторонний модуль с таким названием или файл с таким именем. Список всех встроенных модулей и документацию по ним можно найти на сайте. Исходники этих модулей можно посмотреть в репозитории проекта.
Читать полностью »

Ознакомившись с обзором движков для распознавания речи, заметил там API от Яндекса. И на выходных написал небольшую обертку для Node.js для распознавания речи с целью поиска мата в своих телефонных разговорах. По мотивам топика на Хабре.

Список нецензурных слов выкладывать не буду, а сам npm устанавливается командой.

npm install yandex-speech

Исходники и примеры использования:
github: www.github.com/antirek/yandex-speech

Немного деталей:
Читать полностью »

Я начал работать с Meteor.js примерно полтора года назад, когда он был еще совсем сырым и нестабильным. Я сделал пару маленьких проектов, которые живы до сих пор, написал статью на Хабру и даже получил дикие проблемы в продакшене с забиванием CPU на 100% при том, что сервер почти ничего не делал. Но прошло время, и я решил поставить еще один эксперимент и разработать с использованием этого фреймворка проект средней сложности. Разработка затянулась, и в процессе я сформулировал свои правила того, как структурировать приложение, как решать проблемы с безопасностью, как деплоить и какие инструменты использовать на серверах. Об этом и расскажу.Читать полностью »

В течение последних трех лет можно было заметить всплеск популярности JavaScript. На протяжении многих лет, были многочисленные попытки принятие этого популярного языка на сервере. Наиболее удачный попыткой является платформа Node.js, которая была представлена как быстрый способ написания серверных приложений.

В результате люди начали использовать back end разработку с помощью Node. Одна из самых важных вещей back end системы эффективное взаимодействие с базой данных. Для этого используется ORM( объектно-реляционного отображение). ORM упрощает разработку, позволяет программисту взаимодействовать с базой данных используя объекты. В этой статье мы рассмотрим ORM библиотеку для Node.js — Bookshelf.js.
Читать полностью »

EtherCalc — отличный инструмент для редактирования электронных таблиц в вебе, в том числе для совместной работы.

EtherCalc: электронные таблицы на Node.js

Просто перетяните готовый документ CSV или Excel XML (.xlsx) на страницу — и она сразу импортируется в EtherCalc. Или можно создать новый документ одним нажатием кнопки.

EtherCalc кажется более удобным и функциональным, чем «Google Таблицы» и другие подобные программы. В комментариях репозитории на Github автор объясняетЧитать полностью »

Node.js + HTML5 + js = online action game

Давно задавался вопросом, а почему же написание онлайн игр на node.js является таким редким явлением, особенно на хабре?
Ведь какие дифирамбы пели ноде при ее появлении, и сколько пророчили хорошего (или нехорошего) сей платформе, а новых продуктов что-то не сильно прибавляется.

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

Как устроен Grunt: смотрим исходники

Grunt.js уже давно обрел популярность как автоматизатор (еще). Признан лучшим проектом с открытым кодом в области веб-технологий за 2014 год. Он прост в применении, эффективен в работе, используется во множестве проектов. Не будем рассказывать о том, что с помощью него можно делать, подразумевается что в этом нет надобности. Лучше попробуем посмотреть что там внутри.
Читать полностью »

22 июля случилось небольшое, но знаментаельное событие: был принят пулл-реквест, что добавлял поддержку передачи произвольных аргументов в ваши npm script'ы. Уже появился альфа-релиз npm весрии 2.0.0, что включает эту возможность.
Читать полностью »

Если кто не знаком с предметной областью, то NPM — node package manager (аналог bundler/composer/easy_install/nuget) – средство для управления зависимостями в вашем Node.js проекте, что по совместительсву может выполнять некоторое количество полезных функций. Написан Айзеком Шлютером, что его достаточно радикальным образом продвигал в начале своей истории (рассылая всем существующим Node.js проектам пулл-реквесты с добавлением package.json — манифестом зависимостей).

Все нижеприведенные вещи известны многим, но для некоторых это может стать приятным открытием, что сэкономит некоторое количество набираемых в символов.
Читать полностью »

Перевод статьи «Building robust web apps with React: Part 4, server-side rendering», Matt Hinchliffe

От переводчика: это перевод четвертой части цикла статей «Building robust web apps with React»
Переводы:

Несколько месяцев назад я написал первую часть этой серии, я очень заинтересовался возможностями использования React'а для создания разумных приложений, которые могут избежать слабостей, существующих во многих современных JavaScript приложениях. Наконец, я собираюсь сделать так, чтобы мое приложение запускалось сначала на сервере, а потом запускало тот же код в браузере, завершая цикл изоморфного или адаптивно-гибридного приложения.

В предыдущей части этой серии я блуждал в поисках стратегии тестирования, и эта часть не сильно отличается. И хотя здесь есть примеры и базовые демо изоморфного JavaScript, здесь не так много опенсорс реализаций для изучения. В сторону детали реализации, для меня, самое большое отличие, от написания клиентского JavaScript, это то, что e меня изначально есть данные.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js