5 декабря 2013 г.

Декабрьская встреча питонистов

Последняя встреча в этом году обещает быть крайне интересной.

10 декабря 2013, в 19:00 (это вторник, а не четверг, как обычно)
офис Mail.ru Group (Ленинградский проспект д.39, строение 79, БЦ «SkyLight»)

Регистрация


Судите сами:

Комментирование исходников

Григорий Петров (Digital October)

Как и что комментировать в исходном коде ваших программ, чтобы комментарии принесли максимальную пользу.

Flask: гордость и предубеждение

Егор Назаркин (Wargaming.net)

От простого к сложному: этапы и проблемы построения "взрослых" приложений на базе Flask.

Пишем ИИ для Russian AI Cup

Артём Безукладичный (Sevenquark)

Russian AI Cup — крупнейший в России ежегодный чемпионат по программированию искусственного интеллекта. В докладе будут рассмотрены общие теоретические и практические методы программирования ИИ, а так же частные решения для условий конкурса этого года. Я расскажу о проблемах, возникших при программировании, и о том, как TDD помогло мне их преодолеть.

Само собой, наша команда там будет, подходите, пообщаемся в кулуарах :)

1 июля 2013 г.

Чтиво 51

Django

На прошлой неделе вышла  Django 1.6 beta 1.

Ожидаемые даты следующих релизов Django: RC: Aug 8, Final: Aug 15 или позже, если потребуются дополнительные релиз-кандадты.

Отзыв о книжке Violent Python Да-да, это практически питон для "хакеров".

Хорошая обзорная статья про асинхронное выполнение кода в python. С примером на flask и tornado.

Автор PEP443 про single-dispatch generic functions объясняет, зачем они нужны простому программисту. Уже можно использовать, есть бэкпорт для 2.6+: pip install singledispatch.

Люк Плант объясняет, почему MVT в Django это не "классический" MVC и что из этого следует.

Меньше недели до начала месяца непрерывного питона @julython Даёшь больше независимых проектов! http://julython.org

Вышла новая версия factoy-boy с поддержкой SQLAlchemy и другими фичами. Это отличная замена фикстурам в тестах.

Как люди вне Яндекса делают проекты на БЭМ с бэкендом на python и nodejs.

Очень познавательное видеоинтервью @__rlp с @mitsuhiko про Flask.

Чуваки написали свою чуть ускоренную реализацию cpython под названием FalconНе так шустро как pypy, но всё же.

Веб-разработка

Небезызвестный Yehuda Katz про будущее веб-платформы

Серия статей о том, что будет с postgres, mongodb, riak, redis при разрыве сетевой связности.

Многие веб-программисты незаслуженно забывают про keep-alive при написании клиентов к API.

Анонимное соревнование для программистов CodingGame, победители получают job офферы python, js, ruby, c, c++, c#, java, php.







5 апреля 2013 г.

Пополнение в портфолио

Ура! Нет, нас не смыли цунами, нас не продали на органы, просто мы были очень заняты разработкой и запуском новых проектов. Представляем некоторые из них, над которыми бились последний год.




Сделали сайт Вероники Белоцерковской, или просто — Белоники. Она ведёт популярный кулинарный (и не только!) блог в ЖЖ, на который подписано более 40 тысяч человек.

Самая интересная часть сайта «под капотом». Рецепты в постах размечены особым образом, чтобы автоматически формировать отдельный каталог с кучей фильтров и категорий. Мы создали семантический WYSIWYG-редактор постов, который позволяет хранить информацию об ингредиентах, этапах приготовления, загружать тонны фотографий и создавать из них галереи.


Всех функций не упомянуть в небольшой заметке, редактор заслуживает более детального описания.

Сайт Белоники в портфолио






Запустили и поддерживаем сайт FutureToday, который помогает студентам найти работу в компаниях мирового масштаба и наоборот.

Перед нами стояла задача переписать уже имеющийся сайт, улучшив его и расширив функциональность. Разработка была ограничена довольно сжатыми сроки: сайт надо было обновить к учебному сезону. Первый релиз состоялся в конце августа 2012 года после 7 месяцев активной разработки. Над проектом в среднем работало 5 человек с нашей стороны и 2 со стороны клиента, в некоторых итерациях численность проектной команды доходила до 15 человек.


Сайт FutureToday в портфолио

15 марта 2013 г.

Чтиво №50

Прошёл первый российский пайкон. Читаем отчёты: раз, два, три. А лучше всего смотрите видео.

Прошёл юбилейный, десятый по счёту Moscow Django. Снова собрали полный зал и даже не всем хватило места, остальные смотрел прямую трансляцию на уютной кухне мейла. К сожалению, трансляция не работала вне офиса, но видеозапись уже доступна. Было 3 интересных разных доклада и неизменное общение в кулуарах :)

Ссылочки за прошедшие 3 недели, самое интересное:

Бэкенд

Уже все знают, но всё равно: в конце февраля наконец вышел Django 1.5. Пользуясь случаем пиарим выступление Ильи Барышева про новинки 1.5.

Алекс Гейнор рассказыват, отчего питон, руби и джаваскипт такие тормозные.

В конце февраля PyPy стукнуло 10 лет, кто бы мог подумать.
Интересная заметка про соль ОПП и размышелния где же правда между “Stop Writing Classes” и “Start Writing More Classes”.

Уже несколько недель успешно пользуемся сервисом bundlescout для отслеживания новых релизов на PyPI. Раз в день (где-то в 16-00) приходит письмо со ссылками на новые версии. Кому не нравится платность могут воспользоваться альтернативой. Оба сервиса кроме python понимаю ruby, nodejs.


Клиентсайд

Full-text поиск прямо в браузере. Статья и сайт.

Тем кто никогда не умел верстать, но приходится иногда, будет полезен туториал по тому что такое layout страницы. Тем же, кто вообще никогда не верстал, нужно что-нибудь по-проще.

Библиотека для работы с разнообразными форматами данных и конвертации между ними jQuery.IO.

Прикольный генератор цветовых схем для бутстрапа.

Разное

Артём Голиков делится своей тёмной темой для pycharm, которая основана на дефолтной теме саблайма.

21 февраля 2013 г.

Чтиво 13.7

Не пропустите юбилейный, 10-й MoscowDjango 28-го февраля, ровно через неделю! Приходите или смотрите онлайн-трансляцию, будут интересные доклады.

Django


Вышло обновление Django 1.4.5, которое чинит проблемы с обновлением на 1.4.4 :) А 1.4.4, в свою очередь, закрывает некоторые дыры в безопасности. Ну, бывает.

django-mailviews – набор CBV для работы с почтовыми сообщениями. Создание, превью, отправка.

Django REST framework теперь поддерживает Python 3. Также слегка обновился API. Есть жизнь вне Tastypie :)

В то время как находятся отщепенцы, которые хотят из Flask`а сделать Django (тот же Flask-Kit, например), существуют и диаметрально противоположные решения вроде importd.

django-tempus – батарейка для роутинга логики по токенам. Пригодится практически в любом проекте.

Python


Появляются первые компании, специализирующиеся на обучении и внедрении Python. Для бизнеса. Pythonio.com

TDD в Python. Снова на уровне 2+2, но новичкам будет полезно для общего представления.

HTTPretty – мокирование http-запросов на уровне сокетов, для интеграционного тестирования RESTful API, например.

Пример реализации простой и изящной обвязки вокруг web API на базе Requests.

Блог о Python и смежные темы от автора популярной книги Writing Idiomatic Python.

Webdev


Backlift – любопытный проект, который предоставляет backend-платформу для frontend-разработчиков с деплоем через обычный Dropbox. На пальцах и не объяснишь, проще посмотреть ролик на сайте.

Twitter продолжает радовать своими открытыми продуктами. На этот раз нам презентовали библиотеку для реализации автокомплита с невероятно простым API.

Dropzone.js - либа для заливки картинок через drag’n’drop, с превью и плюшками.

Всячина


PySideForAndroid – специальный форк PySide для написания приложений под Android на Python/Qt.

Vim After 11 Years. Чудесное превращение обычного VIM в полноценную IDE.

Qt портировали на JS! О, времена...

Slate – продвинутый оконный менеджер для OS X, автор которого вдохновлялся относительно популярным XMONAD из мира Linux.

13 февраля 2013 г.

Чтиво 13.6

Python


flojay – библиотека для инкрементальной сериализации и десериализации JSON-документов.

Pillow – дружественный форк PIL с более динамичным циклом релизов и простой установкой.

Дело Дональда Кнута живёт :) pyreport – это скрипт для “литературного программирования” в Python. Понимает LaTeX-вставки, умеет пошагово выполнять код и формировать документацию на базе выходных данных. Математикам должно понравиться.

pypln.org интересный зверь. Такая себе облачная платформа для анализа естественных языков (в ядре стека всё тот же nltk).

django-db-tools – middleware для Django, которое умеет переключать сайт в режим “только для чтения”. Может пригодиться во время больших миграций, например.

Logbook – “более лучший логгер” от Армина с поразительной функциональностью и приятным API.

itsdangerous – библиотека от на базе Django signing module... тоже от Армина. Как думаете, для чего?

WebDev


JSDB – каталог современных JS-библиотек на все случаи жизни с тесной интеграцией с GitHub`ом.

Twitter Bootstrap и его шаблонные серо-бело-синие сайты уже заполонили все интернеты. Так вот сервис Divshot это такой WYSIWYG-редактор, практически online-Dreamweaver для быстрого создания прототипов сайта на базе Bootstrap. Но, перефразируя знаменитое высказывание: “Нет ничего более постоянного, чем прототипы”.

Читальный зал


Подборка ссылок для основательного изучения Backbone.js

Подборка ссылок с обучающими материалами по программированию для детей. Кстати, недавно вышла в свет книга "Python for Kids", похожая по стилю изложения и подачу на "Learn You a Haskell for Great Good". Так что изучать программирование никогда не рано. И не поздно.

И снова у нас в гостях господин Armin Ronacher. На сей раз у него накипело из-за тренда на функциональщину после знаменитого доклада “Stop Writing Classes” и в свойственной ему манере “подробно и издалека” оформил своё мнение по этому поводу в пост “Start Writing More Classes”.

Nettuts+ не балует вниманием Python, но время от времени всё же появляются материалы по теме. В январе это был микропост про Flask. А месяц спустя уже классика жанра – “делаем клон Твиттера”. На этот раз на Django.

Remote. Office not required”. От создателей бестселлера “Rework”. Coming soon :)

5 февраля 2013 г.

Чтиво 13.5

Python


Для Django неожиданно мало приложений по интеграции визуальных редакторов типа TinyMCE или CKEditor. А те, что есть достаточно убоги. Наш соотечественник и коллега Святослав Бульбаха тоже это заметил и запилил проект django-cked – связку CKEditor и elFinder для Django.

Набор fabric-скриптов для развёртывания Amazon EC2-инстанса с ElasticSearch. Вдруг надо?

Python-обвязка для управления GPIO и I2C устройствами на Raspberry Pi.

Пишем свой уютный тамблелог на Flask и MongoDB. Пошагово, подробно, для начинающих.

Установщик pip для извращенцев для Windows. Там даже GUI какой-то есть (WHY?! Oh, God!)

Reding – реализация REST Api на Flask и Redis. Судя по всему, это самый популярный стек для подобного рода задач.

Glances – утилита для мониторинга Linux и BSD систем с CLI-интерфейсом. Информативная штука, к тому же made with Python!

zipline – библиотека с алгоритмами для трейдеров.

Пост-разоблачение о многопоточности в Python. Исследуется внутренняя кухня GIL и работа потоков в принципе. Хабр.

Трансляция Python-кода в LLVM-инструкции с последующей компиляцией в нативный код, на примере проекта Parakeet. Всё в общих чертах, но всё равно интересно. Прирост производительности в итоге колоссальный.

29 января 2013 г.

Чтиво 13.4

Python


Python очень любят, и не безосновательно, всякого рода математики, например. NumPy, Scipy, Matplotlib успешно заменяют аналогичные дорогостоящие продукты (ту же Mathematica), даже NASA не брезгует пользоваться ими для анализа больших объёмов данных. Для такого юзкейса особенно важны высокая производительность, скорость разработки и низкое количество багов. То есть то, что интересует не только учёных для научных вычислений. Поэтому из сборника лекций special for scientific usage можно почерпнуть немало полезного и нам с вами, простым веб-разработчикам.

Коллекция быстрых нестандартных структур данных, которых почему-то нет среди стандартных библиотек Python. Деревья, матрицы и пр.

Познавательный пост с примерами зачем же нужен этот SECRET_KEY в современных фреймворках типа Django или Flask.

Как узнать, что ваш thread умер? Расследование.

Обновились Python Twitter Tools. Теперь банановый и с поддержкой Twitter 1.1 API по умолчанию.

Delorean – простая библиотека для работы с датами и временными зонами.

pythonz... он как pythonbrew, только pythonz

PQL транслирует ваши python-выражения в идентичные по логике mongodb-запросы.

И снова наша постоянная рубрика “коллекция алгоритмов на Python". На этот раз - от Russell`а и Norvig`а (тех самых).

Не Python


Вам интересна Firefox OS? Может вы даже хотите написать какое-то приложение для неё? Тогда вам наверняка будет интересен пост про создание UI-компонентов. Только HTML, только хардкор.

Было? Нет? Очередная попытка целостного описания Backbone.js – Backbone.js Stack.

22 января 2013 г.

Чтиво 13.3

Встреча питонистов


Через два дня пройдёт Moscow Django №9, там будет выступать наш Илья Барышев с темой про новинки Django 1.5. Приходите или смотрите нас онлайн.

Python


Кто-то должен был это сделать. Proofread – автоматические smoke-тесты по результатам интроспекции урлов вашего Django-приложения.

Не прошло и ста лет (прошло), появилась свежая книга по Django версии 1.5 – "Two Scoops of Django", которую уже сейчас можно предзаказать по весьма демократичной цене в 12$, PDF.

python-spdylay. – питоническая обёртка вокруг Spdylay C, с поддержкой протоколов SPDY/2 и SPDY/3. Для тех, кто впереди планеты всей :)

simpleai – реализация некоторых канонических алгоритмов AI, на базе примеров с книги “Artificial Intelligence, a Modern Approach”. В отличие от первичной реализации, делается упор на документацию и стабильное, приятное на ощупь API.

Параллельное, асинхронное выполнение “тасков” с помощью библиотеки concurrent.futures. Стандартная батарейка начиная с Python 3.2, между прочим.

А кому нужно фоновое выполнение тасков из очереди, а Celery кажется разжиревшим монстром, можно использовать RQ – простую, лёгкую библиотеку с Redis в качестве бэкенда. Можно также посмотреть пример использования в контексте web2py. Даже веб-дашборд имеется, на базе Flask.

Кому мало функциональщины, может попробовать fn от проповедника функционального стиля в Python Алексея Качаева (у него и доклад был на PyCon UA 2012 соответствующий, кто помнит). Там всё как мы любим – ленивость, каррирование, потоки, монады (ну почти) и всякие высокоуровневые итераторы.

Pants – аналог virtualenv, реализовывает запаковку всего и вся окружения в один исполняемый PEX-файл. Возможно, интересное решение для деплоя проектов, надо пробовать.

Реализация некоторых базовых концепций квантовых вычислений на Python.

Ломаем графическую капчу MintEye в 23 строчки кода. Делов-то, оказывается.

Всякое


Для веб-разработчиков сразу несколько приятных событий (кому как, конечно) – новая без-5-минут-2.0 jQuery и новый без-5-минут-1.0 Backbone.js.

А помимо этого ещё и такой себе Travis-CI, только Testling и для клиентского кода. Умеет прогонять тесты на всех основных браузерах, есть интеграция с GitHub. Ликуйте, JS-мастера!

Очень слоу, но Опера таки выпустит в скором времени свой браузер Opera Ice на webkit`е для iOS с минимумом интерфейса и максимумом управления жестами.

14 января 2013 г.

Чтиво 13.2

Предыдущая неделя была омрачена самоубийством Аарона Шварца, чему сейчас посвящены 95% новостей. Не будем повторяться, наверняка вы уже сто раз слышали об этом. 
Непросто выудить из всеобщей истерии что-то дельное, но кое-что нашлось. 

Python


milk – очередная библиотека с реализованными на Python (и частично на C++) алгоритмами для машинного обучения.

cloud – интеграционная библиотека для использования облачных мощностей AWS через провайдера PiCloud, если требуется, к примеру, быстро получить результат выполнения какой-то очень ресурсоёмкой функции. Включает в себя симулятор, для работы которого необязательно иметь аккаунт на PiCloud и который умеет использовать все ядра локального CPU для выполнения тасков.

ipythonblocks – любопытное обучающее расширение для IPython Notebook. Позволяет представить flow или операции над двумерными матрицами в виде интерактивной цветной мозаики. Проще посмотреть примеры, чем на словах объяснить что к чему.

Презентация о разработке веб-приложений на Django для самых маленьких. Хорошо давать ссылку знакомым пэхапэшникам, например, для общего представления.

Всякое


Встречайте Taskk, умный таск-менеджер + тесная интеграция с GitHub. Разработчики уверяют, что it couldn’t be more perfect. Если кто-то попробует, отпишитесь как и зачем оно.

Можно поиграть в демократию и проголосовать за доклады на ближайшем DjangoCon Europe. Дело в том, что организаторы приняли 75 заявок на доклады, а реально есть возможность презентовать лишь 15.

Небольшая подборка малоизвестных, но полезных приятностей Git`а и GitHub`а.

Деплоймент через CI с помощью TeamCity. Выглядит серьёзно, надо пробовать.

9 января 2013 г.

Чтиво 13.1


Python


И снова о различиях строковых представлений в Python 2 и 3, но на этот раз от kmike и больше про __repr__. Знать об этом точно не помешает, особенно тем, кто уже начал портировать свой код на тройку (давно пора, кстати).

Свой PyPI-совместимый локальный репозиторий теперь создать ещё проще. Берём pip2pi, скармливаем ему свой requirements.txt, делимся с командой, меньше зависим от PyPI... Profit!

Писать на PHP, как известно, можно на любом языке, в том числе и на Python. А чтобы облегчить этот переход, пацаны ваще ребята создали php2python.com.

Heroku теперь поддерживает различные версии Python. По дефолту это 64bit CPython 2.7, но уже умеет 3.3 и, экспериментально, pypy 1.9.

ipy_table – расширение для IPython Notebook, позволяющее в несколько строк создавать «живые», хорошо отформатированные таблицы с данными.

amico – библиотека для реализации отношений (которые relationships) в Redis, которой можно найти массу применений.

Почему Django отстой, кто виноват и что делать. Есть ощущение, что ссылка на эту презентацию уже проскакивала, но лишней всё равно не будет, мысли дельные.

Как Python работает с памятью или приучаем себя к профилировщикам. Краткая вводная статья для разогрева.

Всякое

Прошло уже 40 лет, а главные концепции GUI неизменны. Пруф.

Хотите начать opensource-проект, но не знаете какую выбрать лицензию и как нумеровать версии релизов? Странно... но бывает. Тогда читаем эту и эту вот статьи.

12 + 1 заповедь как писать меньше да лучше. Старо как мир, но и нарушаются они не менее часто библейских.

Поздравляю российских коллег с окончанием зимних каникул. Пока вы отдыхаете, враг прокачивается :) Роман Семирук.