Содержание книги "Node.js
:
разработка серверных веб-приложений на JavaScript"
Об авторе
Благодарности
О рецензентах
Предисловие
О содержании книги
Что необходимо для чтения этой книги
На кого рассчитана эта книга
Графические выделения
Отзывы
Поддержка клиентов
Исходный код примеров
Опечатки
Нарушение авторских прав
Вопросы
Глава 1. ЧТО ТАКОЕ NODE?
Что позволяет делать Node?
Серверный JavaScript
Почему имеет смысл использовать Node?
Архитектура: потоки или асинхронный ввод/вывод с управлением по событиям
Производительность и использование процессора
Использование серверов, экономия затрат и экологичный Интернет
Как правильно: Node, Node.js или Node.JS?
Резюме
Глава 2. НАСТРОЙКА NODE
Системные требования
Установка в POSIX-совместимых системах (Linux, Solaris, Mac и т. п.)
Предварительная установка инструментария
Установка средств разработки в Mac OS X
Установка в свой домашний каталог
Зачем устанавливать в домашний каталог?
Установка в системный каталог
Установка в Mac OS X с помощью MacPorts
Установка в Mac OS X с помощью homebrew
Установка в Linux с помощью систем управления пакетами
Установка одновременно нескольких экземпляров Node
Выполним несколько команд для проверки установки
Командные утилиты Node
Запуск скрипта в Node
Запуск сервера в Node
Установка npm – менеджера пакетов для Node
Запуск Node-серверов на этапе инициализации системы
Использование всех процессорных ядер в многоядерной системе
Резюме
Глава 3. МОДУЛИ NODE
Что такое модуль?
Модули Node
Как Node ищет модули, затребованные в require('module')?
Идентификаторы модулей и пути
Локальные модули внутри приложения
Комплектация приложения с внешними зависимостями
Системные модули в каталогах, перечисленных в массиве require.paths
Составные модули – модули-каталоги
Менеджер пакетов для Node (npm)
Формат npm-пакета
Поиск npm-пакетов
Команды npm
Версии и диапазоны версий пакета
Спецификация CommonJS
Резюме
Глава 4. ВАРИАЦИИ НА ТЕМУ ПРОСТОГО ПРИЛОЖЕНИЯ
Разработка учебной программы по математике
Использовать ли каркас?
Реализация Math Wizard в Node (без каркасов)
Маршрутизация запросов в Node
Обработка параметров запроса
Умножение чисел
Вычисление других математических функций
Обобщение Math Wizard
Продолжительные вычисления (числа Фибоначчи)
Чего не хватает до «настоящего веб-сервера»?
Использование каркаса Connect для реализации Math Wizard
Установка и настройка Connect
Знакомство с Connect
Реализация Math Wizard с помощью Express
Реализация Express Math Wizard
Обработка ошибок
Параметризованные URL и службы данных
Резюме
Глава 5. ПРОСТОЙ ВЕБ-СЕРВЕР, ОБЪЕКТЫ EVENTEMITTER И HTTP-КЛИЕНТЫ
Отправка и получение событий с помощью объектов EventEmitter
Теоретические основы EventEmitter
HTTP Sniffer – прослушивание обмена данными по протоколу HTTP
Реализация простого веб-сервера
Реализация Basic Server
Типы MIME и npm-пакет MIME
Обработка куков
Отправка HTTP-запросов клиентом
Резюме
Глава 6. ХРАНЕНИЕ И ВЫБОРКА ДАННЫХ
Движки сохранения данных для Node
SQLite3 – облегченная встраиваемая база данных на основе SQL
Установка
Реализация приложения Notes с помощью SQLite3
Использование других СУБД на основе SQL на платформе Node
Mongoose – интерфейс между Node и MongoDB
Установка Mongoose
Реализация приложения Notes с помощью Mongoose
Отображение заметок на консоли – show.js
Другие продукты, поддерживающие MongoDB
Краткий обзор средств аутентификации пользователей
Резюме
Предметный указатель