This version of the page http://blog.piranha.org.ua/cat/programming/ (0.0.0.0) stored by archive.org.ua. It represents a snapshot of the page as of 2007-03-25. The original page over time could change.
Amazon byteflow » Programming

Archive for the 'Programming' Category


Django без Django

Где-то с месяц назад мне показали Jinja - систему темплейтов, которую можно назвать слизанной с Джанги с некоторыми дополнениями (на ходу так не вспоминаются отличия, но они есть).

А вот только что я наткнулся на Colubrid, который является обработчиком запросов для веба, который разбирает урлы, GET/POST запросы и т.д. Ну и, судя по документации и вообще сайту, порядочно inspired Джангой. Написан тем же автором, специально чтобы отказаться от Джанго. При этом предоставляет парочку очень интересных способов разбора адресов (хех, в том числе и routes).

Ну и напоследок статья о том, как написать сайт без фреймворка. Берётся набор инструментов и всё склёпывается в подобие фреймворка. :D Про этот самый Colubrid, Jinja, SQLAlchemy, markdown и FormEncode (хм, вот что это - я еще не знаю, надо посмотреть).


Сессии в Django

Сменил я тут недавно работу - раньше работал администратором никсовым, а сейчас - программистом на питоне. Даже, если говорить точнее, на Django - как раз использую то, к чему последний почти год (где-то с апреля-мая) сам не только пристально присматривался, но и даже пытался что-то писать. ;) Понятное дело, что работа раскрывает взор на кучу вещей, которых просто так я бы не узнал. (more…)


Kamaelia

Похоже, интересная штука. Даже очень.

http://kamaelia.sourceforge.net/Introduction


Django render_to_response

Есть в Django одна очень часто используемая мной функция - шорткат render_to_response. По сути, её параметрами является имя темплейта и словарь передаваемых в него переменных. И вот переменные можно передать двумя путями. Либо явно указать его здесь в словаре, либо заставив рендерер использовать в качестве обработчика контекста класс django.template.RequestContext и в переменной TEMPLATE_CONTEXT_PROCESSORS в settings указав необходимые функции. Все переменные, которые вернут эти функции, будут видны в любом темплейте, который отрисовывается с помощью RequestContext‘а. (more…)


The One True Editor

Наконец-то! В новом Emacs 22 (для меня новый - это от 20070102, до этого был 20060731) под винду отказались от gnuserv’а. И теперь и под винду, и под линух - используется emacs-server. И теперь не надо вешать gnuclientw на F4 в файловом браузере, а на какую-нибудь левую кнопку - сам emacs, чтоб его запустить. Теперь достаточно на F4 повесить что-то а-ля

C:\programs\emacs\bin\emacsclientw.exe -a C:\programs\emacs\bin\runemacs.exe

(more…)


WebDir

Недавно на ОпенНете пролетел совет про то, как просто и быстро отдать файл по HTTP (с помощью шелла и нетката). Но у меня тот вариант, который должен показывать список файлов и отдавать их, толком не заработал. Но ниже я увидел маленький кусочек кода на питоне, который позволяет сделать это с помощью Twisted. Ну, и я написал на его основе вполне себе юзабельный скрипт. ;)

Сама программа лежит тут. Что там с распространением и лицензией, я пока не очень придумал… ;) Название MIT выглядит самым привлекательным. ;) Но это ж в прогу надо еще всю эту бодягу (текст лицензии) влепить, да?..

Если у кого-нибудь возникнут хорошие идеи, просю. :]


Django

Последнее время пишем с братом форум на этом замечательном фреймворке. И периодически, понятное дело, встречаются разные приколы.

К примеру, есть у модели Post такие поля, как create_time и edit_time. И вот у первого стоит параметр auto_now_add (поле заполняет при создании модели), а у второго - auto_now (и его заполняет при каждом сохранении модели). И в темплейте проверяется, а не отличаются ли эти два параметра?

И дома, при тестировании, всё было отлично - они сравнивались, обычно бывали одинаковые (если пост не редактировался, естественно ;), и все были довольны. (more…)


Про пхп.

Родилось в процессе разговора про nginx, apache и fastcgi/mod_php.

find / -name *php* -exec rm {} \;


Django

Сегодня выцепил просто офигительную цитатку про Django здесь:

If the Romans had used Django, they would have built Rome in a day.


Оптимизация в питоне

Есть тут у нас на сервере скрипт, который занимается относительно простым с виду делом - выводит в том формате, котором нам хочется, файлики в определённом каталоге. Ну чтоб качать их можно было. Написан был мной и Саней еще в марте, просто чтобы иметь возможность гибко управлять выводом - никакие реализации автоиндексов в различных веб-серверах никакой такой гибкости не обеспечивают. Ну написали - и он лежал себе, работал. Но вот несколько дней назад я окончательно разобрался с nginx’ом, сделал пару интересных штук, и понял, что и как нужно улучшить в скрипте. ;) Ну, нашёл его версию, работающую в FastCGI, всё завёл, запустили - и впустили на него реальных юзеров. ЛА поднялось до 3-4, а top писал, что питон отжирает 20-25% проца. (more…)