Node Кантелон  М.Node купитьNode.js в действии. 2-е изданиеNode.js в действии. 2-е издание Кантелон  М.Node.js в действии. 2-е издание купить
Node
Node Кантелон  М.
Node купить
Node.js в действии. 2-е издание
Node.js в действии. 2-е издание Кантелон  М.
Node.js в действии. 2-е издание купить

Node.js в действии. 2-е издание, Кантелон М., Хартер М., Головайчук T., Райлих Н.

380 грн.

Купить в 1 клик

Описание

Node.js в действии. 2-е издание, Кантелон М. купить Украина книга

Издательство — Питер

Язык — русский

Обложка — Мягкая обложка

Год издания — 2018

Количество страниц — 432

ISBN — 978-5-496-03212-4

Бумага — белая, офсетная

О книге Node.js в действии. 2-е издание, Кантелон М.

Второе издание «Node.js в действии» было полностью переработано, чтобы отражать реалии, с которыми теперь сталкивается каждый Node-разработчик. Вы узнаете о системах построения интерфейса и популярных веб-фреймворках Node, а также научитесь строить веб-приложения на базе Express с нуля. Теперь вы сможете узнать не только о Node и JavaScript, но и получить всю информацию, включая системы построения фронтэнда, выбор веб-фреймворка, работу с базами данных в Node, тестирование и развертывание веб-приложений. Технология Node все чаще используется в сочетании с инструментами командной строки и настольными приложениями на базе Electron, поэтому в книгу были включены главы, посвященные обеим областям.

Node.js в действии. 2-е издание, Кантелон М., Хартер М., Головайчук T., Райлих Н. оглавление

Предисловие

Благодарности

О.книге

Структура

Правила оформления и загрузка примеров кода

Об.авторах

Алекс Янг

Брэдли Мек

Иллюстрация.на.обложке

От издательства

Часть I. Знакомство с Node

Глава.1

Знакомство.с.Node.js

1. Типичное веб-приложение Node

1.1. Неблокирующий ввод/вывод

1.2. Цикл событий

2. ES2015, Node и V8

2.1. Node и V8

2.2. Работа с функциональными группами

2.3. График выпуска версий Node

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

4. Встроенные средства Node

4.1. npm

4.2. Базовые модули

4.3. Отладчик

5. Три основных типа программ Node

5.1. Веб-приложения

5.2. Средства командной строки и демоны

5.3. Настольные приложения

5.4. Приложения, хорошо подходящие для Node

6. Заключение

7Глава.2

Основы.программирования.Node

1. Структурирование и повторное использование функциональности

Node

2. Создание нового проекта Node

2.1. Создание модулей

3. Настройка создания модуля с использованием module.exports

4. Повторное использование модулей с папкой node_modules

5. Потенциальные проблемы

6. Средства асинхронного программирования

7. Обработка одноразовых событий в обратных вызовах

8. Обработка повторяющихся событий с генераторами событий

8.1. Пример генератора событий

8.2. Реакция на событие, которое должно происходить только

один раз

8.3. Создание генераторов событий: публикация/подписка

8.4. Доработка генератора событий: отслеживание содержимого

файлов

9. Проблемы с асинхронной разработкой

Упорядочение асинхронной логики

Когда применяется последовательный поток выполнения

Реализация последовательного потока выполнения

Реализация параллельного потокавы полнения

Средства, разработанные в сообществе

Заключение

Глава.3

Что.представляет.собой.веб-приложение.Node?

1. Структура веб-приложения Node

1.1. Создание нового веб-приложения

1.2. Сравнение с другими платформами

1.3. Что дальше?

2. Построение REST-совместимой веб-службы

3. Добавление базы данных

3.1. Проектирование собственного API модели

3.2. Преобразование статей в удобочитаемую форму и их сохранение

для чтения в будущем

4. Добавление пользовательского интерфейса

4.1. Поддержка разных форматов

4.2. Визуализация шаблонов

4.3. Использование npm для зависимостей на стороне клиента

5. Заключение

8

Часть II. Веб-разработка с использованием Node

Глава.4

Системы.построения.фронтэнда

1. Фронтэнд-разработка с использованием Node

2. Использование npm для запуска сценариев

2.1. Создание специализированных сценариев npm

2.2. Настройка средств построения фронтэнда

3. Автоматизация с использованием Gulp

3.1. Добавление Gulp в проект

3.2. Создание и выполнение задач Gulp

3.3. Отслеживание изменений

3.4. Использование отдельных файлов в больших проектах

4. Построение веб-приложений с использованием webpack

4.1. Пакеты и плагины

4.2. Настройка и запуск webpack

4.3. Использование сервера для разработки webpack

4.4. Загрузка модулей и активов CommonJS

5. Заключение

Глава.5

Фреймворки.на.стороне.сервера

1. Персонажи

1.1. Фил: штатный разработчик

1.2. Надин: разработчик открытого кода

1.3. Элис: разработчик продукта

2. Что такое фреймворк?

3. Koa

3.1. Настройка

3.2. Определение маршрутов

3.3. REST API

3.4. Сильные стороны

3.5. Слабые стороны

4. Kraken

4.1. Настройка

4.2. Определение маршрутов

4.3. REST API

4.4. Сильные стороны

4.5. Слабые стороны

5. hapi

5.1. Настройка

5.2. Определение маршрутов

5.3. Плагины

95.5.4. REST API

5.5. Сильные стороны

5.6. Слабые стороны

6. Sails.js

6.1. Настройка

6.2. Определение маршрутов

6.3. REST API

6.4. Сильные стороны

6.5. Слабые стороны

7. DerbyJS

7.1. Настройка

7.2. Определение маршрутов

7.3. REST API

7.4. Сильные стороны

7.5. Слабые стороны

8. Flatiron.js

8.1. Настройка

8.2. Определение маршрутов

8.3. REST API

8.4. Сильные стороны

8.5. Слабые стороны

9. LoopBack

9.1. Настройка

9.2. Определение маршрутов

9.3. REST API

9.4. Сильные стороны

9.5. Слабые стороны

Сравнение

1. Серверы HTTP и маршруты

Написание модульного кода

Выбор персонажей

Заключение

Глава.6

Connect.и.Express

1. Connect

1.1. Настройка приложения Connect

1.2. Как работают промежуточные компоненты Connect

1.3. Объединение промежуточных компонентов

1.4. Упорядочение компонентов

1.5. Создание настраиваемых промежуточных компонентов

10

6.1.6. Использование промежуточных компонентов

для обработки ошибок

2. Express

2.1. Генерирование заготовки приложения

2.2. Настройка конфигурации Express и приложения

1576.2.3. Визуализация представлений

2.4. Знакомство с маршрутизацией в Express

2.5. Аутентификация пользователей

2.6. Регистрация новых пользователей

2.7. Вход для зарегистрированных пользователей

2.8. Промежуточный компонент для загрузки пользовательских

данных

2.9. Создание открытого REST API

2

Согласование контента

3. Заключение

Глава.7

Шаблонизация.веб-приложений

1. Поддержка чистоты кода путем шаблонизации

1.1. Шаблонизация в действии

1.2. Визуализация HTML без шаблона

2. Шаблонизация с EJS

2.1. Создание шаблона

2.2. Интеграция шаблонов EJS в приложение

2.3. Использование EJS в клиентских приложениях

3. Использование языка Mustache с шаблонизатором Hogan

3.1. Создание шаблона

3.2. Теги Mustache

3.3. Тонкая настройка Hogan

4. Шаблоны Pug

4.1. Основные сведения о Pug

4.2. Программная логика в шаблонах Pug

4.3. Организация шаблонов Pug

5. Заключение

Глава.8

Хранение.данных.в.приложениях

1. Реляционные базы данных

2. PostgreSQL

2.1. Установка и настройка

2.2. Создание базы данных

2.3. Подключение к Postgres из Node

2.4. Определение таблиц

118.2.5. Вставка данных

2.6. Обновление данных

2.7. Запросы на выборку данных

3. Knex

3.1. jQuery для баз данных

3.2. Подключение и выполнение запросов в Knex

3.3. Переход на другую базу данных

3.4. Остерегайтесь ненадежных абстракций

4. MySQL и PostgreSQL

5. Гарантии ACID

5.1. Атомарность

5.2. Согласованность

5.3. Изоляция

5.4. Устойчивость

6. NoSQL

7. Распределенные базы данных

8. MongoDB

8.1. Установка и настройка

8.2. Подключение к MongoDB

8.3. Вставка документов

2438.8.4. Получение информации

8.5. Идентификаторы MongoDB

8.6. Реплицированные наборы

8.7. Уровень записи

9. Хранилища «ключ-значение»

Redis

1. Установка и настройка

2. Выполнение инициализации

3. Работа с парами «ключ-значение»

4. Работа с ключами

5. Кодирование и типы данных

6. Работа с хешами

7. Работа со списками

8. Работа со множествами

9. Реализация паттерна «публикация/подписка» на базе каналов

2598

Повышение быстродействия Redis

Встроенные базы данных

LevelDB

1. LevelUP и LevelDOWN

2. Установка

12

8

3. Обзор API

4. Инициализация

5. Кодирование ключей и значений

6. Чтение и запись пар «ключ-значение»

7. Заменяемые подсистемы базы данных

8. Модульная база данных

Затратные операции сериализации и десериализации

Хранение данных в браузере

1. Веб-хранилище: localStorage и sessionStorage

2. Чтение и запись значений

3. localForage

4. Чтение и запись

Виртуальное хранение

1. S3

Какую базу данных выбрать?

Заключение

Глава.9

Тестирование.приложений.Node

1. Модульное тестирование

1.1. Модуль assert

1.2. Mocha

1.3. Vows

1.4. Chai

1.5. Библиотека should.js

1.6. Шпионы и заглушки в Sinon.JS

2. Функциональное тестирование

2.1. Selenium

3. Ошибки при прохождении тестов

3.1. Получение более подробных журналов

3.2. Получение расширенной трассировки стека

4. Заключение

Глава

Развертывание.и.обеспечение.доступности.приложений.Node

1. Хостинг Node-приложений

1.1. Платформа как сервис

1.2. Серверы

1.3. Контейнеры

2. Основы развертывания

2.1. Развертывание из репозитория Git

2.2. Поддержание работы Node-приложения

3. Максимизация времени доступности и производительности

приложений

1310.3.1. Поддержание доступности приложения с Upstart

3.2. Кластерный API

3.3. Хостинг статических файлов и представительство

4. Заключение

Часть III. За пределами веб-разработки

Глава

Написание.приложений.командной.строки

1. Соглашения и философия

2. Знакомство с parse-json

3. Аргументы командной строки

3.1. Разбор аргументов командной строки

3.2. Проверка аргументов

3.3. Передача stdin в виде файла

4. Использование программ командной строки с npm

5. Связывание сценариев с каналами

5.1. Передача данных parse-json

5.2. Ошибки и коды завершения

5.3. Использование каналов в Node

5.4. Каналы и последовательность выполнения команд

6. Интерпретация реальных сценариев

7. Заключение

Глава

Разработка.настольных.приложений.с.использованием

Electron

1. Знакомство с Electron

1.1. Технологический стек Electron

1.2. Проектирование интерфейса

2. Создание приложения Electron

3. Построение полнофункционального настольного приложения

3.1. Исходная настройка React и Babel

3.2. Установка зависимостей

3.3. Настройка webpack

4. Приложение React

4.1. Определение компонента Request

4.2. Определение компонента Response

4.3. Взаимодействие между компонентами React

5. Построение и распространение

5.1. Построение приложений с использованием Electron Packager

5.2. Упаковка

6. Заключение

14

Приложения

Приложение.А

Установка.Node

А.1. Установка Node с использованием программы установки

А.1.1. Программа установки для macOS

А.1.2. Программа установки для Windows

A.2. Другие способы установки Node

A.2.1. Установка Node из исходного кода

A.2.2. Установка Node из менеджера пакетов

Приложение.Б

Автоматизированное.извлечение.веб-данных

Б.1. Извлечение веб-данных

Б.1.1. Применение извлечения веб-данных

Б.1.2. Необходимые инструменты

Б.2. Простейшее извлечение веб-данных с использованием cheerio

Б.3. Обработка динамического контента с jsdom

Б.4. Обработка «сырых» данных

Б.5. Заключение

Приложение.В

Официально.поддерживаемые.промежуточные

компоненты

В.1. Разбор cookie, тел запросов и строк информационных запросов

В.1.1. cookie-parser: разбор HTTP-cookie

В.1.2. Разбор строк запросов

В.1.3. body-parser: разбор тел запросов

В.1.4. Сжатие ответов

В.2. Реализация базовых функций веб-приложения

В.2.1. morgan: ведение журнала запросов

В.2.2. serve-favicon: значки адресной строки и закладки

В.2.3. method-override — имитация методов HTTP

В.2.4. vhost: виртуальный хостинг

В.2.5. express-session: управление сеансами

В.3. Безопасность веб-приложений

В.3.1. basic-auth: базовая HTTP-аутентификация

В.3.2. csurf: защита от атак CSRF

В.3.3. errorhandler: — обработка ошибок при разработке

В.4. Предоставление статических файлов

В.4.1. serve-static — автоматическое предоставление статических

файлов браузеру

В.4.2. serve-index: генерирование списков содержимого каталогов

Глоссарий

Также вы можете оставить вопрос или отзыв о книге: Node.js в действии. 2-е издание, Кантелон М.

Отзывы

Отзывов пока нет.

Будьте первым, кто оставил отзыв на “Node.js в действии. 2-е издание, Кантелон М., Хартер М., Головайчук T., Райлих Н.”

Ваш e-mail не будет опубликован. Обязательные поля помечены *