[GeekBrains] Node.js Серверное программирование на JavaScript
?
Курс для тех, кто уже хорошо знает и использует JavaScript на клиенте и хочет программировать на JavaScript на стороне сервера.
Чему Вы научитесь
Умение создавать консольные утилиты на node.js.
Умение создавать веб-сервисы с помощью популярного фреймворка express.js.
Умение применять шаблонизаторы для разделения кода и оформления интерфейса в проекте.
Умение создавать и использовать различные REST API.
Умение использовать в программе веб-сокеты с помощью socket.io.
Урок 1. Знакомство с nodejs
Знакомство с node.js, Сильные и слабые стороны node.js, Установка node.js с помощью nvm, Менеджер процессов pm2, Пример: Hello, world!
Стандартные библиотеки и функции node.js, Консольные программы на node.js, Пример: Hello, {name}!, Обработка аргументов при запуске, Работа с переменными окружения, Пример: Hello, {env}!, Менеджер пакетов npm, Полезные библиотеки: sugar, underscore, async
Урок 3. Работа с сетевыми заросами
Принципы обработки входящих веб-запросов, Исходящие запросы с помощью request, Пример: Программа-переводчик (с помощью Google Translate)
Урок 4. Фреймворк Express
Знакомство с фреймворком express.js, Знакомство с шаблонизатором Handlebars, Пример: Программа-переводчик v2 с интерфейсом на HTML+CSS
Урок 5. Работа с MySQL
Работа с MySQL с помощью node-mysql, Создание и использование модулей, Пример: создание TODO-приложения основа — ввод и отображение пунктов)
Урок 6. Аутентификация и авторизация
Продолжение разработки TODO-приложения (редактирование и удаление пунктов, работа с cookies и сессиями, авторизация с помощью passport.js)
Урок 7. REST API
Создание и использование кроссдоменных API с помощью REST API + CORS, Создание REST API с помощью restify, Пример: импорт/экспорт TODO-листа в формате JSON, Использование REST API с помощью restify, Пример: поиск индекса через Google Maps
Урок 8. WebSockets
Работа с WebSockets через socket.io, Пример: простейшая чат-комната, Профессиональный хостинг для node.js, Как настроить VDS, Как использовать PAAS, Полезные сайты и инструменты