В стане ущербных обосрались. opennet.ru

В репозитории NPM произошёл инцидент, напоминающий произошедшую в 2016 году историю с модулем left-pad, удаление которого привело к неработоспособности многих проектов из-за потери зависимости. На этот раз причиной проблем стала система автоматизированной борьбы со спамом, из-за которой по ошибке были удалены пользователь floatdrop и 102 разработанных им модуля.
Многие из заблокированных модулей пользовались популярностью и использовались в качестве зависимостей в других модулях и приложениях. Недоступность данных модулей привела к каскадному обрушению зависимостей и невозможности установить или обновить тысячи пакетов в NPM. Например, модуль require-from-string, содержащий всего 25 строк кода, насчитывает более 4.5 млн загрузок в месяц, а модуль timed-out (46 строк кода) более 7 млн загрузок в месяц.

Наверняка, многим серьезным веб-программистом преходилось испытать неприязнь, когда они узнавали, что чтобы выложить веб-сайт надо еще изучать пхп. Все соглашаются (и в интернете я тоже читал) что это очень, очень плохой язык. Это на самом деле глупость и когда я прочитал я долго не мог поверить ходил спрашивал и оказалось не зря. Тепер ьвеб-сайты можно писать на самом популярном в мире языке джаваскрипте. Это революционный переворот и он происходит прямо на наших глазах. Что это значит для нас, ребята? Что мы уже знаем, как писать сйты по сути. Я был шокирован, как там все организовано, но похоже они все вопросы продумали с самого начала и договорились что это будет очень востребованный проект.Более того, умные C++ перцы из гугл которые по утрам ездят в автобусах набитых баскетбольными мечами уже работают над тем, чтобы джаваскрипт работал быстрее С++, потому что он комплируется сразу в результат, минуя стадию вычисления! Вы наверняка заметили это по тому, что gmail.com открывается за 5 секунд, а не 20 как это было в до-интернетную эпоху, может хотя бы самые древние. Его кстати тоже делали в гугл. Что это если не порыв я не знаю. То есть, если вы напишете свой сайт на nodejs, он автоматически будет бытсрым и будет масштабироватсья (обрабатывать столько клиентов, сколько пришло, это настоящая проблема в пхп…tonsky.livejournal.com

Недавно убил свой старый чат на linuxquestions.ru, но не стал совсем хоронить домен. Решил все же запилить на нем форум с всякими плюхами вроде реалтаймового обновления и прочих блекджеков в виде нативного баеса и шлюхами в виде Web Push. Сыровато правда пока. Нодежс говно код смелллс)
Короче, если кому не лень в пятницу поглядеть на мои потуги, плз велкам.
Кстати, чем такие аппы тестируют? Что там модно и в трендах?
И еще вопрос, что там с интерфейсом, нравится или нет? Слишком молодежно или просто УГ? Если кто уронит, пишите, буду поглядывать.

Начал выяснять что именно обозначает "неблокирующий ввод–вывод" в Node.js и понял как же мало я знаю. Вот к примеру цитата

Celluloid::IO is one of many systems, including Erlang and Go, that demonstrate that "nonblocking" and "evented" I/O are orthogonal to callbacks. Celluloid uses Ruby's coroutine mechanism to provide a synchronous I/O API on top of an underlying nonblocking system. However, where systems like Node force you to use nonblocking I/O for everything, Celluloid lets you mix and match blocking and nonblocking I/O as your needs demand.
Вот нихуя непонятно. Что лучше, какие есть варианты, какие недостатки. Мне начинает казаться что все эти вчерашние и нынешние разработчики сайтов которые рассказывают какие же это охуенные штуки Node.js & JavaScript и которые бросают PHP ради Node.js просто ничего другого не видели и не знают а об неблокирующем вводе–выводе, асинхронной хуйне ничего не знали до прочтения какой–нибудь статьи и если бы не было шумихи никогда бы и не узнали до конца жизни программируя на PHP.
fennbcom.tumblr.com

Типичный разработчик на нодежс/раби/другоймодныйнедоязык:
github.com

Тупой пидароватый хипстер.

Бля! Он настолько тупой пидароватый хипстер, что когда я залез в профиль на гитхаб, я сразу подумал "ого, да он наверное пишет на руби!". И на самом деле — в репах есть руби, и много.

Кстати, ссылка по которой я его нашел:
github.com

Зацените градус долбоебизма.

Бля.
Это просто пиздец. Пиздец. Блять, он мне будет сниться в кошмарах.
Блять.

Пару дней начал задумываться об использование javascript для серверной разработки. Для этого есть несколько ключевых бонусов, которые решают мои проблемы с которыми я столкнулся на django/tornado. Рано или поздно (если откинуть мелкие) проект разрастается как на бэкенде, но и самое важно на фронтенде.
Например: у нас есть описания модель, для который мы легко можем создать форму с нужной валидацией на стороне сервера, нас это устраивало, но потом мы решили что хорошо бы на стороне клиента перед отправкой тоже делать проверку данных и тут же показывать ошибки/подсказки. Мы это без больших потерь описываем на javascript, но возникает проблема, любые изменения на бэкенде нужно дублировать еще и в javascript. Начинаем думать, прикручивать всякие js библиотеки которые легко позволяют описывать поля и способы валидаций, что опять же костыльно и не решает проблему изменений на сервере. Потом на следующей итераций начинаем смотреть на всякие решения типа dajax для django, которые +/- решает эту проблему, но заставляет менять архитектуру приложения.
И тут врывается v8 который со сносной скоростью позволяет использовать js на серверах. Я тут загорелся желанием посмотреть какие инструменты существуют, ведь нам это в теории позволяет писать код один раз и использовать его и на сервере, и на клиенте. Это то чем любят хвастаться джаваскриптеры. Описал один раз модель, дополнительные свойства для формы, и выполняй прозрачно проверку в двух местах. Но на практике я не нашел ни одного инструмента который реализует это. Есть решения которые позволяют рендеринг страницы переложить на плечи клиента, а если у клиента нет js, или это поисковый паук то тот же шаблон отрендерится на сервер, и отдаст готовый html. Но этим уже не кого не удивишь, такие решения уже есть и для django/rails.
Для меня сейчас node.js как tornado, просто инструмент для построения асинхронного сервер, поверх которого можно накрутить что то. Но все же я перенесу внимание на node.js только потому что в данный момент его популярность на порядок выше, и для него пишут намного больше интересных модулей, и самое главное, на что я надеюсь, все же будут развивать идею одной кодовой базы для сервера/клиента. Да есть уже всякие метеоры, SocketStream, от яху был инструмент которые позволял прозрачно переносить расчеты между сервером и клиентом и т.д, но это всё что то не. Для того же торнадо есть torandio2 (лучше посмотреть в сторону sockjs-tornado) который позволяет очень быстро и легко писать приложения которые нуждаются в постоянном соединение с сервером. Но ни одно не решает проблему взаимодействия с клиентской логикой интерфейса.

есть скриптик который должен прочитать около 70Гб файлов и обработать их, на самом деле получается что полностью обрабатываются около 90 строчек и потом буфер начинает забиваться и примерно через полминуты все падает потому что сжирает всю память, как можно синхронизировать построчное чтение из таких больших файлов? pastie.org (откомпиленный pastie.org (в файлах строки типа "1:[1,2,3],")

почему у меня один и тот же код pastie.org например для getPage("horoscope.ra-project.net", '/api/1', function (text) { ... }) работает нормально а для getPage("www.google.com", '/ig/api?weather=Москва&hl=ru', function (text) { ... }) выдает что то в некорректной кодировке? (в браузере оба запроса возвращают utf8)

Node.js is like Erlang. Without propper tail recursion. Without inter process protocol goodness. Without 20 year OTP reliability development by @JFriedensreich from Twitter

Вброс жесток, но в принципе куда как по делу. ) Разве что, Node.js сейчас красив тем, что к примеру можно писать не уча Erlang, и в стиле Ruby/Python используя CoffeeSctipt

Отличный наброс: "Node.js — раковая опухоль" habrahabr.ru
В Node практически нет функций, напрямую выполняющих операции ввода-вывода, так что процесс никогда не блокируется. Из-за того, что ничего не блокируется, менее-чем-эксперты могут разрабатывать быстрые системы.
Это утверждение заманчиво, ободряюще и полностью, блядь, неверно.

жуйк, а как бы ты стал делать эдакую "дазу данных" с хранилищем в виде xml'ки и вебмордой?
база небольшая, должна даже в рамке умещаться, и производительность не сильно критична, но нужно таки чтобы xmlя была все (или почти все) время в актуальном состоянии.

* перечитывать (+ возможно еще и переписывать) файло при каждом запросе — имхо нереально долго, даже при очень малом объеме.
* если хранить в памяти и синхронизировать изменения, то ответ можно получть относительно быстро, но нужно как-то синхронизироваться..
* делать журналирование — как-то сложновато для задачи..

The Register пишет восхваляющую статью про Go j.mp
Причиной видимо послужил Doozer (#1326584), пару раз за статью упоминается Erlang, что приятно :) ну и конечно приятно, что опусканию node.js выделили достаточно большое количество времени, причём более или менее в терминах о которых я писал в #1173766.

Видимо, я окончательно ухожу от fcgi в пользу nginx perl embedded и потихоньку присматриваюсь к Node, уж очень тёплые чувства у меня к javascript, ведь первым языком, который я изучил досконально, был jscript :)

Хорошо, никого не заинтересовала идея написать джаббер сервер на node.js в этом посте: #1218376
Тогда у меня другая идея — давайте напишем его на perl. Модульный сервер, при перезапуске которого не будут отваливаться коннекты пользователей. Каждый ХЕР будет реализован отдельным модулем. А?

Народ, давайте напишем джаббер сервер на node.js и реализуем на нём самые экзотические и вкусные ХЕРы! Бродкастные сообщения, подтверждения доставки и кучу всего.
Будем потом тыкать в харю разработчикам клиентов и говорить — вот, на сервере это есть, добавляйте поддержку в клиент!