Comments 70
Спасибо огромное!) как раз думаю активно изучать node.js
UFO just landed and posted this here
Господа, был найден клад! Спасибо.
Я распарсил этот список, добавил статистику по watchers и forks, получилось вот так: modules.node-js.ru
UFO just landed and posted this here
UFO just landed and posted this here
Изучаю Node.js около полугода, пишу в основном анализаторы текстовых файлов и качалки информации с сайтов. Нехватало работы с окнами, спасибо за наводку на nwm буду изучать.
Народ, поделитесь практическим опытом использования Node.js. не ссылками на обсуждения в инете, а сугубо личным. особо интересуют такие вопросы:
1. Какие задачи решаете с его помощью?
2. почему выбрали именно его, по какому критерию?
3. грабли, танцы с бубнами, эффективные заклинания?
4. чем для *ваших* задач он лучше? (перекликается с 2, но иногда сначала выбирают, а потом приходит понимание)
Спасибо.
1. Какие задачи решаете с его помощью?
2. почему выбрали именно его, по какому критерию?
3. грабли, танцы с бубнами, эффективные заклинания?
4. чем для *ваших* задач он лучше? (перекликается с 2, но иногда сначала выбирают, а потом приходит понимание)
Спасибо.
Уже использую в связке с редисом для реализации автокомплита на высоконагруженом сайте — если интерестно — напишу отдельный топик. Плюс используем для быстрого доступа клиентского джиэса к серверному кешу (редис и мэмкеш)
да интересно. просто, я пробовал его пощупать и либо я дурак, либо оно не о чем.
Тоесть единственный как бы «плюс» это то что он написан на JS. Все остальное и архитектурно и концептуально настолько ммммммм странно, что я даже не понял зачем оно надо.
Но смотря на то сколько народу пытается чтото на нем делать, у меня шевилится мысль, что я уже старый сильно и чего то не догоняю
Тоесть единственный как бы «плюс» это то что он написан на JS. Все остальное и архитектурно и концептуально настолько ммммммм странно, что я даже не понял зачем оно надо.
Но смотря на то сколько народу пытается чтото на нем делать, у меня шевилится мысль, что я уже старый сильно и чего то не догоняю
Далее оффтоп. 34 — старый? =) Не согласен на корню.
пока еще 33 :) но тем не менее при взгляде на ноду мне кажется что это шаг назад, который многим вылезет боком. но наличие такого количества энтузиастов, наталкивает на мысль, что я чтото пропустил
Я правильно понял что основная проблема это асинхронность нода? Если так, то я в принципе согласен что для многих задач это преждевременная оптимизация. Поэтому я написал Common Node который позволяет мне писать код в синхронном стиле не теряя преимуществ нода (низкий объем памяти, скорость и JavaScript).
Главная проблема, на мой взгляд, это колбэки и то с какой скоростью превращается код их использующий в кашу.
+ Если к этому добавить «родовые травмы» JS — динамическую типизацию, неявный вывод типов и нестрогий синтаксисом, то большие проекты хз как сопровождать. Ниже, человек написал что у них 100к слоков на js — я натурально в осадок выпал. У меня был опыть питоновского проекта гдетона на 70к и 7 разработчиков — это быстро стало адом.
js отличный скриптовый язык но тянуть его на сервер — не могу этого понять. учитавая что есть эланг и прочие функциональные языки.
+ Если к этому добавить «родовые травмы» JS — динамическую типизацию, неявный вывод типов и нестрогий синтаксисом, то большие проекты хз как сопровождать. Ниже, человек написал что у них 100к слоков на js — я натурально в осадок выпал. У меня был опыть питоновского проекта гдетона на 70к и 7 разработчиков — это быстро стало адом.
js отличный скриптовый язык но тянуть его на сервер — не могу этого понять. учитавая что есть эланг и прочие функциональные языки.
Я и имел в виду проблемы с кучей колбэков под асинхронностью. Мой проект решает эти проблемы.
По поводу языка, я не согласен. Используя модули и packages, очень даже удобно работать с большими проектами. JavaScript благодаря его динамичности очень компактный а прототипы позволяют писать код в разных стилях начиная с процедурного вплоть до функционального.
По поводу языка, я не согласен. Используя модули и packages, очень даже удобно работать с большими проектами. JavaScript благодаря его динамичности очень компактный а прототипы позволяют писать код в разных стилях начиная с процедурного вплоть до функционального.
Используйте github.com/caolan/async, разбивайте код на модули — вложенности глубиной больше 3-4 нигде не будет.
Проблема не только в глубине но и в отсутствии контекста и лишнего «boilerplate» кода.
человек написал что у них 100к слоков на jsРазрешите узнать, что Вы имели в виду, говоря «слоков».
1) Используем для управления облачным хостингом — справляется на ура!
2) Две причины: javascript очень гибок и удобен, наш хостинг для node.js приложений
3) Стараемся обходится без грабель, все «недостатки» решаются созданием pull request для node с фиксом ошибок или с усовершенствованием API
4) см. 2
2) Две причины: javascript очень гибок и удобен, наш хостинг для node.js приложений
3) Стараемся обходится без грабель, все «недостатки» решаются созданием pull request для node с фиксом ошибок или с усовершенствованием API
4) см. 2
сколько разработчиков в проекте, сколько строк кода, хотябы примерно, в той части что под ноду?
спасибо
спасибо
11 человек, > 100к как минимум.
100 000 строк яваскрипт кода??? офигеть. а можете рассказать как организована работа с ним? поддержка, рефакторинг, тестирование?
сервис сильно нагружен? сегментейшен фолт часто бывает?
Спасибо.
сервис сильно нагружен? сегментейшен фолт часто бывает?
Спасибо.
UFO just landed and posted this here
мы оба говорим о коде под node.js?
UFO just landed and posted this here
Боевого кода привести не могу, но во время моих экпериментов, месяца 3 назад, регулярно валилось при работе с мускулом.
гугленье тогда показало что сегфолт, в разных ситуациях ловят почти все. в том числе были релизы, которые просто при установке высыпались.
+ была серьезная проблема с поддержкой кирилицы (не utf8). как сейчас не знаю.
вчера через личку пообщались с хорошим человеком, по его мнению в последнем релизе сегфолтов стало значительно меньше.
гугленье тогда показало что сегфолт, в разных ситуациях ловят почти все. в том числе были релизы, которые просто при установке высыпались.
+ была серьезная проблема с поддержкой кирилицы (не utf8). как сейчас не знаю.
вчера через личку пообщались с хорошим человеком, по его мнению в последнем релизе сегфолтов стало значительно меньше.
UFO just landed and posted this here
Ну вот в ваш pure-js код, приходит строка кирилицы в win1251 и гдето внутри ноды что-то сыплется и в результате имеем сегфолт. это чьих кривых рук дело?
вот, пример нагуглил ошибка в регэкспе приводит к сегфолту.
вот, пример нагуглил ошибка в регэкспе приводит к сегфолту.
Все разбито на модули, в каждом до 5 тысяч строк.
Segfaults бывает только если C расширения неправильно обрабатывают память, в моей практике не встречались. (Только когда сам писал C расширения и ошибался)
Пока нагрузка относительно небольшая, но все решается горизонтальным маштабированием.
Segfaults бывает только если C расширения неправильно обрабатывают память, в моей практике не встречались. (Только когда сам писал C расширения и ошибался)
Пока нагрузка относительно небольшая, но все решается горизонтальным маштабированием.
UFO just landed and posted this here
В одном старом проекте заменил сервис, который раздавал события клиентским приложениям с реализации на Delphi на реализацию на NodeJS. Ну там вообще вся серверная часть переползла под линукс. Старый сервис уже использовал JS (движок от Microsoft) так что на NodeJS надо было только реализовать такую же глобальную область видимости ( с такими же функциями и объектами), а старые все скрипты просто подхватились.
В новых проектах (у меня это не сайты) для Web интерфейса использую NodeJS + NowJS — основное преимущество это использование одного языка в клиенте и сервере ну и RPC «без напряга» (фишка NowJS — возможность легко вызвать функцию на другой стороне (с клиента на сервере и наоборот) и получить обратно callback).
Еще одно применение у меня это создание сетевых сервисов для разных железяк, которые работают по Serial интерфейсу. Например, когда несколько устройств сидит на RS-485 (разные датчики или реле) и надо с ними общаться другим программам по сети. Асинхронность и сетевые возможности NodeJS приходятся очень кстати.
В новых проектах (у меня это не сайты) для Web интерфейса использую NodeJS + NowJS — основное преимущество это использование одного языка в клиенте и сервере ну и RPC «без напряга» (фишка NowJS — возможность легко вызвать функцию на другой стороне (с клиента на сервере и наоборот) и получить обратно callback).
Еще одно применение у меня это создание сетевых сервисов для разных железяк, которые работают по Serial интерфейсу. Например, когда несколько устройств сидит на RS-485 (разные датчики или реле) и надо с ними общаться другим программам по сети. Асинхронность и сетевые возможности NodeJS приходятся очень кстати.
Почему именно нода?
Чуваки, одумайтесь.
JS — классная вещь, но нода — это не то, ради чего стоит потратить лучшие годы жизни.
Три с половиной человека, делающие протоипы сайтов — это стандарт, а сотни, с нуля поднимающие платформу — это уже явление.
Сам чуть не попался на эту ловушку, отсюда и такой непозитивный комментарий.
Чуваки, одумайтесь.
JS — классная вещь, но нода — это не то, ради чего стоит потратить лучшие годы жизни.
Три с половиной человека, делающие протоипы сайтов — это стандарт, а сотни, с нуля поднимающие платформу — это уже явление.
Сам чуть не попался на эту ловушку, отсюда и такой непозитивный комментарий.
Node.js — это не только сайты. Более того, я рекомендую использовать его для создания сервисов. Для создания сайтов есть множество других популярных и намного более удобных технологий (взять хотя бы RoR).
Наша компания активно использует node.js, никаких нареканий нет, а если и были — сами поправили все и предложили на review авторам.
Наша компания активно использует node.js, никаких нареканий нет, а если и были — сами поправили все и предложили на review авторам.
UFO just landed and posted this here
На опыте, полученном во время работы в Nodejitsu ( nodejitsu.com/ )
UFO just landed and posted this here
- Легко модифицируется
- Легко писать C расширения (v8 api обалденный просто)
- Простое развертывание в облаке
- Легкость организации межпрограммного/межсерверного взаимодействия (простая работа с сокетами)
Вот! Проект который у вас под опенсорсом, haibu, это просто одна нода облака? То, что соединяет эти ноды вы не опенсорсили?
Посоветуйте модуль для работы с mysql. Пытался найти самый оптимальный вариант, но возникло больше вопросов чем ответов.
Как-то неоднозначно ситуация с мускулем обстоит.
Особенно интересует кто каким модулем пользуется на боевых серверах.
Как-то неоднозначно ситуация с мускулем обстоит.
Особенно интересует кто каким модулем пользуется на боевых серверах.
http://github.com/mscdex/node-poormansmysql — асинхронный драйвер майскла для ноды, использующий мускулевую командную строку.
Но лучше всего сходи сюда http://nodejsdb.org/
Но лучше всего сходи сюда http://nodejsdb.org/
Стоит дополнить из полезностей на русском для начинающих:
Руководства по языку http://nodeguide.ru/doc/ (низкий поклон создателям)
Блог о разном/интересном http://nodejs.ru/ (жалко редко обновляется)
Руководства по языку http://nodeguide.ru/doc/ (низкий поклон создателям)
Блог о разном/интересном http://nodejs.ru/ (жалко редко обновляется)
Если у вас есть вопросы по node.js, модулям — смело обращайтесь ко мне!
Забавно, как только статья вышла на Smashing Magazine, я взялся ее переводить :) Перевел только пару абзацев и решил сначала доделать перевод статьи про багрепорты :) Если бы я продолжил переводить, получилось бы нехорошо.
А переводите вы очень достойно, спасибо за такое качество!
А переводите вы очень достойно, спасибо за такое качество!
Возможно глупый вопрос — можно ли и как проще всего использовать Node.js (или V8) для создания командлайновых утилиток? Типа как скрипты только на JS.
Есть модули для парсинга аргументов. Тот же же express.js поставляется со скриптом для генерации каркаса.
Для этого написан удобный модуль Commander.js
Добавьте в топик ссылки на сайты dailyjs.com & blog.nodejitsu.com — там частенько появляются новости и обзоры модулей для ноды.
Набросал недавно рейтинг nodejs модулей: modules.node-js.ru/
Rolling on railwayjs :)
Rolling on railwayjs :)
С помощью Mastering Node вы можете разрабатывать высоконагруженные веб-сервера, используя модульность CommonJS, библиотеки ядра Node.js и модули сторонних разработчиков.Простите, вы хоть сами понимаете эту фразу? ;)
Руссскоязычный форум по Node.js: forum.nodejs.ru
Переведённая документация: nodejs.ru/doc/v0.4.x/index.html (fork me)
Sign up to leave a comment.
Полезные инструменты, туториалы и ресурсы