Как стать автором
Поиск
Написать публикацию
Обновить
11.01

Node.JS *

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

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

Удаленная отладка Node.js приложений и кода на WebKit браузерах

Время на прочтение2 мин
Количество просмотров21K
В статье пойдет речь о Must Have тулзе для удаленной отладки Node.js приложений либо кода на WebKit браузерах node-inspector.

Для отладки кода в браузере, впринципе удаленная отладка и не нужна, не считая мобильных устройств, где она фактически не возможна потому что крайне не удобна. Совсем другое дело с серверным JavaScript. Node.js имеет несколько отладчиков, восновном продвигают ndb Node Debugger — консольная утилита для дебага Node.js приложений. Подходит только для фанатов консоли либо для мазохистов. Работать не удобно, отлаживать долго, по сравнению с отладкой кода в том же FireBug.

Что же умеет node-inspector:
1. Удаленная отладка
2. Отладка в графическом интерфейсе WebKit-debugger (На клиент ничего не нужно ставить — у вас все уже есть)
3. Редактирование runtime-кода!
4. Использует WebSockets, и никакого polling'а!
5. Удаленное профилирование блоков кода c использованием v8-profiler
Читать дальше →

Разбор Wave файла на JavaScript

Время на прочтение6 мин
Количество просмотров7.4K
icon
Сделано под вдохновением этого топика.
Обычный JavaScript, к которому все привыкли, не даёт средств работы ни с файловой системой, ни с двоичными данными, поэтому все описанное ниже будет про node.js.
подробности

Анонс node 0.4 — второй стабильной ветки

Время на прочтение2 мин
Количество просмотров998
Читать дальше →

Наглядно о потоке выполнения в Node.js

Время на прочтение3 мин
Количество просмотров12K
В комментариях к моему предыдущему топику об асинхронном программировании, коллбеках и использовании process.NextTick() в Node.js было задано немало вопросов о том, за счёт чего получается или может быть получена большая производительность при использовании неблокирующего кода. Постараюсь это наглядно показать :) Статья призвана в основном прояснить некоторые моменты работы Node.js (и libeio в его составе), которые на словах бывает трудно описать.

Пример обработки запросов сервером с блокирующим чтением:


В первую очередь прокомментирую полезность использования неблокирующего ввода/вывода. Как правило, использовать блокирующие операции в Node.js стоит лишь на этапе инициализации приложения, и то не всегда. Правильная обработка ошибок в любом случае потребует использования try/catch, так что код при использовании неблокирующих операций не будет сложнее, чем при использовании блокирующих операций.
Нужно лишь помнить, что случае, когда запросов неблокирующих операций может оказаться больше, чем потоков libeio. В этом случае новые запросы будут становиться в очередь и блокировать выполнение, однако для программиста это будет происходить прозрачно.
Преимущества неблокирующих операций и некоторые недостатки в картинках

Асинхронное программирование, коллбеки и использование process.nextTick()

Время на прочтение7 мин
Количество просмотров20K
Несмотря на то, что большинство из изучающих Node.js в какой-то мере знают JavaScript и имеют опыт использования его в контексте браузеров, при обсуждении практических моментов многие встречаются с трудностями в понимании работы стандартной библиотеки и механизмов обеспечения асинхронного выполнения кода, содержащего множество вложенных коллбеков. Также часто возникает недопонимание, Я постараюсь вкратце описать порядок работы event loop в Node.js и рассказать, на какие моменты стоит обратить внимание при написании качественного асинхронного кода. Думаю, что статья будет полезна и тем, кто занимается написанием производительных фреймворков для браузеров.

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

Переход Node.js под крыло Joyent, выпуск версий v0.2.5 и v0.3.1

Время на прочтение2 мин
Количество просмотров1.3K
В течении последних месяцев стало ясно, что возрастающая популярность Node требует большей и лучше организованной команды разработчиков. Действительно, чтобы Node стал более популярен, и возможно стал следующим PHP, требуются инвестиции в команду разработчиков на полной занятости. Нужна компания, поддерживающая их и позволяющая наладить отношения с большими компаниями, которые могут использовать Node в своих проектах и внести свой вклад в проект.



Основной бизнес Joyent (облачные вычисления) вполне отвечает духу свободного и открытого Node. По этим причинам я заключил соглашение с Joyent об официальной поддержке Node.js. Единственное изменение, которое коснётся разработчиков — CLA будет подписываться не со мной, а с Joyent. Node будет продолжать регулярно выходить под лицензией MIT. В рамках соглашения — в дополнение к поддержке моих разработок — мы наняли Isaac Schlueter и планируем расширить команду ещё на одного человека в ближайшее время. Скоро мы начнём сдавать в аренду наши минималистичные инстансы no.de (хостинга с поддержкой Node) и разрабатывать на заказ различные модули и дополнения для Node.

Под катом описание изменений в выпущенных вчера версиях Node.js v0.2.5 и v0.3.1.
Читать дальше →

Node.js v0.2.4 и ожидаемые улучшения в ветке v0.3.x

Время на прочтение2 мин
Количество просмотров1.6K
Прошедшие выходные могут похвастаться двумя релизами Node.js: очередной минорной версией в ветке v0.2.x и официальным релизом ветки v0.3.x.
И пусть разрабатываемая ветка всё ещё отмечена как «нестабильная», в ней ожидаются существенные улучшения производительности, переносимости и добавление новых возможностей, о которых стоит знать уже сейчас. Тем более, что эта версия уже вполне работоспособная.
Также в конце топика бонус в виде ссылок на репозитории пакетов Node.js v0.2.x и NPM (Node.js package manager).
Читать дальше →

«Spirit»: Node.js MVC Framework

Время на прочтение13 мин
Количество просмотров8.2K

Привет, ребята! С этого момента я хочу начать цикл статтей с подробностями по созданию сообственного MVC фреймворка для node.js, название которому будет — Spirit.

Первая статья будет состять из четырех частей:
1. Идея и миссия фреймворка
2. Настройка сервера
3. Создание каркаса фреймворка
4. Создание продвинутого и удобного роутера

Предупреждаю сразу, что статья — огромна, с кучей текста и большими блоками кода.

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

node.js сокращатель ссылок

Время на прочтение6 мин
Количество просмотров8.2K

Привет, Хабр! В этой статье я пошагово рассмотрю создание простого веб-приложения — сокращателя ссылок на node.js, используя mysql-libmysqlclient, MooTools на сервере и jQuery на клиенте. Статья предполагает, что читатель уже прошёл упражнение «Hello world» и разобрался в самых основах node.js.
Читать дальше →

Node-mysql-libmysqlclient v1.0.0

Время на прочтение2 мин
Количество просмотров1.6K
Надеюсь я не надоел вам своими анонсами, но этот того стоит, так как с настоящего момента можно считать node-mysql-libmysqlclient стабильным модулем. Node-mysql-libmysqlclient добавляет поддержку работы с MySQL для Node.js, обеспечивает синхронное и асинхронное выполнение запросов к БД и имеющий API, близкое к API аналогичных коннекторов для PHP/Perl/Ruby и т.д. Все функции протестированы на ошибки и утечки памяти, если их использовать в соответствии с примерами. Имевший место крах в функции fetchAll() исправлен. По сравнению с ранее анонсированной версией стоит отдельно отметить появление примеров и документации по API.

Версия 1.0.0 и несколько комментариев по поводу Nodelint, Nodeunit и Dox.

Understanding node.js

Время на прочтение4 мин
Количество просмотров10K
Node.js обычно вызывал у людей, которым я о нём рассказывал, две различные реакции. В основном они воспринимали его «как есть», однако многие были сбиты с толку.

Если вы относитесь ко второй группе, я попробую объяснить, что же такое Node.js:
  • Это инструмент командной строки. Вы скачиваете архив, компилируете и устанавливаете его.
  • Это позволит вам выполнять программы на JavaScript, набрав 'node my_app.js' в терминале.
  • JavaScript выполняется движком V8 (тем самым, благодаря которому так быстро работает Google Chrome).
  • Node.js предоставляет API для доступа к сети и файловой системе из JavaScript.
Вам хочется чего-то большего? Тогда прошу заглянуть под кат и продолжить чтение

Node.JS — формируем результирующий документ, используя другие HTTP-источники

Время на прочтение13 мин
Количество просмотров4.6K
Часто сервера на Node.JS используются как сервисы-агрегаторы, получающие динамические данные с других HTTP-источников и формирующие на основе этих данных агрегированный ответ.

Для обработки полученных данных удобно использовать внешние процессы, обрабатывающие исходный набор файлов (например, утилиты ImageMagick или ffmpeg).

Рассмотрим это на примере HTTP-сервера, выполняющего роль backend для сервера nginx, и формирующего CSS-спрайты для набора изображений.
Читать дальше →

Поддержка MySQL в Node.js: node-mysql-libmysqlclient

Время на прочтение4 мин
Количество просмотров16K
Я довольно долго откладывал этот анонс, однако сейчас настало его время.

Встречайте: node-mysql-libmysqlclient v0.0.7, коннектор к MySQL для Node.js, поддерживающий синхронное и асинхронное выполнение запросов к БД и имеющий API, близкое к API аналогичных коннекторов для PHP/Perl/Ruby etc.

Читать об истории создания и возможностях последней версии коннектора.

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

Храните ваши клятвы; Отношения с Node

Время на прочтение2 мин
Количество просмотров1.3K
Клятвы могут быть прекрасны. Алексис Селлир, сыскавший славу за разработку «LESS» (и «less.js»), начинает становиться звездой Open Source, выпустив в свет Vows, — каркас для разработки на Node.JS, управляемой асинхронным поведением.

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

Node.JS: Пример HTTP-сервера в режиме prefork с использованием Web Workers

Время на прочтение2 мин
Количество просмотров8.5K
Как обещал ранее, я публикую исходный код, демонстрирующий, как построить HTTP-сервер в режиме prefork, используя Web Workers и новый API net.Server.listenFD(). Я надеюсь, что этот код будет хорошим примером того, как легко нагрузить несколько ядер сервера, комбинируя пересылку файловых дескрипторов и Web Workers.

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

Bespin переходит на node.js

Время на прочтение1 мин
Количество просмотров1.1K
Как стало известно, после переработки клиентской стороны своего редактора разработчики проекта Bespin, судя по новому плану развития, перепишут серверную часть с Python/WSGI на Node.js.

Радует, что количество серьёзных проектов, переходящих на Node, неуклонно растёт.

Bespin — редактор исходного кода, чей клиент работает внутри web-обозревателя (подробнее о Bespin на Хабре).

Express — Sinatra для Node

Время на прочтение1 мин
Количество просмотров3K
require.paths.unshift('path/to/express/lib');
require('express');

get('/', function(){
 this.redirect('/hello/world')
});

get('/hello/world', function(){
 return 'Hello World'
});

get('/bye/world', function(){
 this.render('title.html.haml', {
  layout: false,
  locals: {
   title: 'Bye World'
  }
 });
});

run();

В стремлении сделать серверный JavaScript похожим на Rails или Sinatra мы получили Express. Чистый и простой. Простой и чистый.

Heroku — Экспериментальная поддержка Node.js

Время на прочтение2 мин
Количество просмотров2.7K
Сегодня мы предлагаем экспериментальную поддержку node.js ограниченному множеству пользователей. Мы знаем, что существует большой спрос, и мы будем работать с таким количеством пользователей, которое мы сможем поддержать. Подробности ниже.
Читать дальше →

seedJS — Менеджер пакетов CommonJS

Время на прочтение1 мин
Количество просмотров2.2K
logo

SEED.JS


Ребята из SproutCore представили менеджер пакетов стандарта CommonJS (в настоящее время поддерживает node.js как целевую систему).
Читать дальше →

node.js и SQLite 3 — теперь друзья

Время на прочтение1 мин
Количество просмотров14K
node.js — один из лучших каркасов для создания серверов на основе событийных машин, основанный на движке JavaScript V8, теперь получил по-настоящему асинхронную, неблокирующую привязку к базам данным SQLite 3.

Домашняя страница проекта.

Большое спасибо Orlando Vazquez и Ryan Dahl за выполненную работу.
12 ...
92

Вклад авторов