среда, 31 октября 2012 г.

Python Committer

В марте на US PyCon 2012 sprints я стал Python Core Developer.

Или, на наши деньги, был включен в команду разработчиков CPython.

С тех пор прошло почти восемь месяцев.

И сегодня я сделал свой двухсотый commit в http://hg.python.org/cpython

Не так уж и мало!

С другой стороны, можно и лучше, да и аппетит приходит именно во время еды. Чем больше вкладываю своих сил в развитие любимого языка программирования, тем больше этот процесс нравится.

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

В общем, мне это занятие очень нравится, буду стараться работать дальше не снижая темпа.

Python Sprints

У Организаторов UA PyCon есть идея провести как-нибудь спринты по Питону.

Что это такое?

Добровольцы собираются вместе и работают над тем, чтобы Питон стал лучше: правят-дописывают документацию, добавляют тесты, чинят баги.

Я могу быть Sprint Lead, показать процесс работы, помочь на месте в случае затруднений, провести review кода и сделать commit.

Детали пока еще не определены. Сначала нужно понять, насколько это вообще интересно и на какое количество людей нужно ориентироваться.

Поэтому, если есть желание принять участие в спринте, убедительно прошу заполнить опрос на гуглоформах.

Если есть вопросы — задавайте.

понедельник, 29 октября 2012 г.

Learning Python

Ребята и девчата.

Закончился UA PyCon 2012. Надеюсь, вам понравилось.

Игорь Давыденко на lighting talks сделал презентацию своей идеи по организации курсов изучения Питона.

Я согласился вести advanced курс в рамках этой программы.

Игорь будет вести курс по веб-программированию с использованием популярных инструментов Django и Flask.

Я же хочу дать углубленные знания по тому, как работает веб на примере создания собственного простого сервера, показать приемы замера производительности и оптимизации кода, интеграции питона с С кодом и т.д.
Аудитория — люди, уже имеющие опыт разработки на Питоне и желающие понять что происходит «под капотом».

Курсы состоят из 12 занятий по два часа в неделю каждое.
Час на подачу теоретического материала и час на разбор домашних заданий. Выполнение домашних заданий обязательное.
Стоимость определится после набора группы, ориентировочно 150 грн за занятие.

Вопрос первый: это вообще интересно?
И второй вопрос: о чем бы вам хотелось узнать?

Регистрируйтесь на http://learnpython.in.ua. После набора 10-15 человек начнем обучение.

четверг, 25 октября 2012 г.

Питон: еще раз форматирование

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

Как переводят дату-время в строку? Обычно так:

>>> from datetime import datetime
>>> d = datetime.now()
>>> d.strftime("%d.%m.%Y")
'25.10.2012'

А на самом деле можно и так:

>>> "{:%d.%m.%Y}".format(d)
'25.10.2012'

Как это работает?

.format разбирает строку формата и определяет параметры форматирования для аргументов. Для первого аргумента, очевидно, это %d.%m.%Y.

Это значение попадает в метод .__format__ в качестве аргумента, а результат вызова подставляется в шаблон:

>>> d.__format__("%d.%m.%Y")
'25.10.2012'

Что это дает? Можно коротко и элегантно записывать сложные шаблоны:

>>> "{} — {:%d.%m.%Y}".format("Today", d)
'Today — 25.10.2012'

То же самое работает и для других классов в datetime и т.д.:

>>> from datetime import date
>>> "{:%A}".format(date.today())
'Thursday'

Более того, никто не мешает определить .__format__ для своего класса, возвращающий строку построенную по заданному шаблону.

Только ради этого стоит переключиться со старого стиля "%s" % "abc" на новый, симпатичный и удобный.

суббота, 6 октября 2012 г.

четверг, 4 октября 2012 г.

Билеты на UA PyCon 2012


Понемногу заканчиваются последние билеты на UA PyCon.
Знаю, что, как и год назад, найдутся особо несознательные граждане, которые будут просить билетик за день до события, соглашаясь на тройную цену стоя и без обеда.
Тем не менее настоятельно рекомендую тем, кто имеет желание посетить конференцию и все еще не приобрел билет — сделать это поскорее.