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

Node.JS *

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

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

node-get

Время на прочтение1 мин
Количество просмотров951
В движке Node встроенным средством отсылки запросов к отдалённым web-серверам (и обработки полученных откликов) является метод http.request(), однако он оказывается чрезмерно низкоуровневым: если на дальнем конце настроено серверное перенаправление, то этот метод выдаст вам страницу с кодом HTTP 301 (или HTTP 302, или HTTP 303…), а не ту страницу или тот файл, на который перенаправление указывает.

Преодолеть этот недостаток помогает модуль node-get, разработанный организацией «Development Seed»: он автоматически обрабатывает перенаправления и получает окончательный отклик на отосланный запрос.

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

WebStorm 4 — в гармонии с ECMA Script

Время на прочтение1 мин
Количество просмотров2.5K
Мы продолжаем поддержку новейших технологий и улучшаем средства контроля качества. В сегодняшнем WebStorm 4.0 — ECMAScript Harmony и встроенный Code Coverage для JavaScript Unit Testing.

Кроме того:
Читать дальше →

codestre.am — потоковая запись терминала

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


Сегодня наткнулся на очень интересный сервис codestre.am, разработанный LearnBoost.
Идея подобного сервиса наверняка возникала у многих.

Смысл проекта создание обучающих видео, только в формате командной строки, причём с возможностью всё воспроизвести не перепечатывая слова и буквы, а просто копируя их из самого видео.
Читать дальше →

Сложный SVG на клиенте и сервере

Время на прочтение5 мин
Количество просмотров6.1K
Это небольшая история страданий, боли, взлетов и падений в попытках ускорить работу RaphaelJS на больших и сложных SVG. Если вы страдаете от подобных проблем, то не стоит ждать в конце этой статьи серебряной пули, но, надеюсь, что про наш путь поиска решения будет интересно прочитать всем.

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

Онлайн генератор документации для Node.JS проектов

Время на прочтение3 мин
Количество просмотров5.9K
Документация — одна из самых важных составляющих любого проекта, особенно если этот проект с открытым кодом, который будут читать другие люди. Чтобы сделать мир opensource чуточку лучше, я попытался собрать свои знания в области организации модулей nodejs проектов и сделать такой инструмент как Makedoc!. Ремарка для адептов ruby: это почти то же, что и rdoc.info для руби.

Этот инструмент анализирует код проекта, выделяет потенциально документируемые куски кода (не важно, с документацией или без), и генерирует статический набор страничек, описывающих проект.

В кратце шаблон использования такой: идем на jsdoc.info/[githubusername]/[projectname] и видим готовую документацию по проекту. Либо идем на jsdoc.info/[githubusername] и получаем список проектов для которых можно сгенерировать документацию.

За деталями реализации прошу под кат.
Читать дальше →

Рельсы сошли с рельс: Почему я переписываю Archaeopteryx на CoffeeScript

Время на прочтение14 мин
Количество просмотров5K
Вы бывали на вечеринках, где друзья с работы и друзья из колледжа не разговаривают?

Я запостил видео на Tumblr, которое бы никогда не запостил на Facebook:


Это гитарист, отжигающий под «Bangarang» Skrillex'а.
Эй, при чём тут вообще Рельсы?!

Console-trace — улучшение console.log для Node.js

Время на прочтение1 мин
Количество просмотров5K
25 марта на Гитхабе в репозиториях компании LearnBoost, широко известной в сообществе Node.js благодаря проектам Socket.io, mongoose, cluster, появился небольшой модуль console-trace. Это маленькое, но полезное дополнение функции console.log(), которое раньше было доступно только в консолях браузеров — вывод имени файла и номера строки, из которой вызвана console.log().
Читать дальше →

npm2debian: дебианизация npm пакетов

Время на прочтение1 мин
Количество просмотров1.7K
Наверняка у многих, кто пробовал использовать Node.JS в своих проектах, возникал вопрос о деплое npm пакетов на сервера. В нашей инфраструктуре широко используются машины с Ubuntu, куда мы деплоим сервисы через debian пакеты. Хочу рассказать об инструменте, который мы написали для упрощения создания debian пакетов и которым успешно пользуемся уже больше года.
Читать дальше →

Sync vs Async на примере Firebird

Время на прочтение8 мин
Количество просмотров7.4K
image

В этой публикации я поставил перед собой несколько целей:

  • Сравнить разные стили программирования работы с БД Firebird в NodeJS;
  • Найти наиболее производительный вариант;
  • Получить в результате руководство к действию тем, кто начинает использовать Firebird в NodeJS.


Дальше много кода…
Читать дальше →

Бесплатный хостинг реляционных баз данных для скриптов Node.js

Время на прочтение1 мин
Количество просмотров8.9K
Springbase объявляет о бесплатном хранении реляционных баз данных в объёме до 100 мегабайтов с траффиком до гигабайта в месяц.

Доступ к базам данных возможен посредством административного веб-интерфейса, а также из джаваскриптов, написанных для движка Node.js при помощи специального модуля node-springbase. Обращение к БД происходит посредством SQL-запросов:

[скриншот SQL]

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

php и nodejs, разница на пальцах

Время на прочтение3 мин
Количество просмотров64K
Являясь постоянным пользователем форума nodejs.ru, часто наблюдаю картину когда люди начиная изучать nodejs сравнивают ее с php, а иногда пытаются работать с ней так как с php. Я бы хотел объяснить “на пальцах” разницу между php и nodejs применительно к работе сайта. Статья предназначена для новичков. Я намеренно буду говорить очень упрощенно, не вдаваясь в глубокие подробности, что бы как можно проще показать различия в технологиях.
Читать дальше →

Аналог паттерна Step и вложенность асинхронных вызовов

Время на прочтение3 мин
Количество просмотров1.1K
При реализации модели для манипуляции с данными в MongoDB, я пришел к выводу, что нужно как то избежать проблем с вложенностью асинхронных вызовов. Я не знал о существовании Step для Node.js и решил создать свой велосипед. Чем и хотел бы с Вами поделиться, уважаемые Хабро пользователи.
Читать дальше →

Паттерн Repository в связке с Mongoose ODM

Время на прочтение3 мин
Количество просмотров5.1K
В данной статье пойдет речь о реализации паттерна Repository во взаимодействии с Mongoose ODM для использования в Node.js проектах.
Средства ODM Mongoose — предоставляют очень удобую обертку реализации запросов к MongoDB посредством схожего с LINQ стиля. Ниже представлена реализация репозитория на примере модуля UserRepo для модели User.
Читать дальше →

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

Запуск Cloud9 IDE под Mac OS X Lion 10.7.3

Время на прочтение2 мин
Количество просмотров2.2K
Начал осваивать Mac OS X. Поистине замечательная операционная система. Очень нравится интерфейс и продуманность функционала. Многие вещи хотелось бы увидеть в Windows. Но речь не об этом. Так вот решил я все таки посмотреть получится ли у меня запустить Cloud9 ide локально на Mac OS X Lion 10.7.3. Ранее я запустил эту IDE на Ubuntu 11.10. После многочисленных неудачных попыток, запустить понравившуюся мне IDE под Mac OS X, я было уже решил бросить эту затею, хотя на официальном сайте было указано что в качестве поддерживаемых ОС есть и Mac OS, но запустить упорно не получалось.
Читать дальше →

Запуск нескольких node.js сайтов на одном сервере

Время на прочтение2 мин
Количество просмотров16K
Когда на одном сервере находиться несколько одновременно работающих node.js сайтов, для них необходим общий механизм запуска. Наиболее простой вариант, а также наиболее производительный, это запуск одного приложения, которое подключает все нужные сайты. Механизм подключения должен быть без ограничений для создаваемых сайтов, и максимально простым. Он должен быть стабилен, при критической ошибке на одном из сайтов, другие все равно должны продолжать свою работу.
Все подключаемые веб-приложения должны быть легко переносимы на отдельный хостинг. Необходима поддержка как отдельных доменных имен, так и поддоменов для определенного доменного имени.

Допустим, есть две директории, в которых находятся веб-приложения:

/var/www/domains/, с каталогами site.ru, othersite2.ru и тд.
/var/www/subdomains/, с каталогами site3, othersite4 и тд.

Чтобы сайты были доступны по соответсвующим адресам (site.ru, othersite2.ru, site3.example.com, othersite4.example.com), потребуется запустить данную команду:

$ vhoster -n example.com -s /var/www/subdomains/ -d /var/www/domains/ --port 80 --host 0.0.0.0
vhost: site.ru
vhost: othersite2.ru
vhost: site3.example.com
vhost: othersite4.example.com

Для тех, кому нужен vhoster и интересна его реализация, прошу под кат.
Читать дальше →

Connect 2 — Новые дополнения, улучшения и документация!

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


Не так давно, а именно 2011-10-05 вышла новая версия фреймворка connect 2.0. На хабре был замечен пробел, а тут выдалось пару свободных часов. Буду писать сразу про версию 2.0.1 вышедшую 29 февраля. Во второй версии сделали много очень нужных и долгожданных изменений.

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

Разработка WEB-проекта на Node.JS: Часть 2

Время на прочтение12 мин
Количество просмотров56K
В прошлой статье я начал рассказывать о своём опыте разработки экспериментального WEB-проекта «Что делать?» на Node.JS. Первая часть была обзорной, в ней я постарался раскрыть плюсы и минусы технологии, а также предупредить о проблемах, с которыми, возможно, придётся столкнуться в ходе разработки. В этой статье я подробнее остановлюсь на технических деталях.

Несколько слов о «хабраэффекте»


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

Разработка WEB-проекта на Node.JS: Часть 1

Время на прочтение12 мин
Количество просмотров80K
Прошла неделя с момента пиара на хабре моего проекта «Что делать?». Я напомню, что этот проект начинался, как эксперимент по разработке среднестатистического WEB-проекта целиком на JavaScript (Node.JS). Сейчас я хочу поделиться с сообществом результатами этого эксперимента, полученным полезным опытом, а также подробной картой с отмеченными на ней граблями.

Эпизод 1: начало пути


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

Node.js демон для FreeBSD: forever + rc.d

Время на прочтение3 мин
Количество просмотров10K
В процессе работы над проектом с использованием Node.js в качестве серверсайда, возникла задача запуска JS скрипта в качестве сервиса, со всем плюшками типа start, stop, restart. По этой теме в принципе уже достаточно информации, но она в основном сводится к использованию Monit + Init под линуксом, либо кратких советов типа «use nodemon, Luke».

В моём случае в качестве продакшн-сервера была машина на FreeBSD. В качестве утилиты запускающей JS файл как процесс мне приглянулся forever. Эта штука, в отличии от nodemon, умеет следить за запущенными под ней процессами и поднимать их при падении без ожидания изменения в исходниках скрипта, что очень удобно именно на продакшене. К тому же forever умеет показывать текущий список запущеных процессов, с отображением их аптайма, ну и позволяет останавливать/перезапускать процессы по имени или индексу.

Недолго думая, был написан rc.d скрипт:
Читать дальше →

Авторы Cloud9 IDE представили сборник документации по Node.js

Время на прочтение1 мин
Количество просмотров1.4K
Компания-создатель облачной IDE Cloud 9 на конференции NodeSummit, посвященной Node.js, планирует представить ряд новых улучшений в своем продукте, попутно представив сообществу англоязычный сборник документации по Node.js, который доступен по адресу nodemanual.org.

Весь сборник разделен на две части — Basic и Tutorials; при этом как таковых «HowTo» для новичков нет, поэтому можно сказать, что целевой аудиторией сайта являются все же профессионалы в Node.js. Авторами большинства статей называются разработчики Mozilla и Joyent, а примеры, представленные в документации, можно запустить в Cloud9, имея в ней аккаунт. GitHub сборника можно найти здесь.

Также Дениэлс намерен представить и блог nodebits.org, направленный на "… поддержание духа Node.js и инновационности". Сейчас блог не отличается большим числом статей (первая датируется только 30 декабря), но его обещают пополнять, называя среди авторов ведущих разработчиков Node.js-сообщества Тима Касвелла, Берта Белдера и Бена Нурдхаиса (Tim Caswell, Bert Belder, Ben Noordhuis).

[NodeManual]

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