Nodejs является платформой программирования, в основе которой лежит JavaScript (ECMA Script). JavaScript является популярным из-за его применение в создании веб-интерфейса. Эта платформа разработана на базе двигателя Chrome V8, который позволяет компилировать JavaScript код в машинный код в режиме реального времени (JIT). Это дает возможность расширить сферу применения JavaScript от создания веб-интерфейса сайта до языка общего назначения.
Nodejs позволяет взаимодействовать с различными устройствами низкого уровня благодаря программному интерфейсу (API), написанным в C ++. Также ядро Nodejs позволяет подключать различные модули, созданные во многих других языках программирования, таких как Python, C #, C ++, Java и т.д.
Платформа Nodejs стала популярной в качестве альтернативы для создания веб-приложений и веб-серверов, таких как Apache, Microsoft IIS, Nginx. Главное преимущество, которое увеличило популярность, что сервер nodejs может работать в асинхронном режиме (evented io). Этот режим был назван без блокировки (non-blocking) и поместил его в топе других веб-серверов по производительности.
Хотя Nodejs является относительно новой платформой (выпущен в мае 2009 года), есть много компаний мирового класса: Microsoft, Joyent, Yahoo, IBM и т.д., которые мигрировали (перенесли) некоторые из своих проектов. Уже сделано достаточно много сайтов мирового класса: walmart.com , paypal.com , linkedin.com , ...
По окончании курса Вы будете уметь:
- Cоздавать веб-сервер
- Cоздавать динамическое веб-приложение
- Использовать технологии позволяющие передавать и получать данные без перезагрузки страницы
- Использовать сеансы для сохранения состояния веб-приложения
- Использовать документо-ориентированную систему управления базами данных MongoDB
- Осуществлять безопасную авторизацию пользователя
Курс рекомендован:
- Cлушателям, закончившим курсы по JavaScript и желающим продолжить изучение этой технологии
- Cлушателям, закончившим курсы направления «веб-технологии» и желающим идти в ногу со временем
- Веб-разработчикам желающим изучить новую серверную технологию
Преподаватели курса
Предварительная подготовка
Требуемая подготовка (обязательная): Успешное окончание курса JavaScript. Уровень 1. Основы веб - программирования или эквивалентная подготовка
Рекомендуемая подготовка (необязательная): Успешное окончание курса JavaScript. Уровень 2. Расширенные возможности или эквивалентная подготовка.
Рекомендуемая подготовка (необязательная): Успешное окончание курса Английский язык для IT специалистов (elementary) или эквивалентная подготовка.
Рекомендуемая подготовка (необязательная): Успешное окончание курса Web - мастеринг. Серверное web - программирование или эквивалентная подготовка.
Получить консультацию о необходимой предварительной подготовке по курсу Вы можете по тел. (373) 22 844-644.
Требуемая подготовка послужит основой дальнейшего успешного прохождения курсов. Обычно она указана под названием одного из курсов нашего учебного центра (обязательная предварительная подготовка). Рекомендуется ознакомиться с программой указанного курса и оценить свои знания в рамках данной программы. Если Вы не обладаете достаточным уровнем знаний (90%) в указанном курсе, то Вам необходимо будет пройти предварительную подготовку. Это станет залогом Вашего успешного прохождения курса.
Программа курса Nodejs
Модуль 1. Основы Node.js
- Принципы работы веб-сервера
- Chrome V8, браузер и сервер
- Что такое nodejs
- Преимущества nodejs
- Установка платформы
- Настройка рабочей среды
- Простейшие операции на NodeJs
- Области применения
- Практическая работа
Модуль 2. Объекты и методы
- Браузер и консольные команды nodejs
- Командная строка (CLI)
- Системные переменные (unix/windows)
- Запуск сценария в node
- Процессы и thread-ы в node
- Возвращаемые значения
- Запуск функции
- Глобальные объекты
- Преимущества EcmaScript 6/Harmony
- Практическая работа
Модуль 3. События
- События (evented io)
- Асинхронный механизм обработки
- Синхронный механизм обработки
- Генерирование событий
- Захват и обработка событий
- Обработка ошибок
- Стиль программирования "nodejs"
- Что такое "Callback Hell", решения
- Промиссы, библиотека Q (promises A+)
- Практическая работа
Модуль 4. Создание простого приложения (node app)
- Скелет обычного приложения node
- Файлы package.json, index.js
- Модульность приложения
- Преимущества модулей/пакетов
- Подключение файлов
- Хранение конфигураций, переводы
- Практическая работа
Модуль 5. Создание модуля
- Путь для поиска модулей
- Как располагаются модули
- Скелет модуля
- Экспорт объекта модуля
- Методы и свойства модуля
- Видимость переменной и функции
- Подключение модуля
- Практическая работа
Модуль 6. Модули node, использование NPM
- Использование опубликованных модулей
- NPM, поиск, установка, удаление модулей
- Публикация модуля
- Создание и выбор версии
- Глобальные и локальные модули
- Установка зависимостей между модулями
- Версии модулей
- Утилита git
- Самые популярные модули Nodejs
- Практическая работа
Модуль 7. В ногу со временем!
- Модуль Yo
- Модуль HTTP
- Модуль Bower
- Модуль Grunt
- Модуль Swig
- Модуль Fs
- Модуль Routes
- Модуль BodyParser
- Модуль Postdata
Модуль 8. Генераторы
- Генераторы yo
- Принцип создания шаблонов
- Создайте модуль node с yo
- Генераторы для приложений yo
- Практическая работа
Модуль 9. Автоматизация
- Автоматизация работы
- Установка пакетов фронтенд с bower
- Автоматическая проверка ошибок, модуль jslint
- Обработка css, js с Grunt
- Отслеживание изменений, модуль grunt-watch
- Автоматическая перезагрузка страницы, модуль reload
- Оптимизация и автоматизация
- Практическая работа
Модуль 10. Безопасность
- Важность тестирования приложений
- Подготовка и запуск тестов с mocha
- Анализ результатов
- Практическая работа
Модуль 11. В ногу со временем
- Профайлинг
- Инструменты анализа и сборки данных
- Обнаружение и удаление "bottleneck"-ов
- Оптимизация RAM и потребление CPU
- Полезные советы
- Практическая работа
Модуль 12. Простое веб-приложение на Nodejs
- Обзор модуля http
- Объекты запроса и ответа
- Создание простого веб-сервера при помощи модуля http
- Переменные "резиденты", преимущества в сравнении с PHP
- Обработка ошибок
- Чтение данных с GET/POST
- Создание динамических маршрутов
- Выдача статичных страниц (css,html)
- Запуск в постоянном режиме, модуль forever
* Опционально: сравнение производительности nodejs/apache php
* Практическая работа
* Окончательный тест для сертификации
Рекомендуемые курсы по специальности
Чтобы стать профессионалом, мы рекомендуем Вам вместе с этим курсом изучить: