About Blog Dev | Alfa Romeo SZ Conkeror wishlist

Музыкальные языки

Из исходника и обсуждения в jabber-конференции pythonua@cjr родился прикольный список соответствия языков программирования стилям музыки.

 continue reading

Фичи Django 1.0

Джеймс Беннет пару дней назад опубликовал список фич, которые важны для релиза Django 1.0, по причине того, что они очень большие и важные, либо того что они простые, маленькие и порядочно улучшают/облегчают использование в обычных случаях, либо (менее важно) они заметно нарушают обратную совместимость и было бы неплохо их интегрировать заранее.

 continue reading

QS-RF

Сегодня про это пишут все, но я всё равно не могу промолчать. :-)

Ветку разработки queryset-refactoring смержили в транк Django, что означает приход порядочной толпы приятностей. ;-) Мне лично очень нравится возможность посмотреть SQL до выполнения собственно запроса (QuerySet.query.as_sql()), ну и логично работающую фильтрацию по одной и той же таблице, хорошо описанную Иваном. Ну и ещё долгожданное многими наследование моделей.

Отличные новости, в общем! :-)

Как постгрес тормозил

Сегодня напоролись на смешной прикол. Со внешнего сайта собирается некоторое количество данных и запихивается в базу. Сначала в сырые таблички, а потом обрабатывается и пихается на положенное место вместе с инициализацией кое-какой инфраструктуры. Ну и всё бы неплохо, если бы сбор данных (и запихивание в сыром виде) не происходило за 2 секунды, против 10 секунд (в среднем) на запихивание на нужное место.

Мы уже начали размышлять, как бы оптимизировать наш любимый Постгрес, у меня начали появляться мысли о том, что с записной книжкой1 я таких траблов не видал, или что может транзакции не работают, или ещё какая-то страшная фигня произошла.

Ну, подёргал я постгрес немножко, но ничего не меняется — пришлось преодолеть лень и посмотреть, какие ж запросы там исполняются (хотя бы проверить, транзакция стартует или нет). Ну и сразу все сомнения развеялись:

[17:20] Murkt> 
In [22]: len(connection.queries)
Out[22]: 2759

:D

1

mysql, кто ж ещё? :-)

Обновления

Буквально только-только реализовал в Byteflow одну маленькую (совсем), но очень полезную штуку, подсказанную Катапом: в стандарте Atom’а есть два разных поля, использующихся для указания даты для элемента — published и updated, при этом updated - обязательное.

Раньше в updated просто кидалась дата создания поста или комментария, но сейчас всё по-другому. :) Теперь дата создания поста (которую можно изменить в админке для приведения в более адекватный вид, для создания “поста в будущем”) или комментария идёт в published, а в updated попадает дата, изменяющаяся при каждом изменении объекта. По идее, это должно заставить обновлённый объект появляться во всей своей красоте в рсс-ридерах. :-)

Enjoy! :)

Размер репозитория

Чисто ради интереса решил привести один маленький забавный факт о размере репозиториев. Есть у нас немаленький проект, при этом чекаут исходников джанговой части из SVN занимает 79 мегов.

При этом этот же проект, переконверченный в меркуриал — рабочая копия и полная её история вместе — занимает 80 мегабайт.

OpenID server

Этот пост будет кратким — благодаря стараниям Олега в Byteflow теперь присутствует сервер OpenID. Клёво. :-)

P.S.А ещё byteflow — второй по тегу django на ohloh.net, после самой джанги. :-)

render_to improved

[UPD от 12 ночи]

Чуть больше года назад, когда меня окончательно задолбало писать render_to_response c кучей параметров, я себе написал маленький декоратор render_to, который заметно уменьшал количество писанины.

Но вот не так давно обсуждали его в джаббер-конференции pythonua@c.j.r (кстати, официальная конференция python.com.ua), где появилась идея слегка его проапгрейдить до возможности задавать темплейт из view (когда одна вью может выдавать различные странички). В принципе, идея усложнения декоратора мне не особенно нравится (да и потом, кому надо — может переделать себе, благо несложно), но по размышлении я увидел, что особенного усложнения нету, плюс сохраняется обратная совместимость полностью (что важно, потому как мне есть и где использовать новую фичу, но не очень хочется ломать все вьюхи, использующие старую версию ;).

 continue reading

S-expression markup

У меня некоторое время назад появилась мысль - а почему бы не сделать простой синтаксис разметки на секпах? Ведь это сразу убивает одну из самых напряжный вещей в маркдауне - невозможность набирать разметку, не переключаяся на латиницу. Даже брать самый первый вариант, который приходит мне в голову, (a "текст ссылки" http://ссылка опциональный титл) (кавычки можно заменить скобками), то можно дать пользователю определять синонимы для символов типа a, чтоб не заставлять его переключаться. При таких раскладах улетает вдаль необходимость придумывать новый синтаксис для новых вещей. :-)

Надо ему ещё дать в голове посидеть, но вдруг у кого-то тоже есть мысли на эту тему?

P.S.Лисп, конечно, пожрал мой мозг, но всё-таки. ;)

Mercurial vs git

Я уже довольно давно собираюсь написать хоть какое-то примерное сравнение этих двух систем контроля версий - просто потому, что меня это касается довольно прямым образом. Но постоянно не мог собраться - сомнения, как бы начать, достаточно ли я для себя точек сравнения накопил, и так далее… В конце концов решил не тянуть резину в долгий ящик и написать то, что есть. Возможно, если получится мало и спорно, в жарких дискуссиях начнёт просыпаться истина… эээ… это я как-то отвлёкся от темы, приступим к делу. :-)

 continue reading