Инфоурок Информатика СтатьиСтатья на тему: «ПЛАТФОРМА NODE.JS КАК СРЕДСТВО ДЛЯ СОЗДАНИЯ ВЕБ-СЕРВЕРА»

Конспект урока по информатике для 11 класса на тему «Веб-сайт. Веб-страница. Взаимодействие браузера с веб-сервером. Динамические страницы. Разработка интернет-приложений (сайтов). Сетевое хранение данных»

Файл будет скачан в форматах:

  • pdf
  • docx
2277
18
10.09.2024

Материал разработан автором:

Синицына Екатерина Александровна

учитель информатики и ИКТ

Разработок в маркетплейсе: 498
Покупателей: 11 354

Настоящая методическая разработка опубликована пользователем Синицына Екатерина Александровна. Инфоурок является информационным посредником

Урок по информатике для 11 класса на тему «Веб-сайт и веб-страница» включает в себя изучение основ создания и функционирования интернет-ресурсов. Веб-сайт представляет собой совокупность веб-страниц, объединённых общей тематикой и предназначенных для предоставления информации пользователям. Важным аспектом обучения станет объяснение структуры веб-страницы, которая включает в себя заголовок, содержание и различные элементы оформления, такие как изображения, ссылки и медиа-файлы.

Краткое описание методической разработки

Урок по информатике для 11 класса на тему «Веб-сайт и веб-страница» включает в себя изучение основ создания и функционирования интернет-ресурсов. Веб-сайт представляет собой совокупность веб-страниц, объединённых общей тематикой и предназначенных для предоставления информации пользователям. Важным аспектом обучения станет объяснение структуры веб-страницы, которая включает в себя заголовок, содержание и различные элементы оформления, такие как изображения, ссылки и медиа-файлы.

Развернуть описание

Статья на тему: «ПЛАТФОРМА NODE.JS КАК СРЕДСТВО ДЛЯ СОЗДАНИЯ ВЕБ-СЕРВЕРА»

Скачать материал

УДК 004.43

 

Халилова Зарема Энверовна

ПЛАТФОРМА NODE.JS КАК СРЕДСТВО ДЛЯ СОЗДАНИЯ
ВЕБ-СЕРВЕРА

Аннотация: В статье приводятся особенности Node.js как программной платформы для написания кода на стороне сервера. Раскрывается сущность понятия асинхронности выполнения программного кода. Представлен простейший пример веб-сервера с использованием популярного феймворка Express.

Ключевые слова: программная платформа Node.js, язык JavaScript, веб-разработка, front-end, back-end, веб-сервер.

 

Постановка проблемы. На сегодняшний день одним из наиболее развивающихся направлений в программировании считается веб-разработка. Причем это направление актуально как среди начинающих, так и опытных специалистов. На современном этапе в мире спрос на веб-разработчиков будет только расти. Фундаментально веб-разработку можно разделить на две части: фронтенд (от англ. front-end) и бекенд (от англ. back-end). Если реализация фронтенда традиционно осуществляется средствами HTML/CSS/JavaScript, то для бекенд разработчиков открывается широкий спектр различных технологий, среди которых можно выделить PHP, Java, Python, Node.js и др. Некоторые из приведенных языков программирования имеют свой порог вхождения и позволяют писать программы как для клиентской, так и серверной части. Следует отметить современную программную платформу Node.js, которая зарекомендовала себя на достаточно высоком уровне. С помощью данной программной платформы достаточно просто реализовать свой веб-сервер, при этом владея лишь знаниями по языку JavaScript и технологией веб-разработки. Кроме того, фронтенд разработчики, владеющие языком программирования JavaScript, могут без особых затруднений перейти на платформу Node.js, то есть освоить технологию создания серверной части приложения и стать так называемыми Full Stack разработчиками. Именно поэтому Node.js развивается и будет развиваться как программная платформа для написания кода на стороне сервера.

Анализ последних исследований и публикаций. В связи со стремительным развитием веб-разработки, а также программной платформы Node.js как средства запуска JavaScript кода на стороне сервера, данной проблеме посвящено достаточное количество исследований и публикаций. В частности, в статье Чертихина А.А. и Субботиной Т.А. [1] рассматриваются проблемы использования стандартных способов и методов управления в стремительной развивающейся области веб-разработки и модернизации существующих методов управления с широким использованием веб-приложений. А в работе Матысик О.В. и Саливончик Н.Л. [2] представляется процесс разработки клиент-серверного приложения для поиска оптимального маршрута передвижения на общественном транспорте. Данное приложение разработано средствами платформы Node.js, базы данных MySQL, библиотеки JQuery и технологий AJAX. В научной статье Гурина Н.И. и Крыловой Т.А. [3] рассматривается анализ и апробация преимуществ платформы Node.js, базирующейся на событийно-ориентированной модели взаимодействия приложения с сервером с выводом языка JavaScript за пределы браузера.

Цель статьи – провести анализ возможностей Node.js как программной платформы для написания кода на стороне сервера, а также практически реализовать собственный веб-сервер на базе исследуемой платформы.

Изложение основного материала. Прежде чем приступить к созданию веб-сервера рассмотрим, что же из себя представляет Node.js. Node или Node.js [4] – программная платформа, основанная на движке V8 (который в свою очередь транслирует JavaScript в машинный код), превращающая JavaScript из узкоспециализированного языка в язык общего назначения. Для того, чтобы понять суть данного определения для начала необходимо углубиться в то, как работает JavaScript внутри, а именно рассмотреть цикл событий и асинхронность. JavaScript является однопоточным асинхронным параллельным неблокирующим языком программирования. Однако данное определение являются достаточно запутанным, именно поэтому рассмотрим схему, представленную ниже. На данной схеме изображен движок V8, но кроме этого Web APIs (DOM, AJAX, Timeout – потоки, к которым нет прямого доступа, можно лишь выполнять обращения к ним), а также цикл событий и очередь задач.

3484452b25768962e2ed1920b0266559.png

Рис. 1. Схема работы движка JS

 

Поскольку JavaScript это однопоточная среда выполнения, значит, что стек вызовов у него один, то есть может выполняться только одна операция в единицу времени. Однако следуя определению, представленному выше, JavaScript является в то же время и асинхронным языком программирования. И это асинхронность выполняется посредством Web APIs, т.е. инструментов, предоставляемых самим браузером. Для наглядности рассмотрим работу данного фрагмента кода (листинг 1) в браузере.

 

Листинг 1. Тестовый фрагмент кода

console.log(“Hello”);

 

setTimeout (function cb()) {

   console.log(“Node.js”);

}, 5000);

 

console.log(“This is”);

 

В первую очередь при выполнении этого программного кода в стек вызовов (от англ. Call Stack) попадет функция console.log(…), которая выведет сообщение “Hello.” в консоли. После выполнения функции она удаляется из стека вызовов. На следующем шаге выполняется функция setTimeout(…), которой передается коллбэк-функция cb(), что позволяет избежать блокирования, с задержкой 5 секунд. Однако стек вызовов не ожидает пока выполнится данная функция, а отправляет ее в Web APIs, где запускается таймер. Фактически это означает, что таймер запущен параллельно (асинхронно), и можно очистить стек вызовов для следующей функции. Далее вызывается функция console.log(), которая выводит сообщение “This is” и стек вызовов очищается. Однако тем временем, когда в Web APIs таймер, установленный на 5 секунд, завершает свою работу, запланированная коллбэк-функция помещается в очередь задач (от англ. Task Queue). Далее цикл событий (от англ. Event Loop) проверяет отсутствие задач в стеке вызовов и в случае положительного ответа отправляет первую задачу, находящуюся в очереди задач, в стек вызовов. В итоге коллбэк-функция cb() выполняется в текущий момент времени и в консоль выводится сообщение “Node.js”.

Данный пример демонстрирует, что в самом движке V8 код выполняется однопоточно, однако потоки Web APIs, поставляемые браузером, позволяют асинхронно выполнять некоторые операции.

При разработке веб-сервера на Node.js многие операции приходится выполнять асинхронно с целью ухода от блокирования и повышения скорости выполнения программ. Именно поэтому важно понимать, как работают асинхронные коллбэки и, в частности, сам JavaScript изнутри. Для реализации веб-сервера воспользуемся фреймворком Express, который является достаточно гибким и быстрым при написании приложений с использованием платформы Node.js.

В первую очередь необходимо создать каталог для будущего приложения, и установить его в качестве рабочего, например, на локальном диске D:

D:\nodeProjects>mkdir nodeWebServer

D:\nodeProjects>cd nodeWebServer

D:\nodeProjects\nodeWebServer>

 

Далее с помощью команды npm init создается файл package.json. Данный файл содержит название проекта, версию, а также необходимые зависимости, включенные в проект.

D:\nodeProjects\nodeWebServer>npm init

 

Теперь необходимо установить Express в проект. Для этого воспользуемся командой npm install express --save. Атрибут
--save позволяет сохранить Express в списке зависимостей.

 

D:\nodeProjects\nodeWebServer>npm install express --save

npm notice created a lockfile as package-lock.json. You should commit this file.

npm WARN nodewebserver@1.0.0 No description

npm WARN nodewebserver@1.0.0 No repository field.

 

+ express@4.16.2

added 49 packages in 13.439s

 

Затем в рабочем каталоге создадим файл index.js и добавим в него следующий код (рис. 2):

Рис. 2. Файл index.js

В данном примере:

1. Импортируем модуль express.

2. Запускаем приложение.

3. Создаем переменную, в которой будет храниться номер порта.

4. Выдаем ответ “Hello, World” на запрос, адресованный корневому маршруту(“/”).

5. Прослушиваем соединение на порту 3000 и в случае выполнения соединения в консоли выводится сообщение об успешном соединении. В противном случае выводится сообщение об ошибке.

Далее следует запустить приложение с помощью команды node index.js и перейти по адресу http://localhost:3000/ для просмотра результата выполнения программы.

D:\nodeProjects\nodeWebServer>node index.js

Connection successfully on port 3000

 

Выводы. В результате разработки простейшего веб-сервера на базе программной платформы Node.js можно сделать вывод, что данная платформа является действительно достаточно простой в изучении, однако мощным средством для написания серверной части приложения. Кроме того, платформа Node.js решает основные задачи, поставленные при веб-разработке, такие как работа с базами данных, низкоуровневый доступ к сети и др.

 

Список литературы

1. Чертихин А.А., Субботина Т.А. Применение стандартных методов и технологий управления проектами в среде веб-разработки // Вестник МГУП, 2015. – №1. – [Электронный ресурс]. URL: http://cyberleninka.ru/article/n/primenenie-standartnyh-metodov-i-tehnologiy-upravleniya-proektami-v-srede-veb-razrabotki (дата обращения: 23.01.2018).

2. Матысик О.В., Саливончик Н.Л. Клиент-серверное приложение для поиска оптимального маршрута и визуализации движения общественного транспорта // Символ науки, 2016. – №3-3. – [Электронный ресурс]. URL: http://cyberleninka.ru/article/n/klient-servernoe-prilozhenie-dlya-poiska-optimalnogo-marshruta-i-vizualizatsii-dvizheniya-obschestvennogo-transporta (дата обращения: 23.01.2018).

3. Гурин Н.И., Крылова Т.А. Интернет-приложение на платформе Node для электронной биржи перевозок // Труды БГТУ. Серия 3: Физико-математические науки и информатика, 2016. – №6 (188). [Электронный ресурс]. URL: http://cyberleninka.ru/article/n/internet-prilozhenie-na-platforme-node-dlya-elektronnoy-birzhi-perevozok (дата обращения: 23.01.2018).

4. Свободная энциклопедия Википедия. – [Электронный ресурс]. URL: https://ru.wikipedia.org/wiki/Node.js (дата обращения: 23.01.2018).

 

Халилова Зарема Энверовна, студентка 3-го года обучения группы И-2-15, ГБОУВО РК «Крымский инженерно-педагогический университет»

пер. Учебный, 8, г. Симферополь, Республика Крым, 295015

E-mail: halilova.z.i15@gmail.com

 

Z.E. Khalilovа

PLATFORM NODE.JS AS A MEANS FOR CREATION

WEB SERVERS

 

Abstract: The article describes the features of Node.js as a software platform for writing server-side code. The essence of the concept of asynchronous execution of the program code is revealed. A simple example of a web server using the popular Express framework is presented.

Key words: Node.js software platform, JavaScript language, web development, front-end, back-end, web server.

 

References

1. Chertikhin A.A., Subbotina T.A. Primenenie standartnykh metodov i tekhnologii upravleniya proektami v srede veb-razrabotki // Vestnik MGUP, 2015. – №1. – [Elektronnyi resurs]. URL: http://cyberleninka.ru/article/n/primenenie-standartnyh-metodov-i-tehnologiy-upravleniya-proektami-v-srede-veb-razrabotki (data obrashcheniya: 23.01.2018).

2. Matysik O.V., Salivonchik N.L. Klient-servernoe prilozhenie dlya poiska optimal'nogo marshruta i vizualizatsii dvizheniya obshchestvennogo transporta // Simvol nauki, 2016. – №3-3. – [Elektronnyi resurs]. URL: http://cyberleninka.ru/article/n/klient-servernoe-prilozhenie-dlya-poiska-optimalnogo-marshruta-i-vizualizatsii-dvizheniya-obschestvennogo-transporta (data obrashcheniya: 23.01.2018).

3. Gurin N.I., Krylova T.A. Internet-prilozhenie na platforme Node dlya elektronnoi birzhi perevozok // Trudy BGTU. Seriya 3: Fiziko-matematicheskie nauki i informatika, 2016. – №6 (188). [Elektronnyi resurs]. URL: http://cyberleninka.ru/article/n/internet-prilozhenie-na-platforme-node-dlya-elektronnoy-birzhi-perevozok (data obrashcheniya: 23.01.2018).

4. Svobodnaya entsiklopediya Vikipediya. – [Elektronnyi resurs]. URL: https://ru.wikipedia.org/wiki/Node.js (data obrashcheniya: 23.01.2018).

 

Crimean Engineering and Pedagogical University

per. Uchebniy, 8, Simferopol, Republic of Crimea, 29015.

 

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Статья на тему: «ПЛАТФОРМА NODE.JS КАК СРЕДСТВО ДЛЯ СОЗДАНИЯ ВЕБ-СЕРВЕРА»"
Смотреть ещё 5 968 курсов

Методические разработки к Вашему уроку:

Рабочие листы
к вашим урокам

Скачать

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

7 356 254 материала в базе

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

Скачать материал
    • 13.01.2020 752
    • DOCX 105.4 кбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Халилова Зарема Энверовна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Халилова Зарема Энверовна
    Халилова Зарема Энверовна
    • На сайте: 8 лет и 5 месяцев
    • Подписчики: 0
    • Всего просмотров: 100400
    • Всего материалов: 60

Оформите подписку «Инфоурок.Маркетплейс»

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

Мини-курс

Психологическая поддержка семьи и профилактика правонарушений среди несовершеннолетних

5 ч.

699 руб.
Подать заявку О курсе

Мини-курс

Психология рекламы и нейромаркетинг: как управлять выбором потребителя

4 ч.

699 руб.
Подать заявку О курсе
  • Сейчас обучается 41 человек из 13 регионов
  • Этот курс уже прошли 42 человека

Мини-курс

Визуальный дизайн: композиция, типографика, изображение

3 ч.

699 руб.
Подать заявку О курсе
Смотреть ещё 5 968 курсов