async await тоже не блокирует node js в соседней вкладке или в другом браузере запрос будет проходить нормально, ожидание происходит только внутри конкретной функции
Да, конечно. В примере он только наш текущий request заблокировал, потому что в response данные только в методе end пишем, а вызов response.end расположен ниже await.
немного непонятно про кластеры было что это и зачем. Второй момент это откуда берутся настройки для того чтоб на сервере чтоб вместо ip с портом был домен
Про кластер дополню в ролике про event loop. А на сервере я для nginx настроил reverse proxy. Т.е. обычный nginx, который умеет раздавать статику с домена, теперь все запросы клиентов проксирует к нашему node-скрипту.
То есть в Java или C#, или C++, если я буду писать код, и он, очевидно, по умолчанию будет однопоточным, если я это явно не укажу, то получаются и эти языки также однопоточные, а не многопоточные, судя по вашей логике с Node.js? Покажите мне язык где не нужно явно указывать, что мы распараллеливаем задачу? В том же Go есть оператор go, как явное указание параллельной операции
Нет, имел ввиду, что в js и node мы не можем получить проблемы с потоками до тех пор, пока сами не запустим, например, worker threads. Если я сделаю топорный сигнлтон у класса в js, то он не может быть непотокобезопасным как в примере на java, потому что поток один. Если я подписался на клик по кнопке, он не скажет мне, что надо обёртку сделать, чтобы не было проблем с потоками. Ведь поток 1. А, например, в C# помню такую вещь, клик по кнопке обрабатываешь в десктопной проге, а она не даёт к полю класса обратиться, так как с ним может основной поток работать в это же время. И нужна потокобезопасная обёртка, иначе компилятор ругается. Т.е. есть языки, где многопоточность сама настигнет программиста. А есть языки, где проблем с потоками вообще быть не может, пока сам WebWorker или worker threads не задействуешь.
@@dmitrylavrik Так это больше про то, кто как вещи называет. Я вам скажу больше, даже без worker_threads и многопоточности явной, в рантаймах js'а могут возникать race conditions на одной лишь ассинхронности, т.е. уже можно сделать вывод что по факту физически Нода априори не может быть однопоточной, ибо под неё со старта по умолчанию аллоцируются 4 потока системы для I/O операций, которые разруливаются LibUV, который по факту и есть Node.js, представляющий одну из его частей
Да это не явная многопоточность, как в известных комплиируемых языках, мы ей напрямую так и не управляем, но также ведь мы, если не захотим и не управляем многопоточностью в том же Go) Если бы нода или браузер были однопоточными в единственном значении этого слова, без каких-либо но, то не было бы никакой асинхронности в том числе, ибо эти понятия тесно связаны
С тем, что сам Js как язык однопоточный я соглашусь, но вот райнтаймы уже невозможно воспринимать без многопоточности, потому что по факту райнтаймы, что браузер, что нода, это C++ низкоуровневой код + аддоны. Т.е. Нода (C++ + JavaScript) многопоточный, а JavaScript сам по себе нет
@@DimaTagiev ну вот да, поэтому люди и спорят на эту тему. В том числе на youtube можно много противоположных мнений найти. Кто-то на сам однопоточный язык javascript смотрит, а кто-то на многопоточную среду выполнения (браузер, нода). Мне привычнее считать и называть это однопоточным. Потому что, даже если потоков под капотом у системы много, код мы пишем как в однопоточных языках. Но тут кому как удобнее)
Если в названии написано что то нелогичное можно ли рассчитывать что и видео будет таким же? Как минимум то что нет такого языка как nodejs, собственн с каким языком вы тут тогда знакомитесь?
понятно что автор имеет ввиду, но зачем ноду называть языком программирования) представляю как у новичков крыша едет: "подождите, есть js это понятно, но что node.js - это тоже язык??? да ну его, это ит." стартовая страница heroku тоже тому пример, но там в пару к ноде они ещё и дот нет языком обозначили.
Согласен, во втором видео уточню этот момент для новичков. У меня это как-то на уровне сленга укоренилось с начала 2010-ых. В духе "на чём прогаешь / на каком языке прогаешь? - на ноде" . Идёт как сокращение, чтобы долго не говорить "на javascript под node-платформу" и т.п.
Отличное начало, ждем продолжение. Все на ноду!
Оо, вот это очень даже кстати! Спасибо за подгон 👍
Спасибо за ролик, было полезно! Буду ждать следующий
Класс, хочу продолжение
Диман, привет, мой первый сансей! ✌️
молодец
async await тоже не блокирует node js в соседней вкладке или в другом браузере запрос будет проходить нормально, ожидание происходит только внутри конкретной функции
Да, конечно. В примере он только наш текущий request заблокировал, потому что в response данные только в методе end пишем, а вызов response.end расположен ниже await.
немного непонятно про кластеры было что это и зачем. Второй момент это откуда берутся настройки для того чтоб на сервере чтоб вместо ip с портом был домен
Про кластер дополню в ролике про event loop. А на сервере я для nginx настроил reverse proxy. Т.е. обычный nginx, который умеет раздавать статику с домена, теперь все запросы клиентов проксирует к нашему node-скрипту.
То есть в Java или C#, или C++, если я буду писать код, и он, очевидно, по умолчанию будет однопоточным, если я это явно не укажу, то получаются и эти языки также однопоточные, а не многопоточные, судя по вашей логике с Node.js?
Покажите мне язык где не нужно явно указывать, что мы распараллеливаем задачу? В том же Go есть оператор go, как явное указание параллельной операции
Нет, имел ввиду, что в js и node мы не можем получить проблемы с потоками до тех пор, пока сами не запустим, например, worker threads.
Если я сделаю топорный сигнлтон у класса в js, то он не может быть непотокобезопасным как в примере на java, потому что поток один.
Если я подписался на клик по кнопке, он не скажет мне, что надо обёртку сделать, чтобы не было проблем с потоками. Ведь поток 1. А, например, в C# помню такую вещь, клик по кнопке обрабатываешь в десктопной проге, а она не даёт к полю класса обратиться, так как с ним может основной поток работать в это же время. И нужна потокобезопасная обёртка, иначе компилятор ругается.
Т.е. есть языки, где многопоточность сама настигнет программиста. А есть языки, где проблем с потоками вообще быть не может, пока сам WebWorker или worker threads не задействуешь.
@@dmitrylavrik Так это больше про то, кто как вещи называет. Я вам скажу больше, даже без worker_threads и многопоточности явной, в рантаймах js'а могут возникать race conditions на одной лишь ассинхронности, т.е. уже можно сделать вывод что по факту физически Нода априори не может быть однопоточной, ибо под неё со старта по умолчанию аллоцируются 4 потока системы для I/O операций, которые разруливаются LibUV, который по факту и есть Node.js, представляющий одну из его частей
Да это не явная многопоточность, как в известных комплиируемых языках, мы ей напрямую так и не управляем, но также ведь мы, если не захотим и не управляем многопоточностью в том же Go) Если бы нода или браузер были однопоточными в единственном значении этого слова, без каких-либо но, то не было бы никакой асинхронности в том числе, ибо эти понятия тесно связаны
С тем, что сам Js как язык однопоточный я соглашусь, но вот райнтаймы уже невозможно воспринимать без многопоточности, потому что по факту райнтаймы, что браузер, что нода, это C++ низкоуровневой код + аддоны. Т.е. Нода (C++ + JavaScript) многопоточный, а JavaScript сам по себе нет
@@DimaTagiev ну вот да, поэтому люди и спорят на эту тему. В том числе на youtube можно много противоположных мнений найти. Кто-то на сам однопоточный язык javascript смотрит, а кто-то на многопоточную среду выполнения (браузер, нода).
Мне привычнее считать и называть это однопоточным. Потому что, даже если потоков под капотом у системы много, код мы пишем как в однопоточных языках. Но тут кому как удобнее)
26:27 есть же htaccess
для php уже давно есть roadrunner и аналоги
Если в названии написано что то нелогичное можно ли рассчитывать что и видео будет таким же? Как минимум то что нет такого языка как nodejs, собственн с каким языком вы тут тогда знакомитесь?
понятно что автор имеет ввиду, но зачем ноду называть языком программирования) представляю как у новичков крыша едет: "подождите, есть js это понятно, но что node.js - это тоже язык??? да ну его, это ит." стартовая страница heroku тоже тому пример, но там в пару к ноде они ещё и дот нет языком обозначили.
Согласен, во втором видео уточню этот момент для новичков. У меня это как-то на уровне сленга укоренилось с начала 2010-ых. В духе "на чём прогаешь / на каком языке прогаешь? - на ноде" . Идёт как сокращение, чтобы долго не говорить "на javascript под node-платформу" и т.п.