Весна получается у меня насыщенной выступлениями. Уже нарисовалось два, и оба — про Питон.
Первое — это подкаст The Art of Programming, на который я недавно наезжал за терминологические и фактические неточности :-). После этого его ведущий golodnyj убедил меня, чтобы я "ответил за слова", и мы с ним записали один выпуск, где я разговаривал про Питон, скриптовость, интерпретируемость, GIL и другое. Получилось, кажется, неплохо, хотя хотелось поговорить ещё :-)
Да, за качество звука следует ругать именно меня, потому что я никогда ничего с микрофонов не записывал, и оценить, как оно получится в итоге, не могу. Отсюда гулкость и хриплость... Слушайте контент :-)
Второе выступление ещё не случилось. Оно будет 18 мая, и это будет мастер-класс в рамках конференции DevConf, на котором я попробую раскрыть всё, что я думаю о том, как в Питоне можно генерировать XML.
Ни один из распространённых ныне способов мне не нравится:
- print-операторы, очевидно, почти гарантируют баги в результирующем выводе
- ElementTree со своим SubElement хранит всё дерево в памяти перед тем, как его сериализовать, и там совершенно неудобно работать с namespace'ами
- та же проблема с жадностью до памяти у генерации XML шаблонными движками
- sax'овый XMLGenerator слишком низкоуровневый
Мне кажется, можно сделать лучше. Ну или по крайней мере, чтобы пятый способ был отстоен как-то более по-другому :-). Если хотите поучаствовать — проголосуйте за мастер-класс!.
Комментарии: 7
trolling = on Зюмль не нужен. Достаточно православного yaml'а в виде json.
Ждём ещё подкастов!
Хаскелисты тоже озаботились проблемой эффективной генерации html, вот что у них выходит: http://github.com/jaspervdj/BlazeHtml (в частности, там есть кое-что почитать в директории doc). Может, почерпнете каких-нибудь идей оттуда.
Подкаст послушал в тот же день, когда он появился на хабре. Конференция, похоже, будет хорошая. Увы, не смогу прийти (на билеты может быть и хватит, а вот на вход, а тем более на мастер-класс - нет :)
Кстати, если хотелось поговорить еще, то чем не повод для еще одного подкаста в будущем? Ждем :)
Да, хотелось бы еще послушать, а то только втянулся - и уже конец, а до работы еще столько же ехать)
Для себя открыл SciTE - рад, перерад)
Послушал Арт оф программинг. Довольно интересно, жаль, правда, ведущий немного раздражает (видимо это мои личные комплексы), да и формат не тот, чтоб дать развернутый ответ.
Если можно, задам вопрос насущный. Вы делаете ваши сервисы на нескольких языках? (та же Я.Погода, вроде, на украинском была, если не ошибаюсь). Вот у меня возникла проблема, используем в своём проекте gettext, а для форм "20 яблок" надо бы использовать ngettext (сейчас вот буду выискивать и всё такое :-), но ngettext (и вообще формат po/pot) рассчитан на то, что базовым языком является английский. Самым простым выходом я нашел такой: использовать ngettext так: ngettext(u'яблоко', u'яблок', num), а затем не забывать переводить ru-pot-файл. Если забыл перевести эти яблоки — ничего, будет лажа только для 2-4 яблок (получится "2 яблок", "3 яблок").
А как это делать правильно? Или вы таки используете английский как базовый? Спасибо огромное, надеюсь не лень читать это всё было)