Обновление ikfi.ru!
Нежданно-негаданно зарелизил новую версию своего сайта.:)
Что нового?
Платформа
Новая версия нова во всех планах. Изначально в планах было запилить новую версию на Yii2, однако в последнее время я очень сильно увлекся платформой node.js и фреймворком express.js в частности, поэтому и запилил все это дела на этой связке.
В качестве базы данных взял модную MongoDB (не то чтобы из-за моды — просто хотелось попробовать NoSQL решения в действии), правда мозг у меня упорно отказывается думать вне реляционных моделей, поэтому есть некоторые места, реализованные по аналогии с SQL (те же связи и нормализация). Общие впечатления остались только положительные.
Единственный минус (и плюс одновременно) в node приложениях — асинхронный код. Я столкнулся с проблемой callback hell при разработке ikfi.ru, однако библиотека node полна различных решений подобных проблем. Для себя я выбрал библиотечку Q, с помощью которой сумел значительно упростить код, особенно в местах где нужно получать одновременно несколько моделей из базы и передавать их во вьюху.
Кстати говоря, очень рекомендую желающим переходить на node книжку «Веб-разработка с применением Node и Express».
В результате прогона ab получил интересные результаты — на ноде у меня сайт обрабатывает запросы в 2-3 раза быстрее!
Процесс разработки и инструменты
В плане верстки я очень сильно подсел на стек npm, bower, gulp, sass и nunjucks. Об использовании этих замечательных инструментов я расскажу в цикле статей «Как верстать проще и быстрее» (там пока что только одна статья, но в ближайшие пару недель я планирую выпустить его весь).
Применительно к себе могу сказать одно — шаблонизация и препроцессинг — реально РУЛЯТ И РАЗРУЛИВАЮТ, и экономят колоссальное количество времени!
Дизайн
Я носил в голове очень много идей для дизайна сайта, очень многие из них я выбросил уже после реализации шапки. Все что остались и не ускользнули от меня со временем я попытался реализовать в новом дизайне.
Формат статей и проектов
Ооо, тут кроется самое главное! Я подключил sir-trevor в качестве основного wysiwyg редактора, и разработал 8 основных блоков для него, большинство из которых можно по разному настроить для более удобного и приятного чтения.
Кстати, именно удобство чтения было для меня главной целью. Я долгое время настраивал и переделывал отображение контента статей, пока оно не стало удовлетворительным (на мой взгляд).
Еще одно нововведение — новый формат проектов в портфолио — теперь это не просто сухой набор данных и скриншотов с редкими замечаниями, теперь это по возможности полноценный взгляд разработчика и история разработки проекта. К сожалению, я не успел еще перенести все проекты на новый сайт, но думаю в течение месяца-двух я их дотяну.
Монетизация
Я противник баннеров, поэтому на моем личном сайте Вы никогда их не встретите. Однако современные методы монетизации предусматривают и иные способы «заработка»: я разместил партнерские ссылки внизу, в подвале. Причем разместил я их не только потому-что мне будет капать копеечка от Ваших заказов, но и потому что я действительно считаю отличными сервисами defin.ru и simplecloud.ru. Также я установил себе виджет очешуительной системы — relap.io, которая показывает похожие записи в подвале статьи и один-два блока полезной (т.е. с учетом Ваших интересов) ненавязчивой рекламы, которую я зачастую и сам просматриваю.:)
На этом все, желаю Вам хорошего кода и адекватных заказчиков, и спасибо что заходите ко мне!:)