Блог джуниора. Веб-программирование с нуля
Идея курса и первый шаг
Что такое блог джуниора?
Острая нехватка специалистов на рынке сподвигла компанию Makeomatic создать свой собственный корпоративный университет.
Первый поток обучающихся будет пробным, на нем мы будем формировать материал для дальнейшего изучения.
Курс рассчитан на фактическое отсутствие знаний у новичков. Важно лишь системное мышление и желание обучаться.
В целом мы будем охватывать весь материал, который так или иначе связан с HTML5, Javascript, Шаблонизаторами, различными базами данных,
а также плавно перейдем к разработке мобильных приложений, используя PhoneGap.
Практика обучения
Все обучение будет строиться на наборе сквозных проектов, которые имеют применение в реальной жизни. Смею заметить, что все проекты
достаточно простые, и можно найти множество аналогов в опен сорсе.
Первой практической задачей будет ознакомление со стеком Node.js
, MongoDB
, Express.js
, Less
, MVC архитектурой
.
Потребуется реализовать следующий простенький функционал: регистрация пользователя, работа с MongoDB
через ODM Mongoose
,
хранение пароля в зашифрованном виде, используя blowfish
как метод шифрования.
Express.js, MongoDB, Mongoose ODM
Краткий экскурс в Model-View-Controller
- Модель - используется для работы с данными. Получает их, преобразовывает и отдает в контроллеры
- Контроллер - связующее звено между моделями и видами, агрегирует данные, виды и отдает все это пользователю
- Вид - некий шаблон, которые в совокупности с данными дает в нашем случае на выходе дает разметку HTML5
Зачем и почему используют эту концепцию вы благополучно можете загуглить или захабрить.
Express.js - базовый фреймворк для вашего приложения на все времена
|
|
Здесь конфигурируем приложение, добавляем Middleware - это различные функции, которые выполняются в процессе жизненного цикла запроса
|
|
Так мы поднимаем веб-сервер на порту 8080, и на все запросы он будет выводить Hello World!
Базовая структура проекта:
|
|
Работа с БД, моделями
javascript config.js var mongoose = require('mongoose');
Инициализируем подключение к БДexports.db = mongoose.connect(process.ENV.MongoURI || "mongodb://localhost/junior");
|
|
Здесь отдаем модель для дальнейшего использования, альтернативно возможно получить эту модель после инициализации через:
mongoose.model("User"); module.exports = mongoose.model("User", User);
Далее мы создадим страницу для регистрации. Там будет два инпута - username и password. Они будут передавать данные
по руту POST /register
Как создать саму страницу - гугл в помощь.
1. Добавим обработчик
|
|
|
|
2. Добавляем генерацию пароля
|
|
На текущий момент мы можем создавать пользователей. Добавим страничку, доступ к которой будет только у зарегистрированного пользователя:
|
|
|
|
|
|
На сегодня рабочий день подходит к концу, поэтому продолжение следует…
Спасибо за внимание, задавайте вопросы и спрашивайте о топиках, которые интересны.
Читайте так же статьи по теме: