Когда на одном сервере находиться несколько одновременно работающих node.js сайтов, для них необходим общий механизм запуска. Наиболее простой вариант, а также наиболее производительный, это запуск одного приложения, которое подключает все нужные сайты. Механизм подключения должен быть без ограничений для создаваемых сайтов, и максимально простым. Он должен быть стабилен, при критической ошибке на одном из сайтов, другие все равно должны продолжать свою работу.
Все подключаемые веб-приложения должны быть легко переносимы на отдельный хостинг. Необходима поддержка как отдельных доменных имен, так и поддоменов для определенного доменногоЧитать полностью »
Рубрика «node.js» - 109
Node.JS / [Из песочницы] Запуск нескольких node.js сайтов на одном сервере
2012-03-05 в 10:10, admin, рубрики: connect, express, github, http, node.js, npm, метки: connect, express, github, http, node.js, npmБлог компании Microsoft / 3 апреля, Самара. WebProfessionals – веб-конференция Microsoft. Вход бесплатный
2012-02-28 в 8:20, admin, рубрики: ASP.NET, asp.net mvc, asp.net webforms, drupal, iis, node.js, php, Visual Studio, webmatrix, windows azure, метки: ASP.NET, asp.net mvc, asp.net webforms, drupal, iis, node.js, PHP, Visual Studio, webmatrix, windows azureУважаемые веб-разработчики, программисты, руководители проектов и просто увлеченные программированием, от лица компании Microsoft я рад пригласить вас на новую полностью технологическую конференцию WebProfessionals, посвященную технологиям веб-разработки.
Конференция пройдет 3 апреля в городе Самара, в отеле Holiday Inn, где соберутся несколько сотен участников, чтобы выслушать ведущих экспертов компании Microsoft и представителей сообщества разработчиков, компаний Abbyy, 1C-Битрикс, Parcsis/Turbomilk, Inln,Читать полностью »
JavaScript / JUST — JavaScript шаблонизатор
2012-02-27 в 10:59, admin, рубрики: javascript, node.js, template, шаблонизатор, метки: javascript, node.js, template, шаблонизаторВо время разработки своего экспериментального WEB-проекта на Node.JS, о котором я рассказал в двух предыдущих статьях, я столкнулся с проблемой выбора шаблонизатора. Несмотря на то, что готовых решений существует довольно много, мне не удалось найти то, которое бы удовлетворяло меня на 100%. Так родился JUST.
Конкуренты
Jade
Этот шаблонизатор достаточно популярен среди Node.JS разработчиков. Он обладает хорошим функционалом и скоростью работы, ноЧитать полностью »
Node.JS / [Из песочницы] Научить node.js перезапускаться по хоткею в любимом редакторе
2012-02-22 в 0:21, admin, рубрики: linux, netcat, node.js, nodejs, vim, метки: linux, netcat, node.js, nodejs, vimИзучая node.js я обнаружил, что добиться успеха в этом непростом деле мне мешает постоянная необходимость перезапускать руками сервер node в командной строке. Так появилась идея повесить перезапуск сервера на горячую клавишу в любимом редакторе (в моем случае, Vim'е) сохранив возможность следить за выводом STDOUT и STDERR сервера. Решение linux-only, поскольку написано на sh.
Однако, одним node.js дело не ограничивается. Используя это решение можно организовать перезапуск и перенаправление вывода любой утилиты (python/php/etc), просто указав ее имя в настройках скрипта вместо node.
Не исключаю вероятность, всё это (и намного больше) реализовано в «нормальнойЧитать полностью »
Node.JS / Разработка WEB-проекта на Node.JS: Часть 2
2012-02-21 в 9:24, admin, рубрики: node.js, web программирование, web-разработка, метки: node.js, web программирование, web-разработкаВ прошлой статье я начал рассказывать о своём опыте разработки экспериментального WEB-проекта «Что делать?» на Node.JS. Первая часть была обзорной, в ней я постарался раскрыть плюсы и минусы технологии, а также предупредить о проблемах, с которыми, возможно, придётся столкнуться в ходе разработки. В этой статье я подробнее остановлюсь на технических деталях.
Несколько слов о «хабраэффекте»
Честно говоря, после периодических наблюдений за падениями сайтов, ссылки на которые попадают на главную хабра, я ожидал увидеть гораздо более серьёзные цифры.Читать полностью »
Алгоритмы / Распределенные эволюционные вычисления
2012-02-15 в 7:04, admin, рубрики: javascript, json, node.js, web workers, генетические алгоритмы, распределённые вычисления, эволюционный алгоритм, метки: javascript, json, node.js, web workers, генетические алгоритмы, распределённые вычисления, эволюционный алгоритм Одна из моих любимых тем в программировании – эволюционные вычисления и генетические алгоритмы в частности. Пару лет назад я поднимал эту (в целом уже заезженную) тему на Хабре, но сейчас глядя на то видео немного стыдно – слишком уж туманно и сумбурно было объяснение.
Сегодня я постараюсь объяснить генетические алгоритмы проще и нагляднее, а заодно рассказать вкратце о прототипе очень простого JavaScript-фреймворка для распределенных генетических вычислений degas.js. В двух словах – degas.js запускает генетический алгоритм в виде «треда» в браузере клиента используя web workers и обменивается информацией о полученных в ходеЧитать полностью »
Nginx / [Из песочницы] Серверный процессинг LESS файлов «на лету» своими руками
2012-02-13 в 12:19, admin, рубрики: css, less, nginx, node.js, метки: css, less, nginx, node.js LESS — это популярный препроцессор для языка CSS, добавляющий возможности использовать константы, наследование, вложенные стили и много другое, чего так не хватает в CSS. Как только я познакомился с LESS я понял что это то, что мне нужно. Единственное, что омрачило мою радость — разработчики предлагают всего два варианта его использования: встраивать JavaScript файл, который занимается препроцессингом прямо в браузере или использовать специальный скрипт (который должен исполняться на node.js) который процессирует LESS файлы.
Вариант c процессингом LESS файлов на клиенте мне не понравился тем, что для больших LESS файлов это вызывает ощутимые паузы приЧитать полностью »
Node.JS / Разработка WEB-проекта на Node.JS: Часть 1
2012-02-13 в 7:13, admin, рубрики: node.js, web программирование, web-разработка, метки: node.js, web программирование, web-разработка Прошла неделя с момента пиара на хабре моего проекта «Что делать?». Я напомню, что этот проект начинался, как эксперимент по разработке среднестатистического WEB-проекта целиком на JavaScript (Node.JS). Сейчас я хочу поделиться с сообществом результатами этого эксперимента, полученным полезным опытом, а также подробной картой с отмеченными на ней граблями.
Эпизод 1: начало пути
Я ставил перед собой следующие цели:Понять, насколько удобно разрабатывать обычные WEB-проекты на Node.JS;
Сравнить скорость разработки на Node.JS с другими используемыми технологиями (в моём случае это были PHP и Java);
Добраться доЧитать полностью »
Node.JS / [Из песочницы] Node.js демон для FreeBSD: forever + rc.d
2012-02-08 в 16:29, admin, рубрики: freebsd, node.js, метки: freebsd, node.js В процессе работы над проектом с использованием Node.js в качестве серверсайда, возникла задача запуска JS скрипта в качестве сервиса, со всем плюшками типа start, stop, restart. По этой теме в принципе уже достаточно информации, но она в основном сводится к использованию Monit + Init под линуксом, либо кратких советов типа «use nodemon, Luke».
В моём случае в качестве продакшн-сервера была машина на FreeBSD. В качестве утилиты запускающей JS файл как процесс мне приглянулся forever. Эта штука, в отличии от nodemon, умеет следить за запущенными под ней процессами и поднимать их при падении без ожидания изменения в исходниках скрипта, что очень удобно именно на продакшене.Читать полностью »
JavaScript / «Лапша» из callback-ов — будьте проще
2012-02-08 в 5:18, admin, рубрики: javascript, node.js, лапша, метки: javascript, node.js, лапша По следам недавних топиков, а также постоянных рассказов в стиле «мой стартап не взлетел, потому что его зохавала лапша из callback-ов».
Как раз недавно я закончил небольшой проект (ссылку не даю, чтобы не заподозрили — кому надо см. профиль), полностью и на всех этапах написанном только на JS, и притом полностью асинхронный. Разумеется, я столкнулся с пресловутой проблемой «лапши». И, вы не поверите, совершенно спокойно решил её без всяких там фреймворков и хитрых приемов.
Итак, допустим, у нас есть задача: асинхронно выбрать из базы количество книг, потом асинхронно же выбрать из базы нужную пачку книг, потом асинхронно же выбратьЧитать полностью »