Вместе или врозь

Есть у нас в Яндексе кластер, на котором живёт много проектов на Питоне. Большие, маленькие — около двух десятков. И все они пользуются общими библиотеками. Не отдельными копиями одних и тех же библиотек, а именно общими файлами, лежащими в системных каталогах. Периодически эта система вызывает вопросы и сомнения, и мы ...

ijson

18.09.2010

Python

В Питоне для парсинга JSON обычно берут либо включённый в стандартную библиотеку simplejson, либо популярный в последнее время cjson. Обе библиотеки обрабатывают JSON одним куском: парсят всё целиком и возвращают нативный питоний объект. Мне же недавно понадобилось обрабатывать JSON потоком, в духе SAX. Это имеет смысл, когда размер данных начинает ...

elementflow: формальное представление

18.05.2010

Python

В прошедший понедельник на московской конференции DevConf я презентовал в виде мастер-класса питоновую библиотеку для потоковой генерации XML. Как и надеялся, получил хороший фидбек, и вот сегодня формально представляю проект и первый его релиз. Описание Скачать релиз 0.1 можно на PyPI. Код под BSD-лицензией лежит на Launchpad. Название обыгрывает "ElementTree" ...

Публичные выступления

23.03.2010

Python

Весна получается у меня насыщенной выступлениями. Уже нарисовалось два, и оба — про Питон. Первое — это подкаст The Art of Programming, на который я недавно наезжал за терминологические и фактические неточности :-). После этого его ведущий golodnyj убедил меня, чтобы я "ответил за слова", и мы с ним записали ...

Форум по Питону

22.12.2009

Python

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

adisp

11.12.2009

Python

Программирование иногда не даёт нормально спать. Придёт в голову какая-нибудь идея, присмотришься к ней — вроде простая и красивая. Потом начинаешь прикидывать подробности, и вроде тоже всё складывается. А потом садишься писать код... Тут-то и получается, что в реальности есть ещё и другие подробности, которые мозг при умозрительном разглядывании удобно ...

Отрывание префикса пути

08.06.2009

Python

Как-то раз я уже веселил народ питоновой задачкой про move_month. Было весело и полезно, мне понравилось! Ловите новую задачку. Дано: абсолютное имя файла загруженного питоньего модуля sys.path — список директорий, в которых его можно найти для простоты положим, что пути в sys.path показывают на уникальные директории (на практике это может ...

Задачка про move_month

21.01.2009

Python

Рефакторил сегодня древние уголки кода и наткнулся на две функции: add_month и sub_month, которые принимают дату и соответственно либо увеличивают ее на календарный месяц, либо уменьшают. Главное, зачем они очевидно нужны — корректная обработка перехода в следующий и предыдущий год. И вот, глядя на их код, у меня родилась задачка, ...

Barcamp: минибар для программистов

25.09.2008

Python

В рамках iCamp 2 октября в Москве пройдет некое экспериментальное мероприятие — минибар для программистов. Туда активно собирается рельсовая тусовка, и также организаторы зовут питонью тусовку — каковое приглашение я тут сейчас и транслирую. Планируется что-то вроде посиделок программистов человек на пятьдесят (хотя реально придут, конечно, человек десять :-) ) ...

Exception Seminar #09

22.09.2008

Python

Кратко извещаю питонью тусовку, что 27 сентября (да, уже в эту субботу) в Киеве проходит очередной Exception #09. Не пропустите! Жаль только, у меня скорее всего быть там не получится, уж больно много всего на работе происходит.

WSGI фреймворк?

20.04.2008

Python, Web

Недавно Макс Ищенко попросил меня добавить публичности циклу статей Сергея Щетинина на DOU, посвященному веб-разработке на Питоне "без" фреймворков: часть 1, часть 2, часть 3. Но конечно, просто так ссылок я давать не хочу: надо либо хвалить, либо ругать. Здесь получилось последнее, причем, простите, ругаться я буду громко и совсем ...

Google App Engine

09.04.2008

Python, Django

Позвольте присоединиться ко всеобщему шуму про Google App Engine со слегка упорядоченным дампом своих мыслей последней пары дней. Хорошо! Питон, Питон, Питон. Само по себе то, что Google сделал массовый специализированный хостинг приложений именно с этим языком — это увесистый такой аргумент для бюрократов, которые не очень любят разбираться в ...

webpython-ru

13.01.2008

Python, Web

Появилась новая Google-группа, посвященная разработке веб-приложений на Питоне — webpython-ru. Основной фокус ее будет на фреймворках Pylons и TurboGears2. На Джанго фокус не попадает, потому что, как объяснил Макс Ищенко, по Джанго и так уже много хороших ресурсов (спасибо, Макс :-) ). Хотя я часом подумал, что если группа будет ...

python-markdown2

10.11.2007

Python

Недавно появился проект python-markdown2 — еще одна реализация замечательной разметки Markdown на Питоне. Пишет ее Трент Мик. От первого Python Markdown она принципиально отличается тем, что реализует не полноценный парсинг в синтаксическое дерево, а является фактически портом оригинального перлового кода Джона Грубера. Зачем делать еще одну реализацию кратко написано у ...

WideFinder на Питоне

07.10.2007

Python

Кто не слышал, Тим Брей какое-то время назад решил проверить, как сильно распараллеливаемый Erlang справится с простой задачкой: распарсить Апачевский лог и посчитать в нем количество вхождений каждого URL'а. Это превратилось в долгоиграющую эпопею под названием Wide Finder Project, в которой сейчас участвует куча народу. Одни занимаются тем, что думают, ...

Побочные эффекты императивного программирования

Наверное многие заметили, что в последние эдак пару лет интерес к штуке под названием "функциональное программирование" растет прямо на глазах. Там и тут все чаще люди с придыханием говорят слова "Хаскел" и "Эрланг", а также периодически вспоминают, что вот был еще такой "Лисп" — это да, это был настоящий язык! ...

Аннотации функций в Питон 3000

19.06.2007

Python

Когда Гвидо ван Россум впервые написал, что он подумывает о том, чтобы попробовать включить в Питон опциональное описание типов аргументов и значений функций, а потом долго гасил флейм, я сразу эмоционально принял сторону ярых противников этой штуки. В конце концов, у нас же есть duck typing! И всякая идея декларировать ...

Деакцентирование букв по-питоновски

20.02.2007

Юникод, Python

Под деакцентированием я имею в виду убирание закорючек, черточек, крышечек и прочих умляутов с букв европейских (и не только) алфавитов. Задачка такая то и дело возникает при поиске строк. Насколько я успел заметить, принятый способ решения — просто составление таблиц вида "á" → "a", "è" → "e" и т.д. Способ ...

Контролируемое скачивание 2

Это долгожданное (в основном мной :-) ) продолжение статьи "Контролируемое скачивание", где я писал про то, как я реализовывал скачивание с авторизацией, контролем скорости и успешного завершения в Неком Музыкальном Сервисе. Сервис мы запустили в конце декабря в работу, и о нем у меня будет еще, что написать в самое ...

Duck typing в действии

Практический пример использования особенности, известной как "duck typing", для не программирующих на Питоне. Впрочем, программирующим тоже может быть интересно :-) "Если это ходит, как утка, и крякает, как утка, то значит это утка" — это принцип, по которому в Питоне и некоторых других динамических языках считается, что то, что объект ...