Статья для node.js программистов, понимающих принципы асинхронно-событийного программирования, но не знающих как это устроено изнутри. Если для вас уже недостаточно стандартной картинки с «зацикленными» кружочками и хочется хотя бы взглянуть, что же у цикла событий под капотом, то вам под кат.

Читать полностью »
Рубрика «node.js» - 105
NODE.JS + Windows: заглянем внутрь
2012-11-18 в 23:12, admin, рубрики: javascript, node.js, метки: javascript, node.jsОписание и валидация древовидных структур данных. JSON-Schema
2012-11-16 в 13:52, admin, рубрики: IT-стандарты, javascript, json, json-schema, node.js, nodejs, валидация, стандарты, метки: javascript, json, json-schema, nodejs, валидация, стандарты 
Многие сервисы и приложения (особенно веб-сервисы) принимают данные в древовидном виде. Например, такую форму имеют данные, поступающие через JSON-PRC, JSON-REST, PHP-GET/POST. Естественно, появляется задача валидировать их структуру. Существует много вариантов решения этой задачи, начиная от нагромождения if-ов в контроллерах и заканчивая классами, реализующими валидацию по разнообразным конфигурациям. Чаще всего для решения этой задачи требуется рекурсивный валидатор, работающий со схемами данных, описанными по определённому стандарту. Одним из таких стандартов является JSON-Schema, рассмотрим его поближе.
Читать полностью »
Используем backbone.js под node.js
2012-11-14 в 4:06, admin, рубрики: backbone.js, mongodb, node.js, метки: backbone.js, mongodb, node.jsПриветствую, уважаемые читатели. Хочу поделиться с вами своим опытом использования backbone.js под node.js. Ранее я активно поработал с backbone.js на клиенте, и эта библиотека оказалась крайне удобной для структурирования кода.
Сервис без работы с какой либо базой данных — не сервис. В моем случае, в качестве СУБД была выбрана mongodb. Я посмотрел существующие решения ORM для mongodb, и мне показалось более удобным пользоваться знакомыми инструментами, тем более они же будут использоваться и на клиенте, поэтому решено было попробовать применить для моделей класс Backbone.Model и заодно проверить, как все это можно кастомизировать под mongodb.
Почему eval, это не всегда плохо
2012-11-13 в 6:08, admin, рубрики: javascript, node.js, оптимизация, урок, метки: javascript, node.js, оптимизация, урок Хочу поделится с вами очень интересным приемом оптимизации в Javascript.

Читать полностью »
Решение проблемы «EMFILE, too many open files»
2012-11-12 в 13:35, admin, рубрики: async, node.js, метки: async, node.js Добрый день.
Складывать в отдельный лог-файл сообщения об ошибках 404 — настолько обычное дело, что, казалось бы, и сложностей с этим быть не может. По крайней мере, так думал я, пока за одну секунду клиент не запросил полторы тысячи отсутствующих файлов.
Node.js-сервер выругался «EMFILE, too many open files» и отключился. Читать полностью »
Web разработка на node.js и express. Глава 2 — тестирование приложения
2012-11-11 в 7:26, admin, рубрики: express, javascript, mocha, node.js, tdd, метки: express, javascript, mocha, node.js, tddНе прошло и полгода как я наконец добрался до написания второй главы учебника. Первую главу я тоже немного переработал с учетом пожеланий читателей, так что можете снова ее просмотреть — Web-разработка на node.js и express. Изучаем node.js на практике
Глава 2. Демонстрационное приложение и первые тесты
В этой главе мы приступим к разработке нашего приложения, которое мы будем использовать в качестве примера на протяжении всего учебника, и начнем с самого простого, а именно со статических страниц. Так же мы познакомимся с тестированием приложений на node.js и с инструментами, которые используются для этого.
Читать полностью »
Lo-Dash
2012-11-07 в 13:01, admin, рубрики: javascript, lodash, node.js, nodejs, performance, underscore, Underscore.js, Блог компании «Alawar Entertainment»Прим. переводчика: underscore.js — одна из самых известных и любимых javascript-библиотек. Но мало кто знает, что есть её более удачный клон. В одном из своих проектов мы без каких-либо проблем перешли на него и теперь решили познакомить с ним других читателей Хабрахабра.
Lo-Dash — это полноценная замена* для Underscore.js. Lo-dash имеет более высокую производительность, т.к. создан авторами сайта jsPerf.com, избавлен от некоторых багов underscore и даёт некоторые новые возможности.
Прекомпиляция клиентских JavaScript шаблонов
2012-11-04 в 12:02, admin, рубрики: javascript, node.js, templates, Веб-разработка, метки: javascript, node.js, templates Я много пишу на JavaScript, и если вам при работе с шаблонами, как и мне, надоело экранировать окончание строк, следить за именами шаблонов и собирать их перед каждым билдом, это решение для вас, jsttojs — утилита для прекомпиляции клиентских шаблонов в JavaScript.
Читать полностью »
Система маршрутизации в Node.js
2012-11-04 в 10:36, admin, рубрики: connect, ejs, express, node.js, маршрутизация, метки: connect, ejs, express, node.js, маршрутизацияПредисловие
Не так давно начал изучать Node.js. В поисках хорошей статьи «how to» наткнулся на много полезных статей, но не про маршрутизацию. Поэтому «погуглив» на различных «забугорных» ресурсах, нашёл интересные способы маршрутизации и построения своей системы ЧПУ, с которыми готов поделится с вами.
Блог на node.js
2012-10-29 в 20:31, admin, рубрики: authentication, autodafe, javascript, mvc, node.js, метки: authentication, autodafe, javascript, mvc, node.jsВышла ноль пятая версия mvc фреймворка Autodafe для node.js. Код стало писать удобнее, кода теперь писать нужно меньше, ещё меньше. Скоро код писать не надо будет совсем, достаточно будет лишь подумать о нём.
Пример действия контроллера, которое совершает два асинхронных запроса к базе данных, компанует вьюшку index.html и отправляет ее клиенту (при этом отлавливая и обрабатывая все ошибки):
Site.prototype.index = function( response, request ){
response.send({
topic : this.models.topic.With( 'author', 'comments.author' ).find_by_pk( request.params.topic_id ),
news : this.models.news.find_all()
});
}
Написаны подробные статьи про тонкости работы с контроллерами, авторизацию пользователей и работу с URL адресами.
И самое главное: переработано и подробно задокументировано демо с блогом. Блог не обладает богатым функционалом, но может служить хорошей отправной точкой для разработки своего приложения.

