Node.js #2 Глобальные объекты (Global Objects)

แชร์
ฝัง
  • เผยแพร่เมื่อ 12 ก.ย. 2024
  • #YauhenK #webdev #Node #Express
    Всех приветствую в курсе «Node.js».
    В данном видеокурсе мы с вами рассмотрим Node.js, серверную технологию которая позволяет исполнять код написанный на JavaScript вне браузера. Разберём базовые концепции и встроенные модули, которые активно используются при разработке сервера. Рассмотрим механизм коммуникаций между сервером и браузером. Создадим базовый роутинг на чистом Node.js. Подключем Express и перепишем роутер. Научимся работать с динамичными данными с помощью шаблонизатора Node.js. Напишем новостное приложение с поддержкой CRUD операций и хранением данных в MongoDB. Создадим свой API по возврату данных из БД. И в заключение, загрузим готовое приложение на Heroku.
    ✒ Репозиторий курса:
    ✔ GitHub: github.com/Yau...
    ✒ Полный список готовых и планируемых курсов:
    ✔ Trello: trello.com/b/R...
    ✒ Автор курса:
    ✔ TH-cam: / yauhenkavalchuk
    ✔ Instagram: / yauhenkavalchuk
    ✔ Twitter: / yauhenkavalchuk
    ✔ VK: YauhenK...
    ✔ LinkedIn: / yauhenkavalchuk
    ✔ GitHub: github.com/Yau...
    ✔ VK (Группа): webdevcom
    ✒ Поддержать развитие канала: github.com/Yau...

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

  • @-Forever-Young-
    @-Forever-Young- 2 ปีที่แล้ว +3

    Спасибо за ваш труд)!

  • @SerhiiNesterov
    @SerhiiNesterov 3 ปีที่แล้ว +2

    Спасибо огромное, жду следующие видео

  • @takedaheroku
    @takedaheroku 3 ปีที่แล้ว +1

    Евгений как всегда на уровне 👨‍🎓!

  • @maxlyshchyk2567
    @maxlyshchyk2567 3 ปีที่แล้ว +2

    Спасибо за работу! Очень классно и качественно сделано
    JavaScript Node.js Global Objects

    • @YauhenKavalchuk
      @YauhenKavalchuk  3 ปีที่แล้ว

      Спасибо за поддержку

  • @user-cd1sr5sx2r
    @user-cd1sr5sx2r 3 ปีที่แล้ว +2

    Спасибо за хороший урок, ждем продолжения.

  • @quantum-dream
    @quantum-dream 3 ปีที่แล้ว +1

    Круто! Спасибо за ваши старания

    • @YauhenKavalchuk
      @YauhenKavalchuk  3 ปีที่แล้ว

      Спасибо за вашу поддержку

  • @sergeyplotnikov5031
    @sergeyplotnikov5031 3 ปีที่แล้ว +1

    Интересно. Спасибо!

  • @TimurShemsedinov
    @TimurShemsedinov 3 ปีที่แล้ว +13

    Ляпы:
    1. __dirname и __filename это не глобальные объекты и даже не поля глобального объекта, а идентификаторы, попадающие в контекст модуля через замыкание, которое require приклеивает в начало каждого загружаемого файла, в этом можно убедиться почитав файл в исходниках ноды в районе 200 строки lib/internal/modules/cjs/loader.js
    2. URL - это не глобальный объект и не конструктор, а класс
    3. Декораторов в global нет
    4. require тоже не объект, а функция и он тоже через замыкание попадает в модуль
    5. Про global нужно сказать, что у global есть поле global, которое ссылается на сам же global, т.е. это циклическая ссылка

    • @YauhenKavalchuk
      @YauhenKavalchuk  3 ปีที่แล้ว +6

      Я опирался на документацию, где эти объекты/классы/идентификаторы находятся в разделе global. И на англоязычные курсы, где их так же относят к глобальным

    • @TimurShemsedinov
      @TimurShemsedinov 3 ปีที่แล้ว +5

      Так там бред везде написан. По ноде опираться можно на мой курс ну и на критическое мышление, как __dirname может быть объектом, если у него значение типа string, ну а как эти все идентификаторы попадают в область видимости - можно провести эксперимент, вывести Object.keys(global) не найти там многого и полезть читать исходники

    • @kostyafrompiter
      @kostyafrompiter 3 ปีที่แล้ว +3

      Спасибо за информацию, хотелось бы услышать от вас кратко, чем node.js в плане разработки бэкенда лучше пресловутого php? Начинал с него, но решил пойти во фронтенд всё-таки.

    • @TimurShemsedinov
      @TimurShemsedinov 3 ปีที่แล้ว +4

      @@kostyafrompiter поищите мой доклад node.js in 2021

    • @dessan7167
      @dessan7167 3 ปีที่แล้ว +2

      @@TimurShemsedinov ему там искать точно ничего не надо, а лично для такого начинающего как я - у вас на канале не видео а мозаика какая-та из семинаров, а семинар - это несколько часов разговоров ни о чём. Сделайте серию уроков от себя и зовите тогда

  • @ruslan_lwow79
    @ruslan_lwow79 3 ปีที่แล้ว +1

    like +

  • @advokatmina
    @advokatmina ปีที่แล้ว

    СПС бро

  • @artihlec
    @artihlec 3 ปีที่แล้ว +1

    btw
    No __filename or __dirname#
    These CommonJS variables are not available in ES modules.
    __filename and __dirname use cases can be replicated via import.meta.url.

  • @MrBulat1
    @MrBulat1 8 หลายเดือนก่อน

    Какие Эстеншены можно поставить для Node.JS?

    • @YauhenKavalchuk
      @YauhenKavalchuk  8 หลายเดือนก่อน

      Смотрите дальше, там будет блок создания приложения

  • @KirillKolchanov
    @KirillKolchanov ปีที่แล้ว

    если используете "type": "module" и не показывается в лог __dirname
    import { dirname } from "path";
    import { fileURLToPath } from "url";
    const __dirname = dirname(fileURLToPath(import.meta.url));

  • @tehnickge
    @tehnickge ปีที่แล้ว

    можно название темы в vscode ?

    • @YauhenKavalchuk
      @YauhenKavalchuk  ปีที่แล้ว +1

      Material Gecko

    • @tehnickge
      @tehnickge ปีที่แล้ว

      спасибо большое@@YauhenKavalchuk

    • @tehnickge
      @tehnickge ปีที่แล้ว

      столкнулся с такой проблемой:
      у вас переменные принимаемые функцией - белые, не подскажите как сделать так ? (у меня с этой темой - красные )@@YauhenKavalchuk

  • @dessan7167
    @dessan7167 3 ปีที่แล้ว +2

    не ну всё классно, конечно, только зачем ES6 сюда всовывать если уроки с нуля и для начинающих. Наверно те кто ES6 знают отлично, то и такие уроки по Node.js им незачем. Я путаюсь, теряется большая часть кода, скорее всего учиться по этим видео не получится, потому что сначала надо выучить es6

    • @YauhenKavalchuk
      @YauhenKavalchuk  3 ปีที่แล้ว +3

      ES6 это стандарт аж с 2015 года. Без него никуда. Поэтому если вы его не знаете, то сначала стоит посмотреть курс по ES6, благо он есть на канале. А уже потом рассматривать Node

    • @dessan7167
      @dessan7167 3 ปีที่แล้ว

      @@YauhenKavalchuk оно , конечно, всё нужно, никто не спорит, но на сегодня мне надо отправить самую простую форму (имя, телефон, несколько строк текста) из HTML себе на почту. Для этого нужна серверная часть, например Node.js , то есть так как я ничего о нем не знаю, то нужно учить всё, а это займёт какое-то время. Я так понимаю сюда добавиться Express, а это ещё время. А теперь мне нужно еще и ES6, а это ещё один плейлист. А чтоб уверенно сокращать код, нужно на 100% уметь его писать. А если учесть, что я ни разу ни профи в javascript, то нужно еще и несколько курсов по javascript посмотреть, а там в 2 раза больше уроков, чем все, что я писал выше, к тому же я боюсь классы, потому что вариантов классов, прототипов классов и всё что связано с классами уж очень много. В итоге, чтоб написать какую-то несчастную форму, которая отправит 5 строк мне на имейл, мне нужно месяца 3 каждый день сидеть слушать все уроки, повторять примеры и не факт, что я всё пойму. Я уже думаю, что та форма того не стоит. А всего-то отправить содержимое 3х тегов из HTML себе на почту...

    • @dessan7167
      @dessan7167 3 ปีที่แล้ว

      @@YauhenKavalchuk как бы тебе объяснить. Конечно, это лично моё мнение, не хочу никого обижать. Стандарт ES служит для компактности кода, то есть для сокращения времени написания и сокращения количества кода. Подразумевается, что человек 90% времени просто пишет код, 10% гуглит какие-то моменты- да, ему нужна оптимизация. Когда же человек 10% времени пишет код, а 90% гуглит - ему не нужна оптимизация, он мечтает хоть что-то писать и чем больше будет кода тем ему приятней. А если настолько хорош, что 90% времени пишет код с оптимизацией и ни разу не сталкивался с Node js, то есть на таком прекрасном уровне знает javascript и никогда не писал back-end - это как минимум странно, я считаю. То есть на канале +/- такие как я, а если на канале +/- такие как я, то какая им там оптимизация?Им бы не запутаться в том что происходит на экране.

    • @YauhenKavalchuk
      @YauhenKavalchuk  3 ปีที่แล้ว +2

      Если бы я использовал ES5 меня бы закидали помидорами, можете посмотреть комментарии под аналогичными курсами на других каналах. Да мне даже про import написали раза 3

    • @dessan7167
      @dessan7167 3 ปีที่แล้ว

      @@YauhenKavalchuk Я как бы о том, чтоб вообще без ES писать код, а не конкретно про ES5 или ES6. А раз все такие умные - нафига им вообще эти видео обучающие

  • @Serge-JS
    @Serge-JS ปีที่แล้ว

    Всем привет! у кого - нибудь была ситуация: передавали аргументы, а они не сохранялись и не вызывались при console.log(process.argv)?

    • @YauhenKavalchuk
      @YauhenKavalchuk  ปีที่แล้ว

      🤷‍♂️

    • @Serge-JS
      @Serge-JS ปีที่แล้ว

      @@YauhenKavalchuk Мерси, нашел выше ошибку у себя. Спасибо! Подача материала шикарная!

    • @AA-yk1sx
      @AA-yk1sx ปีที่แล้ว

      @@Serge-JS и в чем была ошибка?