Введение в Node.js. Часть 1. Знакомство с языком

แชร์
ฝัง
  • เผยแพร่เมื่อ 25 ม.ค. 2025

ความคิดเห็น • 22

  • @ValentinStartsev
    @ValentinStartsev 13 วันที่ผ่านมา +2

    Отличное начало, ждем продолжение. Все на ноду!

  • @timm4268
    @timm4268 13 วันที่ผ่านมา +1

    Оо, вот это очень даже кстати! Спасибо за подгон 👍

  • @korobkaneskvika2740
    @korobkaneskvika2740 13 วันที่ผ่านมา +1

    Спасибо за ролик, было полезно! Буду ждать следующий

  • @АнтонСтасюк-е4р
    @АнтонСтасюк-е4р 13 วันที่ผ่านมา

    Класс, хочу продолжение

  • @yakut54
    @yakut54 13 วันที่ผ่านมา

    Диман, привет, мой первый сансей! ✌️

  • @Don_Miguel
    @Don_Miguel 13 วันที่ผ่านมา

    молодец

  • @blazheiko777
    @blazheiko777 13 วันที่ผ่านมา

    async await тоже не блокирует node js в соседней вкладке или в другом браузере запрос будет проходить нормально, ожидание происходит только внутри конкретной функции

    • @dmitrylavrik
      @dmitrylavrik  13 วันที่ผ่านมา +1

      Да, конечно. В примере он только наш текущий request заблокировал, потому что в response данные только в методе end пишем, а вызов response.end расположен ниже await.

  • @vladislavtomasciuc8273
    @vladislavtomasciuc8273 13 วันที่ผ่านมา

    немного непонятно про кластеры было что это и зачем. Второй момент это откуда берутся настройки для того чтоб на сервере чтоб вместо ip с портом был домен

    • @dmitrylavrik
      @dmitrylavrik  13 วันที่ผ่านมา +1

      Про кластер дополню в ролике про event loop. А на сервере я для nginx настроил reverse proxy. Т.е. обычный nginx, который умеет раздавать статику с домена, теперь все запросы клиентов проксирует к нашему node-скрипту.

  • @DimaTagiev
    @DimaTagiev 13 วันที่ผ่านมา

    То есть в Java или C#, или C++, если я буду писать код, и он, очевидно, по умолчанию будет однопоточным, если я это явно не укажу, то получаются и эти языки также однопоточные, а не многопоточные, судя по вашей логике с Node.js?
    Покажите мне язык где не нужно явно указывать, что мы распараллеливаем задачу? В том же Go есть оператор go, как явное указание параллельной операции

    • @dmitrylavrik
      @dmitrylavrik  13 วันที่ผ่านมา +2

      Нет, имел ввиду, что в js и node мы не можем получить проблемы с потоками до тех пор, пока сами не запустим, например, worker threads.
      Если я сделаю топорный сигнлтон у класса в js, то он не может быть непотокобезопасным как в примере на java, потому что поток один.
      Если я подписался на клик по кнопке, он не скажет мне, что надо обёртку сделать, чтобы не было проблем с потоками. Ведь поток 1. А, например, в C# помню такую вещь, клик по кнопке обрабатываешь в десктопной проге, а она не даёт к полю класса обратиться, так как с ним может основной поток работать в это же время. И нужна потокобезопасная обёртка, иначе компилятор ругается.
      Т.е. есть языки, где многопоточность сама настигнет программиста. А есть языки, где проблем с потоками вообще быть не может, пока сам WebWorker или worker threads не задействуешь.

    • @DimaTagiev
      @DimaTagiev 12 วันที่ผ่านมา

      @@dmitrylavrik Так это больше про то, кто как вещи называет. Я вам скажу больше, даже без worker_threads и многопоточности явной, в рантаймах js'а могут возникать race conditions на одной лишь ассинхронности, т.е. уже можно сделать вывод что по факту физически Нода априори не может быть однопоточной, ибо под неё со старта по умолчанию аллоцируются 4 потока системы для I/O операций, которые разруливаются LibUV, который по факту и есть Node.js, представляющий одну из его частей

    • @DimaTagiev
      @DimaTagiev 12 วันที่ผ่านมา

      Да это не явная многопоточность, как в известных комплиируемых языках, мы ей напрямую так и не управляем, но также ведь мы, если не захотим и не управляем многопоточностью в том же Go) Если бы нода или браузер были однопоточными в единственном значении этого слова, без каких-либо но, то не было бы никакой асинхронности в том числе, ибо эти понятия тесно связаны

    • @DimaTagiev
      @DimaTagiev 12 วันที่ผ่านมา

      С тем, что сам Js как язык однопоточный я соглашусь, но вот райнтаймы уже невозможно воспринимать без многопоточности, потому что по факту райнтаймы, что браузер, что нода, это C++ низкоуровневой код + аддоны. Т.е. Нода (C++ + JavaScript) многопоточный, а JavaScript сам по себе нет

    • @dmitrylavrik
      @dmitrylavrik  11 วันที่ผ่านมา

      @@DimaTagiev ​ ну вот да, поэтому люди и спорят на эту тему. В том числе на youtube можно много противоположных мнений найти. Кто-то на сам однопоточный язык javascript смотрит, а кто-то на многопоточную среду выполнения (браузер, нода).
      Мне привычнее считать и называть это однопоточным. Потому что, даже если потоков под капотом у системы много, код мы пишем как в однопоточных языках. Но тут кому как удобнее)

  • @darthl1ne
    @darthl1ne 13 วันที่ผ่านมา

    26:27 есть же htaccess

  • @darthl1ne
    @darthl1ne 13 วันที่ผ่านมา

    для php уже давно есть roadrunner и аналоги

  • @awenn2015
    @awenn2015 13 วันที่ผ่านมา

    Если в названии написано что то нелогичное можно ли рассчитывать что и видео будет таким же? Как минимум то что нет такого языка как nodejs, собственн с каким языком вы тут тогда знакомитесь?

  • @M615243
    @M615243 12 วันที่ผ่านมา

    понятно что автор имеет ввиду, но зачем ноду называть языком программирования) представляю как у новичков крыша едет: "подождите, есть js это понятно, но что node.js - это тоже язык??? да ну его, это ит." стартовая страница heroku тоже тому пример, но там в пару к ноде они ещё и дот нет языком обозначили.

    • @dmitrylavrik
      @dmitrylavrik  11 วันที่ผ่านมา

      Согласен, во втором видео уточню этот момент для новичков. У меня это как-то на уровне сленга укоренилось с начала 2010-ых. В духе "на чём прогаешь / на каком языке прогаешь? - на ноде" . Идёт как сокращение, чтобы долго не говорить "на javascript под node-платформу" и т.п.