Язык программирования JavaScript

Презентации к лекциям:

  1. Введение.
  2. Типы данных и операции.
  3. Событийная модель Node.js
  4. Обработка запросов HTTP

Лабораторная работа

В рамках лабораторной работы следует разработать веб-сервер на Node.js со следующими функциями:

  1. Сервер должен обрабатывать запрос /start, который добавляет условную задачу в список задач. Каждая задача подразумевает только задержку в 30 секунд.
  2. В ответ на запрос /start сервер должен показывать список существующих задач, т. е. уже начавшихся, но ещё не завершившихся. Новая задача, конечно, тоже должна попадать в список, где она должна быть на первом месте.
  3. Сервер должен обрабатывать запрос /wait, который дожидается завершения задачи, которая завершится раньше остальных.
  4. В ответ на запрос /wait сервер должен выводить информацию о той задаче, которая завершилась (скажем, отметку времени, когда она была запущена). Необходимо помнить, что может быть несколько одновременных запросов /wait, которые будут ожидать завершения одной и той же задачи.
  5. Всё необходимо реализовать в безупречно безопасном и устойчивом виде, не допускающем неуправляемого конкурентного доступа или активного ожидания событий.

Установка Node.js

Node.js можно загрузить для установки по этим ссылкам: