Pull to refresh

Comments 70

Спасибо огромное!) как раз думаю активно изучать node.js
Пожалуйста =) Этого материала точно хватит для начала — проверено на себе. К продолжению уже будете готовы, как минимум, теоретически.
UFO just landed and posted this here
Господа, был найден клад! Спасибо.
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
Список обновляется каждую ночь. Сквозную сортировку конечно надо сделать тоже, а также тренды недели (сортировать по приросту вотчеров за неделю, скажем) — так можно будет отследить что-то новое и интересное. Сделаю обязательно, как будет свободная минутка.
UFO just landed and posted this here
Изучаю Node.js около полугода, пишу в основном анализаторы текстовых файлов и качалки информации с сайтов. Нехватало работы с окнами, спасибо за наводку на nwm буду изучать.
Народ, поделитесь практическим опытом использования Node.js. не ссылками на обсуждения в инете, а сугубо личным. особо интересуют такие вопросы:

1. Какие задачи решаете с его помощью?
2. почему выбрали именно его, по какому критерию?
3. грабли, танцы с бубнами, эффективные заклинания?
4. чем для *ваших* задач он лучше? (перекликается с 2, но иногда сначала выбирают, а потом приходит понимание)

Спасибо.
Уже использую в связке с редисом для реализации автокомплита на высоконагруженом сайте — если интерестно — напишу отдельный топик. Плюс используем для быстрого доступа клиентского джиэса к серверному кешу (редис и мэмкеш)
да интересно. просто, я пробовал его пощупать и либо я дурак, либо оно не о чем.

Тоесть единственный как бы «плюс» это то что он написан на JS. Все остальное и архитектурно и концептуально настолько ммммммм странно, что я даже не понял зачем оно надо.

Но смотря на то сколько народу пытается чтото на нем делать, у меня шевилится мысль, что я уже старый сильно и чего то не догоняю
Далее оффтоп. 34 — старый? =) Не согласен на корню.
пока еще 33 :) но тем не менее при взгляде на ноду мне кажется что это шаг назад, который многим вылезет боком. но наличие такого количества энтузиастов, наталкивает на мысль, что я чтото пропустил
Когда я в студенчестве увидел Prolog впервые, я подумал — как на этом можно писать?! Оказалось что просто надо иначе думать. Тут типа то же самое: думаешь асинхронно и уже нет никакой каши ни в голове, ни в коде. Но надо руку набить сперва, как и везде, в общем-то, будь то руби или скала.
я про поддерживаемость кода, а не про трудность его написания
Эти понятия идут рука об руку, иначе вопрос о многоэтажности колбэков вообще не возник бы: написал и ладно. Я как раз про то, как лучше написать так, чтоб потом не было мучительно больно через пару месяцов читать код.
Я правильно понял что основная проблема это асинхронность нода? Если так, то я в принципе согласен что для многих задач это преждевременная оптимизация. Поэтому я написал Common Node который позволяет мне писать код в синхронном стиле не теряя преимуществ нода (низкий объем памяти, скорость и JavaScript).
Главная проблема, на мой взгляд, это колбэки и то с какой скоростью превращается код их использующий в кашу.

+ Если к этому добавить «родовые травмы» JS — динамическую типизацию, неявный вывод типов и нестрогий синтаксисом, то большие проекты хз как сопровождать. Ниже, человек написал что у них 100к слоков на js — я натурально в осадок выпал. У меня был опыть питоновского проекта гдетона на 70к и 7 разработчиков — это быстро стало адом.

js отличный скриптовый язык но тянуть его на сервер — не могу этого понять. учитавая что есть эланг и прочие функциональные языки.
Я и имел в виду проблемы с кучей колбэков под асинхронностью. Мой проект решает эти проблемы.

По поводу языка, я не согласен. Используя модули и packages, очень даже удобно работать с большими проектами. JavaScript благодаря его динамичности очень компактный а прототипы позволяют писать код в разных стилях начиная с процедурного вплоть до функционального.
Проблема не только в глубине но и в отсутствии контекста и лишнего «boilerplate» кода.
человек написал что у них 100к слоков на js
Разрешите узнать, что Вы имели в виду, говоря «слоков».
1) Используем для управления облачным хостингом — справляется на ура!
2) Две причины: javascript очень гибок и удобен, наш хостинг для node.js приложений
3) Стараемся обходится без грабель, все «недостатки» решаются созданием pull request для node с фиксом ошибок или с усовершенствованием API
4) см. 2
сколько разработчиков в проекте, сколько строк кода, хотябы примерно, в той части что под ноду?

спасибо
100 000 строк яваскрипт кода??? офигеть. а можете рассказать как организована работа с ним? поддержка, рефакторинг, тестирование?

сервис сильно нагружен? сегментейшен фолт часто бывает?

Спасибо.
UFO just landed and posted this here
мы оба говорим о коде под node.js?
UFO just landed and posted this here
Боевого кода привести не могу, но во время моих экпериментов, месяца 3 назад, регулярно валилось при работе с мускулом.

гугленье тогда показало что сегфолт, в разных ситуациях ловят почти все. в том числе были релизы, которые просто при установке высыпались.

+ была серьезная проблема с поддержкой кирилицы (не utf8). как сейчас не знаю.

вчера через личку пообщались с хорошим человеком, по его мнению в последнем релизе сегфолтов стало значительно меньше.
UFO just landed and posted this here
Ну вот в ваш pure-js код, приходит строка кирилицы в win1251 и гдето внутри ноды что-то сыплется и в результате имеем сегфолт. это чьих кривых рук дело?

вот, пример нагуглил ошибка в регэкспе приводит к сегфолту.

Все разбито на модули, в каждом до 5 тысяч строк.
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 приходятся очень кстати.
Почему именно нода?
Чуваки, одумайтесь.
JS — классная вещь, но нода — это не то, ради чего стоит потратить лучшие годы жизни.

Три с половиной человека, делающие протоипы сайтов — это стандарт, а сотни, с нуля поднимающие платформу — это уже явление.

Сам чуть не попался на эту ловушку, отсюда и такой непозитивный комментарий.
Node.js — это не только сайты. Более того, я рекомендую использовать его для создания сервисов. Для создания сайтов есть множество других популярных и намного более удобных технологий (взять хотя бы RoR).
Наша компания активно использует node.js, никаких нареканий нет, а если и были — сами поправили все и предложили на review авторам.
UFO just landed and posted this here
UFO just landed and posted this here
  • Легко модифицируется
  • Легко писать C расширения (v8 api обалденный просто)
  • Простое развертывание в облаке
  • Легкость организации межпрограммного/межсерверного взаимодействия (простая работа с сокетами)
UFO just landed and posted this here
Абсолютно ничем.
Только про API.

Мое мнение исключительно субъективно и основано только лишь на личном опыте разработки приложений на python/ruby/erlang/node.js
Вот! Проект который у вас под опенсорсом, haibu, это просто одна нода облака? То, что соединяет эти ноды вы не опенсорсили?
На данный момент — нет. Все остальное закрытые технологии.
Посоветуйте модуль для работы с mysql. Пытался найти самый оптимальный вариант, но возникло больше вопросов чем ответов.
Как-то неоднозначно ситуация с мускулем обстоит.

Особенно интересует кто каким модулем пользуется на боевых серверах.
UFO just landed and posted this here
Стоит дополнить из полезностей на русском для начинающих:
Руководства по языку http://nodeguide.ru/doc/ (низкий поклон создателям)
Блог о разном/интересном http://nodejs.ru/ (жалко редко обновляется)
Спасибо, добавил! Как то мимо них проходил…
UFO just landed and posted this here
UFO just landed and posted this here
Низкий поклон тебе за труды! Очень полезное руководство.
Жалко кармы недостаточно, заплюсовал бы.
UFO just landed and posted this here
Если у вас есть вопросы по node.js, модулям — смело обращайтесь ко мне!
Забавно, как только статья вышла на Smashing Magazine, я взялся ее переводить :) Перевел только пару абзацев и решил сначала доделать перевод статьи про багрепорты :) Если бы я продолжил переводить, получилось бы нехорошо.

А переводите вы очень достойно, спасибо за такое качество!
Спасибо за лестный отзыв! Передам учителям при случае )
Возможно глупый вопрос — можно ли и как проще всего использовать Node.js (или V8) для создания командлайновых утилиток? Типа как скрипты только на JS.
Есть модули для парсинга аргументов. Тот же же express.js поставляется со скриптом для генерации каркаса.
Добавьте в топик ссылки на сайты dailyjs.com & blog.nodejitsu.com — там частенько появляются новости и обзоры модулей для ноды.
С помощью 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.

Articles

Change theme settings