Начал изучать NodeJS. Нигде не нашел актуальный стек библиотек (технологий) применяемых в node. Поэтому решил сам составить список.
Читать полностью »
Рубрика «node.js» - 102
Полный набор пакетов для разработки с помощью NodeJS
2013-01-07 в 20:36, admin, рубрики: javascript, Node, node.js, npm, метки: javascript, Node, node.js, npmNode.JS для стартапа или о проблемах на продакшене
2013-01-05 в 13:49, admin, рубрики: javascript, mongodb, node.js, метки: javascript, mongodb, node.js Доброго времени суток. Мне хотелось бы поделится с хабросообществом о своем опыте использования Node.JS на живом проекте. Пять месяцев назад я начал воплощать одну из своих старых задумок — сервис достижений.

При разработке проектов я предпочитаю придерживаться точке зрения, что выбор технологии должен быть обоснован дешевизной ее использования. Поэтому для своего проекта я выбрал стек — Node.JS + mongoDB, так как это те технологии, которыми я лучше всего владею.
Игра-викторина Что это?
2013-01-03 в 17:41, admin, рубрики: Facebook, node.js, викторина, Вконтакте, Песочница, метки: Facebook, node.js, викторина, Вконтакте Играли в отгадай город по фото, автомобиль по бамперу или фильм по стоп-кадру? Под катом небольшая история о приложении Вконтакте/Facebook которое облегчает этот процесс.
Читать полностью »
Подключение модулей без явного использования require или аналог namespace
2013-01-03 в 16:35, admin, рубрики: javascript, node.js, require, загрузка файлов, метки: node.js, require, загрузка файловПри работе с node.js часто приходится подключать файлы, расположенные не в текущей директории, и даже не в поддереве текущего каталога. Поэтому часто в модулях можно наблюдать что-то вроде
var obj = require('../../../a/b/c/someModule');
Для меня гораздо удобнее подключать файлы относительно корня проекта (модуля), например
var obj = require(base_dir + '/a/b/c/someModule');
Однако и в этом случае довольно много писанины и необходимо откуда-то получать base_dir.
Для себя я нашел решение проблемы, позволяющее больше не писать require и не узнавать base_dir:
var obj = lib.a.b.c.someModule;
Кому интересно решение — прошу под кат.
Читать полностью »
Атакуем через HTML тег а
2013-01-02 в 12:31, admin, рубрики: html, node.js, браузеры, Вконтакте, интернет, информационная безопасность, метки: html, node.js, Вконтакте, интернет, информационная безопасность Тег a — это не только ценный мех, но и инициализация window.opener.
В этой статье вас ждет рассказ об одной особенности данного тега и способы решения проблемы.
Клонирование объектов в Node.js: Быстрее, глубже, нежнее!
2012-12-28 в 9:13, admin, рубрики: clone, lodash, node.js, nodejs, underscore, Блог компании «Alawar Entertainment», метки: clone, lodash, node.js, nodejs, UnderscoreНе так давно, прочитав статью idoroshenko «Почему eval — это не всегда плохо», я задумался, можно ли использовать подход с генерацией тела функции для клонирования объектов. Даже написал небольшую библиотеку для этого. Бенчмарки давали невероятные результаты, но применимость этого подхода ограничивалась лишь множественным клонированием одинаковых объектов.
Поэтому и у меня возник вопрос: неужели в v8 нет другой возможности избежать расходов, связанных со множественным пересозданием скрытых классов? Ведь это составляет основные траты ресурсов, когда мы клонируем объекты. Как оказалось, такая возможность действительно есть: в самом v8 у объектов существует метод v8::Object::Clone. Этот метод клонирует объекты в широком смысле этого слова, то есть собственно объекты, а также массивы, даты, регулярные выражения, функции и т.д., при этом сохраняя все их свойства, в том числе нестандартные (например, именованные свойства массивов) и даже скрытые.
Была только одна маленькая проблема. Этот метод использовался только в недрах node.js, и не был открыт наружу, для javascript'а.
Читать полностью »
Вышло обновление JavaScript шаблонизатора ECT
2012-12-17 в 7:55, admin, рубрики: javascript, node.js, template engine, шаблонизатор, метки: javascript, node.js, template engine, шаблонизаторРовно три месяца назад я представил хабрасообществу JavaScript шаблонизатор ECT. Вчера для него вышло обновление, о котором я хочу рассказать в этой статье.
Вы знакомы с ECT?
ECT это JavaScript шаблонизатор со встроенным CoffeeScript синтаксисом (отсюда и название: Embedded CoffeeScript Templates). ECT изначально разрабатывался с упором на максимальную производительность и при этом он предоставляет разработчику богатый набор функций.
Что нового?
Навигация без перезагрузки используя expressjs, jade и History.js
2012-12-10 в 14:27, admin, рубрики: expressjs, history api, jade, javascript, node.js, nodejs, Веб-разработка, метки: expressjs, history api, jade, nodejsМне ранее не доводилось использовать в своей работе такую возможность HTML5 как History API. И вот настал тот час, разобраться в этом и провести небольшой эксперимент. Результатом этого эксперимента я решил поделиться с Вами.
И так что мы хотим:
— Навигация по сайту с использованием history api
— Получения данных с сервера в виде json объекта с последующим рендером на клиенте
— При прямом переходе рендер должен происходить на сервере
— Что бы все было легко и просто
Читать полностью »
Обработка асинхронных ошибок с сохранением контекста запроса в connect/express
2012-12-09 в 7:55, admin, рубрики: asynchronous, connect, express, node.js, метки: asynchronous, connect, express, node.jsТе, кому приходилось разрабатывать более-менее большие web-проекты на node.js, наверняка сталкивались с проблемой обработки ошибок, произошедших внутри асинхронных вызовов. Эта проблема обычно всплывает далеко не сразу, а когда у вас уже есть много написанного кода, который делает нечто большее, чем выводит «Hello, World!».

![Новшества node webkit версии 0.3.6 [скриншот]](https://www.pvsm.ru/images/novshestva-node-webkit-versii 0-3-6.png)