Показаны сообщения с ярлыком видео. Показать все сообщения
Показаны сообщения с ярлыком видео. Показать все сообщения

среда, 15 июля 2009 г.

Дебажим джангу

Вроде начал толком писать приложение на Django и, естественно, понадобилось как-то отлаживать приложения. Довольно приятно был удивлён наличием удобных вещей по сравнению с PHP (или может я просто так плохо умею с ним обращаться?):
  1. bdp/ipdb позволяет ставить брейкпойнты в коде и делать пошаговую отладку, конечно, не Eclipse/Visual Studio, но вполне годно к использованию;
  2. django-debug-toolbar, о ней я уже писал, с тех пор там появилась ещё рубрика "сигналы";
  3. django-extensions в связке с werkzeug, про использование extensions для рисования диаграмм моделей я уже упоминал, но вот расширение страницы ошибки до того, что там становится доступна коммандная строка, меня сильно впечатлило.
Сухими словам или картинками объяснять получится не очень демоснтративно, поэтому рекомендую посмотреть неплохие касты от Eric Holscher тут и тут.
Оттуда же я узнал, что даже стандартная страница об ошибке Django информативнее, чем мне казалось (к примеру можно посмотреть участки кода и отправить стэктрейс на dpaste.com).
И ещё складывается такое впечатление, что на Django как-то больше думаешь о строении приложения с архитектурной точки зрения, т.е. как отдельные части взаимосвязаны и, возможно ли какое-нибудь переиспользование кода, а не с точки зрения "вот тут параметр А, надо отобразить табличку в Н строк". Хотя задачка не очень показательная, т.к. не из типовых для джанго, по-моему.

воскресенье, 3 мая 2009 г.

Касты из Ченнаи

В рамках пассивного обучения Django посмотрел тут касты одного индуса под названи Learn Django: Create a Wiki in 20 minutes. В целом довольно познавательные ролики, только вот как-то оно неаккуратно. В первых 2 частях код правится в VIM, а в третьей - в WingIDE. И оформление кода несколько стремновато. Ещё это усугубляет, что сделано оно на версии 0.96, а в версия 1.0 привнесла среди прочего пару актуальных изменений:
  • Текст выводимый в шаблонах "автоискейпится" и можно безопасно выводить любые переменные в результирующий html, т.е. не надо каждый раз добавлять фильтр escape для переменных, а наоборот лишь в случае необходимости добавлять фильтр safe (или тэг autoescape);
  • В urlconf'ах появились имена паттернов, и тэг url может принимать эти самые имена, но судя по документации тэг этот был и ранее, так что "прибивание гвоздями" адресов нельзя оправдать (показательно, как он сам потом ручками во всех шаблонах меняет адреса на новый формат).
Думаю, автору бы не помешало посмотреть презентацию о reusable apps, про которую я писал. Но в целом (если откинуть шероховатости) довольно неплохой пример для новичков.

вторник, 7 апреля 2009 г.

Простая магия переиспользования

Наткнулся на очень интересное видео с Джеймсом Беннетом, одним из значимых разработчиков в Django и автором книги Practical Django Projects, несколько устаревшей (по версии фреймворка), но, судя по всему, стоящей (поэтому она стоит у меня в списке к прочтению). В этом видео он рассказывает об очень важной составляющей идеологии фреймворка - идеи reusable apps, т.е. переиспользуемых приложений. В соответствии с ней, сайт представляет собой не оргомную монолитную кучу кода, а совокупность отдельных приложений, небольших, отвечающих за отдельную функциональность, но делающих это хорошо. За счёт этого приложение становится более прозрачным, код - более переиспользуемым, и повышается его поддерживаемость и расширяемость. На примерах показывается каким образом можно строить эти самые reusable apps.
Этому же посвящена 1-я часть слайдов с презентации Real World Django, прошедшей на PyCon 2009 (очень жалко, что не опубликовано видео оттуда).

понедельник, 23 марта 2009 г.

Отличные касты

Не зря говорят "лучше 1 раз увидеть чем 100 раз услышать". Поэтому на меня произвели довольно сильное впечатления скринкасты от Эрика Флоренцано, в которых на живом примере показано создание приложения на Django. Лучше, конечно, не просто смотреть касты, но и опробовать всё это своими руками, включив заодно и моторную память.
Жалко, правда, что серия не совсем закончена: в 13-м эпизоде Эрик упоминает, что в 14-м он расскажет об использовании Fabric для развёртывания приложений на Django, но эпизода пока так и нет.