
Node.JS *
Среда для запуска JavaScript-приложений
TameJS — приручаем асинхронное программирование
Что такое TameJS ?
TameJS — это расширение Javascript, которое делает событийное/асинхронное программирование более простым и элегантным. Его очень просто использовать с nodejs или другими v8-проектами.
Несколько полезностей по работе с NPM

NPM — пакетный менеджер для node.js, аналог GEM в RoR. В статье несколько советов по его использованию.
Установка пакетов
Все знают
# Устанавливает пакет express
npm install express
Какие варианты еще есть?
Оптимизируем производительность JavaScript для V8
Предисловие
Дэниел Клиффорд сделал на Google I/O прекрасный доклад, посвященный особенностям оптимизации кода JavaSсript для движка V8. Дэниел призвал нас стремиться к большей скорости, тщательно анализировать отличия между С++ и JavaScript, и писать код, помня о том, как работает интерпретатор. Я собрал в этой статье резюме самых главных моментов выступления Дэниела, и буду обновлять её по мере того, как движок будет меняться.
Компьютерное зрение на примере приложения для IKEA. Часть 1

19 неожиданных находок в документации Node.js
Мне нравится записывать полезные вещи об интерфейсах, свойствах, методах, функциях, типах данных, и обо всём прочем, что относится к веб-разработке. Так я заполняю пробелы в знаниях. Сейчас я занят документацией к Node.js, а до этого проработал материалы по HTML, DOM, по Web API, CSS, SVG и EcmaScript.

Чтение документации Node.js открыло мне немало замечательных вещей, о которых я раньше не знал. Ими я хочу поделиться в этом небольшом материале. Начну с самого интересного. Так же я обычно делаю, когда показываю новому знакомому свои гаджеты.
Всё что вам нужно знать о Node.js
Привет, Хабр! Представляю вашему вниманию перевод статьи "Everything you need to know about Node.js" автора Jorge Ramón.
В наши дни платформа Node.js является одной из самых популярных платформ для построения эффективных и масштабируемых REST API's. Она так же подходит для построения гибридных мобильных приложений, десктопных программ и даже для IoT.
Я работаю с платформой Node.js более 6 лет и я на самом деле люблю её. Этот пост главным образом пытается быть путеводителем по тому, как Node.js работает на самом деле.
Что читали на Хабре в 2024 году: анализ статей с Node.js, Google Sheets и каплей ChatGPT

Сегодня расскажу вам одну занимательную историю о том, как я решил сделать что-то полезное и интересное, а заодно чуть-чуть облегчить жизнь всем нам, кто регулярно зависает на Хабре. Ведь сколько здесь данных? Очень много! Статьи, комментарии, рейтинги... Всё это крутится вокруг нас, но как это можно использовать для анализа и выводов?
Всё началось с простого вопроса: «Как узнать, какие статьи на Хабре самые популярные?» Казалось бы - просто посмотреть на рейтинг или количество просмотров? Но ведь тут есть куча нюансов: например, у некоторых статей большой рейтинг, но они почти не комментируются. Или наоборот – комментов много, а рейтинга нет.
В общем, я решил выйти за рамки простого просмотра и создал систему для анализа данных Хабра за 2024 год. Использовал Node.js для парсинга, Google Таблицы для анализа и даже задействовал нейронную сеть, чтобы выявить скрытые тенденции.
Явное управление ресурсами: пробуем новую фичу JavaScript и TypeScript

Одной из самых интересных грядущих новинок JavaScript и TypeScript для меня является явное управление ресурсами. Новый синтаксис
using foobar = …
реализует идиому RAII, позволяя писать намного менее многословный код, управляющий В этой статье я хочу на примерах разобрать эту фичу — в том виде, в котором она сейчас доступна в TypeScript 5.2.
DisposableStack
/AsyncDisposableStack
, а также приведу пример неочевидного бага, в который попался я сам. По пути я также коснусь нескольких других нововведений Node.js, про которые, возможно, ещё знают не все. Весь код доступен в репозитории. Как пропущенный var сорвал наш запуск
Кратко сказка сказывается, да долго дело делается, MelonCard сегодня был представлен на TechCrunch вместе с другими компаниями, как вдруг всё внезапно сломалось. Каждая. маленькая. мелочь. Мы только что обновили сайт, чтобы он выглядел и ощущался более отзывчивым, используя long-polling NodeJS, с крутейшим динамическим фронтендом на jQuery Templates и KnockoutJS. Приложили все усилия и провели ручное и юнит-тестирование с помощью Vows. Все системы готовы, полный вперёд и всё такое? Не тут-то было.
О 30-кратном увеличении параллелизма в Node.js
У нас запущено 4000 контейнеров Node (или «воркеров»), обеспечивающих работу нашего сервиса интеграции с банками. Сервис изначально был спроектирован так, что каждый воркер был рассчитан на обработку только одного запроса за раз. Это снижало воздействие на систему тех операций, которые могли неожиданно заблокировать цикл событий и позволяло нам игнорировать различия в использовании ресурсов различными подобными операциями. Но, так как наши мощности были ограничены одновременным выполнением лишь 4000 запросов, система не могла достойно масштабироваться. Скорость выдачи ответов на большинство запросов зависела не от мощности оборудования, а от возможностей сети. Поэтому мы могли бы улучшить систему и снизить стоимость её поддержки в том случае, если бы нашли способ надёжной параллельной обработки запросов.

Занявшись исследованием этого вопроса, мы не смогли найти хорошего руководства, в котором речь шла бы о переходе от «отсутствия параллелизма» в сервисе Node.js к «высокому уровню параллелизма». В результате мы разработали собственную стратегию перехода, которая была основана на тщательном планировании, на хороших инструментах, на средствах мониторинга и на здоровой дозе отладки. В итоге нам удалось повысить уровень параллелизма нашей системы в 30 раз. Это эквивалентно снижению затрат на поддержку системы примерно на 300 тысяч долларов в год.
Данный материал посвящён рассказу о том, как мы увеличили производительность и эффективность наших Node.js-воркеров, и о том, что мы узнали, пройдя этот путь.
Движок V8 и браузер Google Chrome станут лучше поддерживать Asm.js

Так как про Asm.js упоминали
Но для тех читателей, которые до сих пор пропускали эту новинку мимо себя, я также вкратце напомню суть.
Ближайшие события
Node.js для начинающих
Учебник предназначен для разработчиков с опытом работы с каким-либо объектно-ориентированным языком, немного знакомых с JavaScript и полных новичков в Node.js. Оригинал ещё находится в процессе написания, законченно около 90%. Перевод будет соответственно обновляться.
JavaScript-движки: как они работают? От стека вызовов до промисов — (почти) всё, что вам нужно знать

Вы когда-нибудь задумывались, как браузеры читают и исполняют JavaScript-код? Это выглядит таинственно, но в этом посте вы можете получить представление, что же происходит под капотом.
Начнём наше путешествие в язык с экскурсии в удивительный мир JavaScript-движков.
10 основных ошибок при разработке на Node.js

C момента появления Node.js его и критикуют, и превозносят. Споры о достоинствах и недостатках этого инструмента не утихают и, вероятно, не утихнут в ближайшее время. Однако часто мы упускаем из виду, что критика любого языка или платформы основывается на возникающих проблемах, зависящих от того, как мы эти платформы используем. Вне зависимости от того, насколько Node.js усложняет написание безопасного кода и облегчает его распараллеливание, платформа существует уже довольно давно, и на ней создано огромное количество надёжных и сложных веб-сервисов. Все они хорошо масштабируются и на практике доказали свою устойчивость.
Но, как и любая платформа, Node.js не застрахован от ошибок самих разработчиков. В одних случаях падает производительность, в других — система становится практически непригодной к использованию. И в этом посте я хотел бы рассмотреть 10 наиболее частых ошибок, которые делают разработчики с недостаточным опытом работы с Node.js.
Node.js на Windows (с тестами производительности)

В этой статье мы рассмотрим вопросы наиболее важные для начинающих веб программистов и тех кто задумывается об изучении Node.js, а именно:
- как установить рабочее окружение Node.js на своем компьютере;
- как писать код;
- как отлаживаться;
- как развернуть то, что получилось на удаленном сервере.
В trunk nginx добавлена поддержка WebSockets
habrahabr.ru/post/124089
habrahabr.ru/post/96354
18 февраля 2013 в trunk nginx была добавлена поддержка WebSockets (http://trac.nginx.org/nginx/changeset/5073/nginx), что открывает перед разработчиками новые горизонты.
Ждём выхода релиза.
Различия асинхронной и многопоточной архитектуры на примере Node.js и PHP
C10k (Проблема 10000 соединений) на разных языках/платформах
UPD. Вторая версия бенчмарка тут: eric.themoritzfamily.com/websocket-demo-results-v2.html
Предупреждение: если у вас есть претензии к бенчмарку и/или к коду, бенчмарк выложен на Гитхабе, что позволяет вам править баги самим или сообщить о багах автору.
Подробнее о проблеме 10000 соединений: ru.wikipedia.org/wiki/Проблема_10000_соединений
Как с проблемой 10000 соединений через вебсокеты справятся Erlang, Go, Haskell (Snap), Java (Webbit), Node.js (websocket) и Python (ws4py)?