Доброго времени суток, читатели! В этом цикле статей я хочу описать опыт создания генератора для scaffolding системы Yeoman. Прежде всего, я был немного удивлён тем, что данная система и работа с ней не были описаны на хабре, разве что одно маленькое упоминание из далекого 2012 года: Yeoman.io. Как я уже написал выше, в данном цикле статей я буду рассматривать поэтапное создание yeoman-генератора для ваших проектов.
Читать полностью »
Рубрика «nodejs» - 21
Пишем генератор для Yeoman.io. Часть первая
2014-03-03 в 18:19, admin, рубрики: javascript, node.js, nodejs, npm, yeoman, метки: javascript, nodejs, npm, yeomanПишем парсер на NodeJS
2014-01-24 в 8:20, admin, рубрики: javascript, node.js, nodejs, parser, метки: javascript, nodejs, parser Раньше основной библиотекой для парсинга был JSDOM, который страдал излишней тяжеловесностью и на самом деле тормозил скорее процесс парсинга. Но время изменились и пришел cheerio. Он делает почти все то же самое, и отбрасывает лишние из процесса, при этом сам реализует какую-то часть jQuery(а именно ту, которая нам нужна для парсинга). И за счет этого позволяет наконец написать не тормозящий парсер, при этом не используя regexp'ы ради увеличения производительности. Он справляется и с xml, только нужно вызвать его с {xmlMode: true}. О том как можно легко парсить на nodeJS под катом.
Читать полностью »
GulpJS — фантастически быстрый сборщик проектов
2014-01-13 в 9:42, admin, рубрики: grunt, gulp, javascript, node.js, nodejs, Веб-разработка, метки: grunt, gulp, javascript, nodejsGulp.js это потоковый сборщик проектов на JS. Он использует Stream и действительно является очень быстрым. Для примера у меня есть проект где около тысячи stylus файлов, GruntJS нужно примерно 2.5 секунды на сборку и 2 секунды на обработку autoprefixer'ом. Gulp все это делает за 0.5 секунды выигрывая у GruntJS минимум в 4 раза.
Вас может отпугнуть молодость проекта, отсутствие плагинов и небольшое сообщество. Но это не так, на данный момент ведется активная разработка проекта, написано достаточное количество плагинов под задачи для популярных инструментов. На данный момент существует 165 плагинов, посмотреть их вы можете тут.
В этой статье будет больше практики, мы соберем среду разработки фронтенда используя Jade и Stylus, запустим локальный сервер и подключим Livereload. Проект я выложил на Github, экспериментируйте.
Несколько полезностей по работе с NPM
2013-12-19 в 16:00, admin, рубрики: javascript, node.js, nodejs, npm, tips, Веб-разработка, метки: nodejs, npm, tips
Установка пакетов
Все знают
# Устанавливает пакет express
npm install express
Какие варианты еще есть?
NodeSchool — интерактивные уроки по Node.Js
2013-12-19 в 10:33, admin, рубрики: javascript, node.js, nodejs, метки: node.js, nodejs
Все мы знаем теоретический курс по node.js, недавно выпущенный Ильей Кантором. Отличный материал, свежий, полный и к тому же на русском. Но он теоретический, а нам-то хочется все потрогать, попробовать самим, получая реальный опыт. В этом нам поможет, недавно стартовавший, бесплатный проект NodeSchool.
Читать полностью »
Как масштабировать Meteor
2013-12-17 в 14:30, admin, рубрики: javascript, Meteorjs, node.js, nodejs, Веб-разработка, масштабированиеОт переводчика: MeteorJS — открытый (MIT) фулстек JavaScript фреймворк (и клиент и сервер). Текущая версия 0.6.6.3 — в начале 2014 планируется выход версии 1.0. Публикации на хабре: 1, 2, 3.
Подготовка к масштабированию
Диаграмма компонентов:
Здесь три сервера Метеор, один MongoDb-сервер и HaProxy-сервер, как балансировщик нагрузки. Для поддержки SSL поставим Stud перед HaProxy.
Давайте обсудим компоненты и их настройку.
Читать полностью »
ShareJS или как сделать свой Google Wave c OT и NodeJS
2013-12-17 в 8:02, admin, рубрики: derby.js, Derbyjs, node.js, nodejs, Веб-разработка, метки: derbyjs, nodejs
После двух лет работы над OT (техника разрешения конфликтов при совместном доступе к данным) для Google Wave, Джозефу(Joseph Gentle) пришла в голову идея, что для тех, кто захочет сделать аналогичный продукт, потребуется ни чуть не меньше времени. Чтобы как-то помочь этим людям и поделиться знаниями была написана библиотека ShareJS, представляющая собой реализацию OT на основе NodeJS. Также есть C-реализация.
Feathers.js — реактивный JavaScript-фреймворк поверх Express
2013-12-15 в 8:21, admin, рубрики: expressjs, javascript, node.js, nodejs, reactive, фреймворк, метки: expressjs, nodejs, reactive, фреймворк
Feathers.js — реактивный JavaScript фреймворк вдохновленный Sails, Flatiron и Derby. Приложение на feathers.js напоминает обычное expressjs приложение, только вместо
var app = require('express')();
нужно будет написать
var app = require('feathers')();
Для коллекций создается полноценное RESTful API, синхронизация ведется через события SocketIO.
Читать полностью »
PhpStorm. Лайфхак: keep-alive automatic upload на коленке
2013-11-19 в 11:47, admin, рубрики: automatic, IDE, keep-alive, node.js, nodejs, phpstorm, upload, Блог компании Rangg, Веб-разработка, метки: automatic, IDE, keep-alive, nodejs, phpstorm, uploadМногие сталкивались с проблемой Automatic Upload в PhpStorm (сюда можно вписать другую IDE с подобной проблемой) при работе на удаленном сервере. Называть ее «проблемой» тоже можно с натяжкой, но тема жива: PhpStorm при заливке измененных файлов каждый раз поднимает новое подключение, что занимает достаточно ощутимое время (у меня уж точно: хостинг-провайдер Hetzner), поэтому приходится ждать несколько секунд прежде чем изменения зальются.
Под катом я расскажу как на коленке набросал скрипт keep-alive подключения с Automatic Upload проекта.
Автоматизация перезагрузки роутера CISCO RVS4000
2013-11-01 в 10:59, admin, рубрики: cron, node.js, nodejs, системное администрирование, метки: cron, nodejs, роутер Так уж случилось, что домашний роутер после двух лет безглючной работы начал время от времени подвисать. Проявлялось это в подвисании WAN порта и отсутствии интернета у всей подсети, LAN работает нормально. Решение оказалось не таким простым, как может показаться сначала.
Читать полностью »