Исключая всякие полезные мелочи, типа возможности застримить тело POST-запроса — основное отличие ноды от async/await фреймворков в питоне/C#/вотэва в том, что цель последних — замаскировать асинхронность; ты пишешь типа синхронный код, вся магия скрыта в самом фреймворке. В ноде это не так. Вся асинхронность явно вынесена наружу, и ты должен писать код с пониманием того, как оно работает.
> Назовите топ-5 полезных библиотек для node.js, которые недавно вышли.
Ммм. Вообще-то весь nodejs недавно вышел. Ну ок, скажем, React, eslint, jsdoc3, gulp, swagger-tools
Алаверды, назовите топ-5 полезных библиотек для питона, которые недавно вышли.
> Суть в том, что серьезных сложных библиотек в других языках программирования не появляется так много, как в случае node.js.
Это проблема nodejs — в нём появляется слишком много серьёзных сложным библиотек? Серьёзно?
> Когда стандартов много, их нет. Возможно, вы не знали об этом?
Имею некоторое представление. Стандарт на ECMAScript как бы один — тот, который TC39 разрабатывает.
> Как насчет pydb? PyCharm Ultimate версии отлично умеет в удаленную отладку, только path mapping настроить.
Сюрприз — WebStorm точно такую же удалённую отладку Nodejs имеет.
Ага, всего лишь горстка приличных SQL пакетов. Позднее вы поймете, что все существующие ORM инструменты никуда не годятся и то, что базовый драйвер — это лучший выбор.
Во-первых, вы так говорите «базовый драйвер», как будто это что-то плохое.
Во-вторых, ну уж точно всяких ORM-ов под ноду написано не меньше, чем под всё остальное. Возможно, вместе взятое.
Вы никогда не станете мастером того, что движется с такой, ломающей голову скоростью.
У меня плохая новость для всех вас. Сегодня становится мастером тот, кто умеет изменяться «с ломающей голову скоростью».
Это способ писать код, который выглядит более-менее синхронно, без сумасшедшей 'callback' логики.
Этот пассаж я даже не знаю как комментировать. А что, callback в промисе чем-то отличается от остальных?
Последней каплей было то, что я обнаружил отсутствие стандартов.
Что, серьёзно, кто-то жалуется на недостаточное количество стандартов в JS?
Это всё накаляет… Никто не может сказать, как написать стандартизированный JavaScript-код. Просто забейте в гугле «JavaScript Coding Standards» и вы поймете, что я имею ввиду.
Вероятно, автор имеет в виду то, что он не понимает разницы между кодстайлом и стандартом.
Это проверенный временем вариант с великолепными стандартами, библиотеками, легкой отладкой и стабильной работой.
А напомните инструмент легкой отладки серверного Питона кто-нибудь.
Чо-т пираты не больно-то горят желанием шарить знания бесплатно. Все как один рекламой увешаны не хуже порносайтов. Ну и да, сайты сомнительной легальности первыми начнут репрессивные меры против пользователей с адблоками, им за репутацию переживать нечего. Унесут какие-нибудь редкие книги и знания в платные разделы, например.
Да ну написано ж — климат стал ухудшаться из-за разрастания площади материков.
Вода, которую отведут из Арктики (+ растаявшие льды) затопит огромные прибрежные территории.
Самая прямая аналогия с отключателями рекламы — отказники от прививок.
Известно, что прививка несёт некоторый (пусть минимальный) риск осложнений. Отказался от прививки — не рисковал осложнениями. И до тех пор, пока вас таких умных мало — в целом, всем ок.
Но вот если процент непривитых превысит некоторую отметку — получится риск эпидемии, которая и привитых тоже заденет (пусть с меньшими рисками осложнений, но всё же).
Итого, вы чуть-чуть воруете из общей безопасности, но вам лично от этого ок.
То же и с блокираторами. Пока вас мало, всем ок. Когда вас станет больше — производителям контента придётся отказываться от обычных моделей монетизации в сторону всё более агрессивных. В сторону попандеров, пэйволлов, шок-контента, вот это всё. Хуже от этого станет всем, в том числе и тем, кто рекламу не отличал.
Поэтому да, вы в известной степени воруете, более того — лично у меня и у любого другого пользователя интернета, у которого блокировщика рекламы нет. Я лично согласен с текущими правилами игры — я потребляю контент бесплатно, но смотрю рекламу. А из-за вас умных правила меняются и бесплатного контента становится меньше. Dixi.
Во-первых, nextTick и setImmediate определены в Nodejs и в браузере соответственно, а не в стандарте ECMAScript
Во-вторых, а дайте определение «асинхронности» и «отложенности», пожалуйста.
> Асинхронные операции выполняются не в движке, а в окружении (5,6). Окружение — надстройка на движком. NodeJS и Chrome для движка V8 и Firefox для Gecko. Иногда окружение еще называют web API.
ШТА?
Дорогой автор, вся «асинхронность», т.е. порядок выполнения job-ов, описаны непосредственно в стандарте ECMAScript
http://www.ecma-international.org/ecma-262/6.0/index.html#sec-executable-code-and-execution-contexts
Почитайте на досуге. Например, промисы принципиально по стандарту работают асинхронно.
WebAPI — это просто все API, определённые в браузере, а не в стандарте ECMA.
А что, никому не приходит в голову простая мысль, что потраченное время — как непосредственно на диагностику и ремонт, так и на обучение человека всем этим тонкостям — как бы не бесплатное, и стоит ну как минимум сопоставимо с 750 долларами?
И дело даже не в том, что выкинуть материнскую плату и поставить новую элементарно дешевле — а в том, что альтернативное решение немасштабируемо. Попросту невозможно найти несколько сот тысяч сервис-инженеров, способных каждый день по восемь часов нестандартно мыслить и творчески решать проблемы клиентов.
Как человек, имевший некоторое (пусть и по касательной) отношение к обсуждению и утверждению HTTP/2 должен заметить, что статья совершенно безграмотна и с технической, и с архитектурной точки зрения.
Достаточно сказать, что в двух соседних абзацах автор сначала жалуется на то, что HTTP/2 плохо структурирован и лезет в чужие уровни абстракции, а потом требует добавить в HTTP/2 шифрование и управление идентфикаторами сессий.
HTTP/2 неидеальный стандарт. Однако критиковать его бессмыссленно просто потому что он не окажет никакого воздействия на производительность сети. Ну да, некоторые крупные сервисы найдут на чем сэкономить пару процентов, но не более того.
Позвольте, а кто вам вообще сказал, что на неё (производительность сети) можно как-то повлиять на уровне протокола HTTP? HTTP — очень-очень-очень ограниченный протокол. Он всего лишь описывает заголовки выполнения операций над ресурсами. Всё остальное делается либо на предыдущих шести уровнях сетевого стека, либо на уровне веб-приложения. Ну вот да, в HTTP/2 понапихали всяких кросс-интеграций и оптимизаций, получив очень сложный стек с примерно нулевым влиянием на реальный мир.
Ммм. Вообще-то весь nodejs недавно вышел. Ну ок, скажем, React, eslint, jsdoc3, gulp, swagger-tools
Алаверды, назовите топ-5 полезных библиотек для питона, которые недавно вышли.
> Суть в том, что серьезных сложных библиотек в других языках программирования не появляется так много, как в случае node.js.
Это проблема nodejs — в нём появляется слишком много серьёзных сложным библиотек? Серьёзно?
> Когда стандартов много, их нет. Возможно, вы не знали об этом?
Имею некоторое представление. Стандарт на ECMAScript как бы один — тот, который TC39 разрабатывает.
> Как насчет pydb? PyCharm Ultimate версии отлично умеет в удаленную отладку, только path mapping настроить.
Сюрприз — WebStorm точно такую же удалённую отладку Nodejs имеет.
Во-первых, вы так говорите «базовый драйвер», как будто это что-то плохое.
Во-вторых, ну уж точно всяких ORM-ов под ноду написано не меньше, чем под всё остальное. Возможно, вместе взятое.
У меня плохая новость для всех вас. Сегодня становится мастером тот, кто умеет изменяться «с ломающей голову скоростью».
Этот пассаж я даже не знаю как комментировать. А что, callback в промисе чем-то отличается от остальных?
Что, серьёзно, кто-то жалуется на недостаточное количество стандартов в JS?
Вероятно, автор имеет в виду то, что он не понимает разницы между кодстайлом и стандартом.
А напомните инструмент легкой отладки серверного Питона кто-нибудь.
Пользуюсь. У меня просто память чуть длиннее, чем у среднестатистического анонимуса
http://lurkmore.co/%D0%A4%D0%BB%D0%B8%D0%B1%D1%83%D1%81%D1%82%D0%B0#.D0.A4.D0.BB.D0.B8.D0.B1.D1.83.D1.81.D1.82.D0.B0
Чо-т пираты не больно-то горят желанием шарить знания бесплатно. Все как один рекламой увешаны не хуже порносайтов. Ну и да, сайты сомнительной легальности первыми начнут репрессивные меры против пользователей с адблоками, им за репутацию переживать нечего. Унесут какие-нибудь редкие книги и знания в платные разделы, например.
Мозилле core-продукт бы сохранить.
Все инциденты с радиоактивными материалами фиксируются МАГАТЭ. Нет в отчёте МАГАТЭ = враньё.
Правда эти случаи бывали в Китае, Бразилии, Эстонии, Испании, Турции, Таиланде, Саудовской Аравии — в общем, где угодно, кроме России, а так да.
https://en.wikipedia.org/wiki/List_of_civilian_radiation_accidents
Вода, которую отведут из Арктики (+ растаявшие льды) затопит огромные прибрежные территории.
Известно, что прививка несёт некоторый (пусть минимальный) риск осложнений. Отказался от прививки — не рисковал осложнениями. И до тех пор, пока вас таких умных мало — в целом, всем ок.
Но вот если процент непривитых превысит некоторую отметку — получится риск эпидемии, которая и привитых тоже заденет (пусть с меньшими рисками осложнений, но всё же).
Итого, вы чуть-чуть воруете из общей безопасности, но вам лично от этого ок.
То же и с блокираторами. Пока вас мало, всем ок. Когда вас станет больше — производителям контента придётся отказываться от обычных моделей монетизации в сторону всё более агрессивных. В сторону попандеров, пэйволлов, шок-контента, вот это всё. Хуже от этого станет всем, в том числе и тем, кто рекламу не отличал.
Поэтому да, вы в известной степени воруете, более того — лично у меня и у любого другого пользователя интернета, у которого блокировщика рекламы нет. Я лично согласен с текущими правилами игры — я потребляю контент бесплатно, но смотрю рекламу. А из-за вас умных правила меняются и бесплатного контента становится меньше. Dixi.
Дмитренко.
Во-вторых, а дайте определение «асинхронности» и «отложенности», пожалуйста.
ШТА?
Дорогой автор, вся «асинхронность», т.е. порядок выполнения job-ов, описаны непосредственно в стандарте ECMAScript
http://www.ecma-international.org/ecma-262/6.0/index.html#sec-executable-code-and-execution-contexts
Почитайте на досуге. Например, промисы принципиально по стандарту работают асинхронно.
WebAPI — это просто все API, определённые в браузере, а не в стандарте ECMA.
И дело даже не в том, что выкинуть материнскую плату и поставить новую элементарно дешевле — а в том, что альтернативное решение немасштабируемо. Попросту невозможно найти несколько сот тысяч сервис-инженеров, способных каждый день по восемь часов нестандартно мыслить и творчески решать проблемы клиентов.
Достаточно сказать, что в двух соседних абзацах автор сначала жалуется на то, что HTTP/2 плохо структурирован и лезет в чужие уровни абстракции, а потом требует добавить в HTTP/2 шифрование и управление идентфикаторами сессий.
HTTP/2 неидеальный стандарт. Однако критиковать его бессмыссленно просто потому что он не окажет никакого воздействия на производительность сети. Ну да, некоторые крупные сервисы найдут на чем сэкономить пару процентов, но не более того.
Позвольте, а кто вам вообще сказал, что на неё (производительность сети) можно как-то повлиять на уровне протокола HTTP? HTTP — очень-очень-очень ограниченный протокол. Он всего лишь описывает заголовки выполнения операций над ресурсами. Всё остальное делается либо на предыдущих шести уровнях сетевого стека, либо на уровне веб-приложения. Ну вот да, в HTTP/2 понапихали всяких кросс-интеграций и оптимизаций, получив очень сложный стек с примерно нулевым влиянием на реальный мир.