# nodejs-screencast **Repository Path**: mirrors_iliakan/nodejs-screencast ## Basic Information - **Project Name**: nodejs-screencast - **Description**: Материалы для скринкаста по Node.JS - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-09-25 - **Last Updated**: 2026-10-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Код для скринкаста по Node.JS Страница скринкаста: [http://learn.javascript.ru/nodejs-screencast](http://learn.javascript.ru/nodejs-screencast). Код есть для всех выпусков, где он важен. - Модули для Node.JS `[modules-1-intro]` 1. Файл с классом User 2. Простой require (не работает) 3. Пример require + exports 4. Экспортируем User с помощью global 5. Вынос фраз в модуль ru.json 6. Вынос user в директорию - Приёмы работы с модулями `[modules-2-module]` 1. Сервер с запуском в режиме экспорта или приложения 2. Экспорт функции через module.exports 3. Использование "базы данных" db в server и user 4. Поиск db без пути, модуль в node_modules 5. Добавление логгера - Модуль util и наследование `[top-1-util]` 1. Пример использования format 2. Пример использования inspect 3. Пример использования inherit - Модуль console `[top-2-console]` 1. Вызовы методов консоли - Наследование от ошибок Error `[top-3-inherit-error]` 1. Пример кода без обработки ошибок 2. Добавлены классы ошибок и их обработка - События, EventEmitter и утечки памяти `[top-4-eventemitter]` 1. Демо EventEmitter 2. Демо обработки ошибок 3. Исходный объект Request, без утечек памяти 4. Утечка памяти с предупреждением от EventEmitter 5. Исправленная утечка - Node.JS как веб-сервер `[server-1-intro]` 1. "Привет, мир" 2. "Привет, мир" со счётчиком 3. Вывод событий в консоль - Эхо-сервер на Node.JS `[server-2-echo]` 1. Echo-сервер - Документация к модулю http `[dev-3-module]` 1. Логирование при помощи debug 2. Логирование обёрткой над winston - Введение в асинхронную разработку `[event-loop-1-async]` 1. Синхронный сервер для index.html 2. Асинхронный сервер для index.html 3. Синхронный сервер с try..catch для index.html - Таймер, process.nextTick, ref/unref `[event-loop-3-timers]` 1. Простой сервер на 2.5 секунды 2. Тот же сервер с выводом памяти по setInterval 3. Сервер после вызова timer.unref() 4. Демо разницы между nextTick и setImmediate - Работа с файлами, модуль fs `[fs-1-fs]` 1. Чтение readFile в буфер 2. Чтение несуществующего файла, ENOENT 3. Пример stats 4. Пример writeFile - rename - unlink - Работа с путями от пользователя `[fs-2-path]` 1. Сервер отдачи файлов из директории public - Потоки в Node.JS, fs.ReadStream `[streams-1-writable]` 1. Чтение маленького файла через fs.ReadStream 2. Чтение большого файла 3. Обработка ошибок - Writable-поток ответа res, метод pipe `[streams-2-net]` 1. Отдача большого файла без потоков 2. Отдача большого файла через read - drain - write 3. Замена на встроенный метод pipe 4. Отдача файла через pipe с обработкой ошибок и обрыва связи - Чат через long-polling `[long-poll-chat]` 1. Чат: клиент и сервер - Домены, "асинхронный try..catch" `[domain]` 1. Исходный сервер, падающий при ошибках 2. Запуск в домене, но ошибки в запросе "вылетают" наружу 3. Передача домена внутрь EventEmitter и асинхронных вызовов 4. Сервер с обработкой запросов в домене - Создание чата `[chat]` 1. Создаём костяк сайта / Express: основы и Middleware 2. Улучшаем костяк сайта / Логгер, конфигурация, шаблонка для HTML 3. Улучшаем шаблонизацию / EJS: layout, block, partials 4. Начинаем работать с базой / MongoDB, native driver 5. Создаём модель для пользователя / Основы Mongoose 6. Делаем скрипт для создания тестовой базы / Async, организация кода 7. Веб-сервисы, работа с ошибками / Express, Mongoose 8. Сессии, отслеживание посетителей / Express 9. Авторизация / Express, Mongoose, Async, EJS 10. COMET: обзор подходов / WS.JS, Sock.JS, Socket.IO 11. Чат на Express и Socket.IO / Socket.IO 12. Опции Socket.IO и автореконнект / Socket.IO 13. Socket.IO + Express + авторизация