Skip to content

Latest commit

 

History

History
109 lines (86 loc) · 5.4 KB

README.md

File metadata and controls

109 lines (86 loc) · 5.4 KB

Код для скринкаста по Node.JS

Страница скринкаста: 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 + авторизация