Цель заброшена
Автор не отписывался в цели 8 лет 6 месяцев 26 дней
Дневник цели

Глава 18, безопасность. Большая (по времени) глава. Часть посвящена https, что это такое, как сделать свой бесплатный сертификат (и почему это сработает только в разработке), чем отличаются сертификаты. Собственно тут все просто было, скачать и поставить openssl, сгенерить сертификат и добавить его в Express. Дальше часть про CSRF атаки и защиту от них классическим способом, токеном, опять же с помощью плагина csurf. Дальше пошла часть про то, какая сложная штука аутентификация и что своими силами за неё лучше не браться, а использовать либо сторонние сервисы, либо готовые библиотеки. Собственно практическая часть, с помощью passport и его дополнений, то есть стратегий (passport-facebook и passport-google-oauth) сделать аутентификацию через Facebook и Google+ соответственно. Тут самое долгое создать приложения в этих сервисах и получить необходимые данные, пока google по упоротости снова делает всех )))) Но, в общем всё получилось и работает, что меня удивило, я всё жду подвоха, как всегда.
С начала недели провалялась с этим диким то ли гриппом, то ли каким-то ещё адским вирусом, все планы к чертям, хорошо хоть изначально неделя не планировалась сильно загруженной, хотела подтянуться по учебе, но жизнь не любит, когда планируют, ага :)

whodef, да уж не болезнь, а стихийное бедствие )))) Ингалятор надо покупать, ага, чтобы быстро с этой заразой расправляться. Да какие там сериалы, если бы, первые двое суток просто не просыпалась практически, температура какая-то адская была. Потом сутки отходняка от температуры, ни читать, ни смотреть ничего невозможно. Реально коматозник какой-то, никакой выгоды xDDD Обычно то да, валяешься себе, смотришь что-нибудь на крайний случай, а тут нифига. Поставила подкаст послушать и вырубилась.

Глава 17, реализация MVC в Express. Общий обзор паттерна, тем не менее совершенно понятный. Рассмотрение модели представления на примере, по моему мнению одной из самых полезных штук, чтобы не раздувать модели в оригинальной концепции ненужными методами. Не смотря на краткость главы, польза её, благодаря освещенной теме, весома. Причем необходимость в модели представления возникает именно на практике, если изучать исключительно теорию, то это знание лишь пунктик в изученном. Впрочем, наверное, как и сам паттерн. Пример в главе, из-за контекста проекта, мне кажется, сразу расставляет всё по своим местам, зачем, почему, как.

Александр Соколов, а куда деваться? ))) Надо. Я уж и раньше вставала и вечером пыталась после остальных дел, но дела не кончаются никогда, да и начинаются во сколько бы ни встала, сразу. Так что если совсем апокалипсиса не случается, встаю и к книжке с чашкой кофе, такое вот пробуждение :)

Глава 16, статический контент. Крайне полезная глава для начинающих по организации статики, генерации путей, минификации, использованию CDN (просто рекомендация конечно, без подробностей) и прочему. Плюс тесты на обнаружение случайно забытых прямых ссылок на ресурсы. Пусть всё на Grunt (а я уже плотно подсела на Gulp xD), да и для меня большинство было уже частью повседневной работы, но безусловно полезно, хотя бы тестирование, которое, по завершению книги, я точно внесу в рабочий процесс, так как не смотря на всю внимательность, проекты имеют свойство разрастаться и проще простого что-то упустить, когда срочно нужно внести правки.

Глава 15. API REST и JSON. Не очень богатая информационно глава, как-то поверхностно пробежались, но тем не менее объяснены основные принципы, методы запросов и разбор ошибок. Как организовать работу API при помощи Express и при помощи REST-плагина, в данном случае connect-rest. Как я ни билась, перенести работу API на поддомен так и не вышло. Надо бы найти какой-то более живой пример, connect-rest обновился, но документация особо не помогла, как и копание в исходном коде (но тут играет ограниченное время, было бы его больше, докопалась бы думаю). Ну или рассмотреть другой плагин, как вариант.
В общем-то, всё работает, тесты проходят.

Глава 14, маршрутизация. Освещено понятие информационной архитектуры, небольшие, но ценные советы по структуре URL. Маршрутизация поддоменов посредством vhost. Назначение нескольких обработчиков одного маршрута с примером реализации механизма авторизации. Немного о регулярных выражениях в путях и использовании параметров маршрутов. Организация маршрутов (как всегда кратко, но емко). И, ура, размещение маршрутов в модулях, меня уже эта лапша кода в файле приложения порядком раздражала. Так же про автоматическую визуализацию представлений, немного магии.
В общем, глава зашла хорошо и быстро. Даже тесты не падают. Хотя их, конечно, дополнить надо. Как и добавить те файлы, которых нет в книге, но есть в оригинальном репозитории. Перед следующей главой займусь этим.
PR всё же отправила, так как нашлась ещё одна ошибка, на этот раз критическая. Судя по активности автора и висящим долгое время другим PR, вряд ли его примут, но лучше сделать и забыть, чем не сделать и мучиться потом этим ))))

Глава 13, хранение данных. Пришлось поправить загрузку файлов, через try catch и statSync, так как fs.existsSync уже со статусом Deprecated. Так как с MongoDB и Mongoose была знакома, то их применение никаких сложностей не вызвало. Не стала поднимать локально (так как опять же, уже был опыт), сделала по книжке, через mLab. Захотелось попробовать облачные хранилища и Redis как сессионное, как и рекомендуется в книжке :) Только вот цейтнот не дает разгуляться, снова в планы пойдет...
Опять нашла ошибки, в том числе и одну в репозитории, ну да там настолько смехотворная, что и не знаю, стоит ли PR делать.
Идёт не очень быстро, так как в основном не занимаюсь копипастом, а пишу ручками (заодно и ошибки отлавливаю). Кое-что конечно копирую с оригинального репозитория, тоже внимательно вычитывая каждую строчку, но для меня лучше понимается/запоминается, если сама пишу.

Глава 12, реальные условия эксплуатации. Очень и очень интересная глава. Переключение среды выполнения в разных режимах (set NODE_ENV=production для виндовуозных), конфигурации для различных режимов, горизонтальное масштабирование с помощью кластеров (ошибочка в коде, забыто next(), хоть поняла из-за чего всё перестало работать :)), обработка исключений, горизонтальное в теории, мониторинг сторонними сервисами, и стрессовое тестирование.
Так как тестированием увлеклась, добавила для удобства в тест ввод количества запросов из командной строки (commander), наигралась вдоволь :) Так же пришлось модифицировать expect, так как тест упорно проходил при превышении ожидаемого времени (документация по Chai решила проблему за минуту), ну и лимит выполнения увеличила, пока искала в чем суть... В общем мой тест таким получился.
Всё прямо работает, что меня радует бесконечно :) Мелочи с поиском ошибок в примерах и других решений лишь бодрят мозг, как обычно. Книжка мне нравится с каждой главой всё больше и больше, жаль время не позволяет на сутки засесть и от души позаниматься ею.


Глава 11, отправка электронной почты. Тоже всё отлично расписано-объяснено. Нашлась ещё махонькая ошибка в коде, не критичная. Nodemailer встал и заработал, но с gmail пришлось повозиться, да и синтаксис новой версии Nodemailer чуть отличается. Пара небольших правок и почта улетела, не стала углубляться в игры с html, мне это известно :)
Ну а по поводу боли о верстке писем, как раз иду на воркшоп в воскресенье, так что пополню багаж знаний, давно эта тема интересовала. Для общего развития, так сказать.

У меня Нода по плану с весны (ИМТО). Теперь знаю, у кого буду спрашивать, что да как))

Светлана, Да, у тебя как раз нашел в первых постах про скринкаст от Ильи Кантора)
Уже сохранил плейлист)

Глава 10, промежуточное ПО. Объясняется суть middleware, про конвейерную обработку, как это работает в Express на примерах, какие параметры передаются в функцию, как писать своё и какие распространенные мидлы, для чего они в общем могут быть нужны. Настолько всё понятно расписано, что даже пример делать не стала, по коду прозрачно и ясно.