Return to Video

https:/.../hd.mp4

  • 0:00 - 0:06
    В этом видеоуроке мы кратко рассмотрим каким образом можно использовать для дальнейшего изучения Node.js
  • 0:06 - 0:14
    такую технологию как Jupyter Notebook. Здесь у меня запущена Anaconda, приложение которое сосредотачивает в себе
  • 0:14 - 0:22
    множество разных возможностей по использованию различных инструментов экосистемы Python.
  • 0:22 - 0:34
    Как выясняется, существуют пересечения и с экосистемой JavaScript. Давайте запустим часть анаконды, которая управляет ноутбуками.
  • 0:34 - 0:43
    Нажав на Launch. При этом открывается локальный веб-сервер, который я сделал доступным на внешнем сетевом интерфейсе.
  • 0:43 - 0:58
    Мы это видим по адресу: 0.0.0.0 вместо 127.0.0.1. И таким образом к этому локальному серверу можно подключиться из локальной сети,
  • 0:58 - 1:08
    а в принципе даже из глобальной, если у этого компьютера на котором я сейчас работаю имеется статический доступный публичный IP-адрес.
  • 1:08 - 1:18
    И вот соответственно сейчас здесь имеется пустая папка, в которой находится папка js. И мы можем здесь нажать на кнопку New
  • 1:18 - 1:29
    и выбрать JavaScript (Node.js). Поскольку Notebook это нечто что совмещает в себе возможности интерактивного документа,
  • 1:29 - 1:40
    такого в том числе как google-документ, а также чего-то похожего на интерактивный терминал, который позволяет вводить результаты
  • 1:40 - 1:48
    выполнения программного кода. Выполняемого с помощью того или иного ядра, в данном случае вы видите в правом верхнем углу Node.js,
  • 1:48 - 1:57
    то мы можем писать пояснение и рядом исполнимый программный код. В частности, например для того чтобы
  • 1:57 - 2:06
    получить версию платформы Node.js, которая используется для исполнения кода, мы можем написать здесь process,
  • 2:06 - 2:15
    нажать Tab для того чтобы посмотреть подсказки и найти здесь свойство versions. Если теперь нажать Ctrl+Enter,
  • 2:15 - 2:25
    то мы увидим подробную информацию о том, что здесь у нас поставлено и запущено. Это Node.js версии 14.5.0.
  • 2:25 - 2:36
    Если не самая последняя, то одна из самых последних. Версия движка - V8, версия библиотеки - uv. Ну и т.д.
  • 2:36 - 2:45
    Соответственно, мы можем добавлять эти островки кода, по необходимости перемежая их текстом и в данном случае
  • 2:45 - 2:56
    выполнять код типичный для JavaScript, типичный для Node.js. Например у нас есть console.log, это объект
  • 2:56 - 3:04
    который поддерживается различными JavaScript средами, такими как Node.js и браузер. И у нас есть встроенный в JavaScript
  • 3:04 - 3:12
    объект Math, который содержит метод sqrt, который вычисляет значение квадратного корня от данного числа.
  • 3:12 - 3:21
    Мы сейчас увидим, должны будем увидеть, здесь число 4. И действительно так оно и есть. Итак, поскольку в данном случае
  • 3:21 - 3:29
    используется публичный сетевой интерфейс, то к такому ноутбуку можно подключиться из локальной сети и даже из глобальной.
  • 3:29 - 3:39
    И тем самым может быть осуществлена демонстрация выполнения кода для определённой группы подключившихся слушателей
  • 3:39 - 3:49
    или обучающихся. Но также разумеется существует и возможность использовать облачные различные решения,
  • 3:49 - 4:01
    вот например платформа colab от Google, которая доступна в том числе через Google-диск. Правда на данном этапе там нет в качестве среды выполнения
  • 4:01 - 4:13
    Node.js, но всегда можно поисследовать и найти какие-то другие варианты, это может быть решение связанное с Azure,
  • 4:13 - 4:26
    с облаками такими как SberCloud и другими подобными. Очевидно, что такую среду можно точно также использовать и для запуска серверного веб-приложения,
  • 4:26 - 4:35
    притом что она сама является серверным веб-приложением. Но перед тем как это продемонстрировать, напомним что
  • 4:35 - 4:46
    с помощью инструментов управления пакетами мы можем пользоваться в наших проектах локально загруженными файлами.
  • 4:46 - 4:57
    Вот например если мы инициализируем проект в данной папке и установим express в этот проект, то мы получим в папке
  • 4:57 - 5:10
    node_modules папку express, которая содержит файлы библиотеки. Мы можем разместить папку с файлами express
  • 5:10 - 5:22
    где-нибудь у себя на локальном компьютере, например в папке express и обращаться в дальнейшем в наших проектах
  • 5:22 - 5:30
    не к пакету, который находится в репозитории в интернете, а к пакету который находится на нашем компьютере в локальной файловой системе.
  • 5:30 - 5:37
    Это может пригодиться в том случае, если нужно например продемонстрировать работу с express локально, в условиях
  • 5:37 - 5:48
    ограниченного доступа к интернету. В этой ситуации можно заранее соответственно загрузить файлы и потом ими пользоваться.
  • 5:48 - 5:59
    Например в данном случае будет вот такой путь к express. Зная этот путь, мы теперь можем перейти в любую другую папку,
  • 5:59 - 6:07
    инициализировать проект и далее добавить в него библиотеку, указав этот путь с префиксом file.
  • 6:07 - 6:14
    После чего за долю секунды библиотека будет установлена уже не из интернета, а из файловой системы.
  • 6:14 - 6:27
    И мы тогда можем зареквайрить express именно из этого пути, и соответственно запустить и получить приложение.
  • 6:27 - 6:37
    Мы видим, что эта строка успешно исполнилась. И мы даже можем посмотреть теперь, что представляет собой App.
  • 6:37 - 6:49
    Далее у нас имеется базовый код, который мы можем вставить сюда и убедиться в том, что по адресу: localhost:4321
  • 6:49 - 7:00
    ничего не работает. Теперь нажатием Ctrl+Enter запускаем эту часть notebook, и снова обновляем страницу.
  • 7:00 - 7:08
    Мы видим, что приложение запустилось. Такой вариант запуска очень полезен и нагляден на стадии изучения
  • 7:08 - 7:16
    библиотеки, когда хочется одновременно видеть и код, и результат его исполнения для того чтобы исследовать структуру файлов
  • 7:16 - 7:22
    библиотеки, и таким образом достичь более глубокого понимания происходящих процессов.
Title:
https:/.../hd.mp4
Video Language:
Russian
Duration:
07:22

Russian subtitles

Revisions