Обновление ikfi.ru!
Нежданно-негаданно зарелизил новую версию своего сайта.:)
Что нового?
Платформа
Новая версия нова во всех планах. Изначально в планах было запилить новую версию на Yii2, однако в последнее время я очень сильно увлекся платформой node.js и фреймворком express.js в частности, поэтому и запилил все это дела на этой связке.
В качестве базы данных взял модную MongoDB (не то чтобы из-за моды — просто хотелось попробовать NoSQL решения в действии), правда мозг у меня упорно отказывается думать вне реляционных моделей, поэтому есть некоторые места, реализованные по аналогии с SQL (те же связи и нормализация). Общие впечатления остались только положительные.
Единственный минус (и плюс одновременно) в node приложениях — асинхронный код. Я столкнулся с проблемой callback hell при разработке ikfi.ru, однако библиотека node полна различных решений подобных проблем. Для себя я выбрал библиотечку Q, с помощью которой сумел значительно упростить код, особенно в местах где нужно получать одновременно несколько моделей из базы и передавать их во вьюху.
Кстати говоря, очень рекомендую желающим переходить на node книжку «Веб-разработка с применением Node и Express».
В результате прогона ab получил интересные результаты — на ноде у меня сайт обрабатывает запросы в 2-3 раза быстрее!
![response-time-chart](https://i0.wp.com/blog.ikfi.ru/wp-content/uploads/2016/09/response-time-chart-300x150.jpg?resize=600%2C300)
Процесс разработки и инструменты
В плане верстки я очень сильно подсел на стек npm, bower, gulp, sass и nunjucks. Об использовании этих замечательных инструментов я расскажу в цикле статей «Как верстать проще и быстрее» (там пока что только одна статья, но в ближайшие пару недель я планирую выпустить его весь).
Применительно к себе могу сказать одно — шаблонизация и препроцессинг — реально РУЛЯТ И РАЗРУЛИВАЮТ, и экономят колоссальное количество времени!
Дизайн
Я носил в голове очень много идей для дизайна сайта, очень многие из них я выбросил уже после реализации шапки. Все что остались и не ускользнули от меня со временем я попытался реализовать в новом дизайне.
![screenshot-from-2016-09-22-17-09-50](https://i0.wp.com/blog.ikfi.ru/wp-content/uploads/2016/09/Screenshot-from-2016-09-22-17-09-50-300x155.png?resize=600%2C311)
Формат статей и проектов
Ооо, тут кроется самое главное! Я подключил sir-trevor в качестве основного wysiwyg редактора, и разработал 8 основных блоков для него, большинство из которых можно по разному настроить для более удобного и приятного чтения.
Кстати, именно удобство чтения было для меня главной целью. Я долгое время настраивал и переделывал отображение контента статей, пока оно не стало удовлетворительным (на мой взгляд).
Еще одно нововведение — новый формат проектов в портфолио — теперь это не просто сухой набор данных и скриншотов с редкими замечаниями, теперь это по возможности полноценный взгляд разработчика и история разработки проекта. К сожалению, я не успел еще перенести все проекты на новый сайт, но думаю в течение месяца-двух я их дотяну.
![screenshot-from-2016-09-22-17-11-25](https://i0.wp.com/blog.ikfi.ru/wp-content/uploads/2016/09/Screenshot-from-2016-09-22-17-11-25-300x170.png?resize=600%2C339)
Монетизация
Я противник баннеров, поэтому на моем личном сайте Вы никогда их не встретите. Однако современные методы монетизации предусматривают и иные способы «заработка»: я разместил партнерские ссылки внизу, в подвале. Причем разместил я их не только потому-что мне будет капать копеечка от Ваших заказов, но и потому что я действительно считаю отличными сервисами defin.ru и simplecloud.ru. Также я установил себе виджет очешуительной системы — relap.io, которая показывает похожие записи в подвале статьи и один-два блока полезной (т.е. с учетом Ваших интересов) ненавязчивой рекламы, которую я зачастую и сам просматриваю.:)
На этом все, желаю Вам хорошего кода и адекватных заказчиков, и спасибо что заходите ко мне!:)