Как я делал buyrealty.su
Решил рассказать, о том какие проекты/сайты мне приходилось делать и что было интересного в процессе разработки.
Начну, пожалуй, с проекта http://www.buyrealty.su/ — ничего особенного, простой каталог объектов недвижимости.
Изначально заказчик (мой хороший товарищ) обратился ко мне с просьбой просто сменить дизайн сайта. «Нет ничего проще !» — подумал я и немедленно согласился.
Однако, после того, как я взглянул на код, с которым предстояло работать — я был просто в шоке. Может из-за того, что я не представляю себе проекта без использования современного фреймворка (типа Yii или Catalyst), то что я увидел — было похоже на «лапшу», начала 90-х годов. PHP код в перемешку с HTML и JavaScript, обращение к базе данных из всех возможных мест, 1000 инклюдов с версткой и дополнительной логикой — в общем «картина маслом». Я уже не говорю о схеме базы данных.
По хорошему все это нужно было бы переписать, сделать конвертацию базы и т.д. Но как всегда, две проблемы — время и деньги. Я решил изменить только «морду» сайта, а все его внутренности (админка, схема базы данных и т.д.) оставить прежними. По готовой «схеме» базы данных были сгенерированны все необходимые модели Yii. После чего написаны необходимые контроллеры и представления (вьюхи). Новый дизайн прекрасно «лег» на новый «движок» сайта и через некоторое время (все про все заняло около 10 дней свободного от работы времени) портал приобрел новое лицо.
После этого были долгие пляски с mod_rewrite, однако все прошло хорошо и Яндекс успешно переиндексировал сайт с новыми url-адресами.
Не скажу, что я супер-мега программист и что после моих переделок сайт стал быстрее/круче/прикольнее, но то, что он приобрел более четкую архитектуру — это факт. Сайт, по крайней мере его публичную часть, теперь значительно легче поддерживать и если вдруг будет очередная смена дизайна — сделать это будет гораздо проще. Слава MVC!
Продолжение следует =)
Переезд. Мегафон 3G модем. Windows.
Вчера переехали на новую квартиру, потихоньку обживаемся =). После переезда остался я совсем без интернета. Сетевой кабель к квартире подведен, но вот какой провайдер и где договор с ним — хозяйка не знает. Позже обзвоню наших местных провайдеров (хорошо, что их всего 2-3) может и удастся что-нибудь выяснить. А пока купил себе Мегафон 3G модем и выхожу в интернет через него. Скорость работы довольно приличная…пока +). Все про все стоит 850 рублей – сам модем и симкарта + 1100 рублей — ежемесячный платеж за безлимитный доступ (правда после 8 гигабайт скорость падает). Один единственный минус – снова пришлось вернуться на Windows =( Хотя сегодня буду гуглить может и получиться «завести» этот модемчик в Ubuntu. Если есть опыт – делитесь ссылками.
Этапы разработки веб-проекта
Однажды знакомый попросил написать краткий список этапов/стадий разработки веб-проектов.
И вот, что я смог набросать.
Для создания качественного сайта, который удовлетворил бы все потребности заказчика и был сделан в кратчайшие сроки, необходимо последователь проработать следующие этапы.
1. Общение с заказчиком. На этом этапе необходимо выяснить какие цели ставит заказчик, разрабатывая сайт. Это сайт-визитка, промо-сайт или интернет-магазин ? А может корпаративный портал компании или социальная сеть/сообщество?
2. Составить техническое задание для разработчиков и дизайнеров. В техническом задании необходимо как можно подробнее изложить требования к будущему сайту, его структуре, функциональности и дизайну.
На этом этапе не стоит забывать о том, что сайт состоит из двух частей:
- клиентская часть — та часть сайта, с которой взаимоидействует конечный пользователь
- административная часть — часть сайта, доступная сотрудникам компании и лицам, отвечающим за контент (наполнение сайта)
В зависимости от типа сайта сложность реализации той или иной части может меняться.
3. Имея представление о целях сайта, а так же составленное техническое задание — необходимо определиться с платформой для реализации сайта.
Возможны два варианта:
- использовать одну из популярных ЦМС (система управления контентом). Возможны как платные варианты (БИТРИКС, UMI CMS и д.р.), так и совершенно бесплатные альтернативы (WordPress, Drupal, Joomla и д.р.)
- написание сайта с нуля. В этом случае под каждый проект пишется своя мини-цмс учитывающая особенности данного проекта
4. Отрисовка концепции дизайна. На этом этапе дизайнер подготавливает макеты будущих страниц сайта и предоставляет их в одном их графических форматов (png,jpg и т.д.)
5. Разработка структуры и страниц сайта в соответствии с ТЗ и используя возможности инструментария, выбранного на этапе 3.
6. Согласование дизайна. После предоставления дизайнером предварительных макетов страниц — дизайн должен быть согласован и одобрен заказчиком.
7. Верскта страниц сайта. После согласования макетов — верстальщик приступает к верстке сайта.
8. Интеграция дизайна и разработанного сайта. Дизайнер и программист могут работать параллельно, используя информацию, полученную в пунктах 1 и 3. Однако наступает момент, когда плоды их труда необходимо объединить вместе. На этом шаге сайт приобретает практически окончательный свой вид.
9. Тестирование сайта. Очень большой и ответственный этап. Тестирование может включать в себя следующие пункты:
- юзабилити-тестирование (насколько удобно пользователю работать с сайтом?)
- тестирование производительности (как серверной так и клиентской частей)
- тестирование соответствия кода сайта общепринятым стандартам (HTML,CSS)
- совместимость со всеми популярными браузерами
10. Развертывание сайта на площадке, доступной заказчику — с целью продемонстрировать результат.
11. Тестирование сайта заказчиком и выявление недочетов.
12. Исправление недочетов и замечаний.
13. Передача сайта заказчику/развертывание на площадке заказчика.
14. Тестирование работы сайта на площадке заказчика.
15. Обучение/инструктаж ответственного персонала по работе с сайтом.
16. Техническая поддержка и сопровождение сайта.
17. Консультации пользователей и помощь в устранении проблем (если возникнут).
Вот такой список получился у меня, учитывая мои предыдущие проекты и разработки.
Если есть замечания/добавления — прошу писать в комментариях!
Планы на лето
Вот и наступило долгожданное лето!
Ухх! Давненько я не писал сюда =)
В этой заметке хочу рассказать о своих планах на данный период и о том, что хочу сделать.
Конечно же летом необходимо отдыхать. И отдыхать как можно больше (что не всегда получается).
24 июня уезжаем с женой на несколько дней в Питер, хотим просто погулять и отвлечься от всех забот.
По приезду из Питера останется еще пару дней отпуска — планируем поехать в деревню, насладится, так сказать, сельской жизнью.
От отдыха переходим к делам насущным =(
На летний период поставил перед собой несколько целей, которые направленны на увеличение знаний и навыков в нелегком программистском деле:
1 Очень хочу подробней разобраться в новой для себя области — Клиентской оптимизации веб-приложений. Для ознакомления с данным вопросом выбрал для себя следующие источники информации (вся информация на русском языке):
Книга «Разгони свой сайт»
Книга «Реактивные веб-сайты»
Ресурс webo.in
2 Хочу ознакомится и реализовать простенький проект на Django, а за одно и «пощупать» Python
Для этой цели выбрал следующие ресурсы для ознакомления:
Официальная документация Django
Книга «Django Разработка веб-приложений на PYTHON»
Одна вот из этих книг по Django
3 Хочу активнее взяться за наш проект о достопримечательностях — worldpoi.info (Старший и Вадег — привет! =) )
4 Хочу активнее развивать свой блог о программировании — allframeworks.ru
Хочу, хочу, хочу! Посмотрим, что из этого получится на деле!


