31 июля 2012 г.

Больше, чем праздник

У нашего коллеги Павла Воробьёва, менеджера студии да и просто замечательного человека случилось самое большое событие в его жизни – рождение сына! Команда Future Colors горячо желает новорождённому и его маме крепкого здоровья, а папе выдержки и мудрости :) Пусть ваш ребёнок радует вас своими достижениями и добрыми поступками.

Будем рады видеть его в наших рядах через пару десятков лет!

30 июля 2012 г.

Чтиво последних июльских дней

Django

Серия постов про безопасность в Django, по посту почти каждый день. Рекомендуем, если хочется подтянуть знания по security, но ничего кардинально нового там нет.

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

Python

Неплохой туториал по Фласку Quick doesn't have to mean dirty. Пишем гостевую книгу и деплоим на Хероку. В начале и в конце статьи недвусмысленный и справедливый наброс на PHP disclaimer о том, что программы на Python вовсе не обязательно сложны.

Ещё одна интересная статья про чатик на вебсокетах и gevent. Что такое gevent, пост-приквел с объяснением для новичков.

Map-reduce на python и redis под названием r3.

Набор простых иструментов для анализа производительности python-кода, выявления узких мест и утечек памяти. Must read.

Webdev

Трюки с apply и массивами JS.

В новом ECMAScript будут классы.

Разбор исходного кода Backbone.js: часть первая и вторая.

Книги про Backbone.js появляются как грибы после дождя, что не может не радовать (вот бы и для Django это было справедливо). На сей раз – “Developing Backbone.js Application” от Addy Osmani. O’Reilly уже подготавливает бумажную версию, а сама книга открыта под лицензией Creative Commons.

Вышла бета Redis sentinel, новой распределённой системы мониторинга кластера Redis-серверов от создателя Redis. Ещё она имеет простой API для реализации уведомлений и автоматический failover.

Разное

Быстрая настройка веб-сервера на базе uWSGI+Nginx для Django-проектов

Появившийся в OS X 10.8 Notification Center можно использовать для получения нотификаций от Travis-CI. Мощно. Сам же скрипт, увы, на ruby.

Очередная подборка наиболее популярных плагинов для редактора Sublime. Большинство из них имеет смысл установить сразу.

26 июля 2012 г.

How to bootstrap a startup using Django

Продолжаем отбирать самые интересные выступления с недавнего Europython для вашего внимания. Про Flask уже написали, а как же любимый Django? Всё в порядке, и про него не забыли. Сегодня в программе крайне информативный доклад от команды сервиса Gidsy о том, какие инструменты пригодились им при создании своего стартапа. Речь пойдёт как о полезных батарейках к Django, так и в меру оригинальном способе развёртывания проектов и прочих devops-штуках.

Я перечислю только ссылочки на упомянутые в выступлении решения и не буду пересказывать полностью 50-минутную речь. Можно пролистать слайды и послушать только самое на ваш взгляд интересное.

Батарейки

  • django-haystack
    Мощная библиотека, которая позволяет работать с кучей поисковых бэкендов (Solr, Elasticsearch, Whoosh and Xapian). Фасетный поиск, геопространственный поиск, подсветка результатов, исправление ошибок и куча других плюшек.
  • django-tastypie
    Де-факто стандарт для реалзиации RESTful API на Django. Легко настраивается, поддерживает аутентификацию, кэширование, совместима с backbone.js.
  • celery
    Широко известное решение для асинхронной очереди задач на python. От себя хотим напомнить, что совсем недавно вышла 3 версия, с кучей вкусностей.

23 июля 2012 г.

Чтиво 3-й недели июля


Django

Проверьте здоровье своей пони. Всмысле, безопасность своего джанго-приложения. Для этого есть микросервис ponycheckup, он умеет диагностировать простые, но тем не менее достаточно важные проблемы сайтов: включённый DEBUG, отсутствие HTTPS в админке, защиты от Clickjacking и т.п. Конечно, это нельзя назвать каким-то хоть сколько-нибудь серьёзным аудитом, но будет полезно новичкам.

Вышла любопытнейшая батарейка django-configurations от одного из core devs. По духу она напоминает django-classbasedsettings, но обладает намного более простым API. Теперь можно хранить настройки для различных окружений в классах и использовать стандартное питоновское наследование.

Любопытный пример реализации пуш-нотификаций с помощью django и вебсокетов. Под капотом: django-sse, gunicorn c GeventWorker, очереди через redis, вебсокеты через socket.io.

Python

Стоит упоменять в дополнение к недавно вышедшему Python for iOS, симпатичный с виду редактор Pythonista под айпад. Обещана подсветка кода, простенький автокомплит, расширенная экранная клавиатура, интерактивная консоль, встроенная документация. Напишите, кто попробует, вроде хорошая штука.

Webdev

В Ubuntu анонсировали поддержку Web Apps, теперь можно затачивать свои сайты под операционную систему. Доступны: медиа-меню, HUD, лаунчер и messaging menu и не только. Смотрим демо и читаем доки.

Приятная новость для поклонников Backbone.js. Недавно вышла в свет “какбы” бесплатная книга “Backbone Tutorials” для начинающих и не только. Рекомендованная цена – 4.99 доллара, но сумму во время покупки можно уменьшить до нуля и автор не против.

Real Time Multiplayer на HTML5 – теория, практика, примеры реально работающего кода.

Разное

Не можем остаться в стороне самой противоречивой новости прошлой недели – Google купила Sparrow, самый годный mail-клиент для MacOS X. Со всей командой, как обычно. Новых фич больше не будет, лишь исправления багов и поддержка.

20 июля 2012 г.

Видео со встреч джангистов

На последнем Moscow Django Meetup я рассказал немного про Continuous Integration, чем он хорош и как его по-простому прикрутить к Django. Рад поделиться не только слайдами, но и видео (за которые большое спасибо Виталию Олевинскому):



Кроме того, рекомендуем выступление Андрея Поппа про то, как правильно готовить HTTP:



Слайды доступны на соответствующих страницах на сайте Moscow Django.

P.S. Думаю, многе не знали, но видео со второго митапа, прошедшего весной тоже есть на сайте (за видео благодарим Александа Смирнова):



19 июля 2012 г.

Developing RESTful Web APIs with Python, Flask and MongoDB

После серии обзоров видео с PyCon US 2012, переходим к недавно прошедшему EuroPython 2012.

Со стороны слушателя, предлагаемое вам видео смотреть невозможно. Жуткий итальянский акцент Nicola Larocci мешает нормально воспринимать сам доклад, а идёт он дольше среднего – полтора часа. К счастью, в интернетах нашлись слайды, которые на удивление хороши, подробны и докладчик к ним даже не нужен. 191 слайд!

Nicola не поленился начать с самого начала, для танкистов. Что такое REST вообще? Из каких компонентов состоит? Почему Flask и Mongo это наше всё? Как можно использовать эти инструменты для быстрой и гибкой разработки RESTful API? И вот так постепенно, убеждая в каждом слайде, переходим к самому ценному, ради чего в принципе стоит смотреть подобные видео – best practices. Грамотно организованная структура проекта позволяет быстро наращивать API, добавлять различного рода валидаторы и отдавать ресурсы в различных форматах, в зависимости от mime type. Корректная работа с http-методами (не поверите, но многие не понимают разницы меду GET и POST) тоже представлена. Не забыто и кеширование, докладчик предлагает использовать гибридную проверку заголовков Last-Modified и ETag.

Если в предыдущем абзаце что-то показалось вам интересным, попробуйте всё же посмотреть видео (наконец-то заливают на YouTube):



Если на слух воспринимать доклад оказалось сложно (как я вас понимаю), можно обойтись одними слайдами:

16 июля 2012 г.

Сайт Moscow Django Meetup

Неделю назад прошёл Moscow Django Meetup №4. Мы воспользовались удобным случаем предподнести сообществу подарок-сюрприз: сделанный нами сайт уютной конференции.

Встречайте первую версию moscowdjango.ru

Moscow Django Meetup #4. Done.

Уже ставший традиционным Meetup, посвящённый Django, около-питоновским темам для интересующихся и сочувстующих, равно как и 3-й митап, прошёл в шикарном конференц-зале MOD Design. Будем надеяться, что и впредь он будет проходить именно там. С сожалением могу отметить, что, хотя мне и не удалось побывать на третьем митапе, но по словам очевидцев людей прибыло несколько меньше – от 40 до 50. Возможно, это связано с количеством докладов, на этот раз их было всего 3 (зато каких!), возможно сказался сезон летних отпусков... В любом случае, люди были. Как новые лица, так и завсегдатаи.

Организаторы учли некоторые огрехи предыдущих митапов и пожелания в группе митапа на Фейсбуке. К тому же, Future Colors на этот раз официально и заслуженно получила статус информационного партнёра.



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

14 июля 2012 г.

Чтиво на выходные 14-15 июля


Django

Любопытная батарейка django-parallelized_querysets умеет распараллеливать выполнение больших queryset`ов на несколько ядер, если они есть, и не выедает при этом всю память.

Lemon – набор ходовых приложений для Django, которые обычно каждый пишет сам. Там и управление мета-тегами для каждой страницы, и редактирование robots.txt из админки, и мультиязычные flatpages, а также некоторые другие штуки для лентяев :)

Python

В Apple AppStore появился интерпретатор Python для iOS. Не совсем бесплатный, правда, на данный момент 3 доллара стоит. Возможно, окажется полезным для начинающих разработчиков, которые хотят попрактиковаться где-нибудь в метро, например. Знаковое событие для Apple. Не так давно её ревизоры отказывались принимать в AppStore какие-либо интерпретаторы.

Когда надо использовать декораторы в питоне, статья от Ивана Сагалаева.

Как ускорить развёртывание проекта и упростить локальную разработку, копируя виртуальные окружения.

Webdev

Разработчики streak.com делятся опытом по улучшению производительности веб-приложения с большим количеством данных.

Эпический редактор Markdown на js. Полноэкранный режим, мгновенный предпросмотр, автосохранение и работа в оффлайне. Нелюбители WYSIWYG пляшут от счастья. У редактора симпатичный API, позволяющий редактировать Textile, RST и вообще что угодно, достаточно написать свой конвертор.

Секреты javascript-нидзя от Джона Резига, наконец, увидят свет.

Разное

Позитивная новость для поклонников TeX/LaTeX! Вышла новая версия TeX Live 2012 для всех основных платформ + специальная версия для маководов MacTeX 2012.

Дошла очередь и до NVIDIA. С её форумов (forums.nvidia.com) увели хеши паролей и некоторую контактную информацию. Добро пожаловать в клуб :)

7 июля 2012 г.

Чтиво на выходные 7-8 июля


Анонс

В понедельник, в 19-00, мы попробуем провести онлайн-трансляцию Moscow Django Meetup #4. Если вы в Москве – приезжайте, будет интересно. Если не в Москве – тоже приезжайте :)

Django

Широко известный в узких кругах Reinout van Rees пишет в блог подробные обзоры выступлений, на которых он бывает, в этот раз это как ни странно не Europython, а Dutch Django/Web Meeting. В программе: метаклассы, новый взгляд на djang-cms, создание .docx в Django и вебсокеты на Django и Twisted.

В прошлом выпуске мы упомянули Flask Ahoy, но забыли про его брата-близнеца Django Ahoy. Неплохая специализированная «морда» к PyPI.

Python

На этой неделе прошёл давно ожидаемый Europython 2012. Вы не поверите, но видео уже выложены на ютубе!

Пять простеньких задачек с EuroPython, с мини-конкурса PyRiddle, чтобы размять мозг в выходные.

Спустя 6 месяцев активной разработки вышла новая версия популярного интерактивного шелла для Python – IPython 0.13. Теперь это целая среда для интерактивных динамических вычислений с помощью IPython Notebook. Рекомендуем к ознакомлению доклад с PyCon 2012 и пресс-релиз.

Advanced Flask Patterns – 89 слайдов с полезными сниппетами кода для Flask`еров от Armin Ronacher`а. Включает в себя обзор новых фич свежего Flask 0.9!

Hot update:
Разработчики Celery как никогда продуктивны. Буквально через несколько дней после выхода версии 2.6 этого замечательного стандарт-де-фактного асинхронного таскера они, видимо, решили что количество изменений вполне тянет на 3.0. Обновлённый API (нам рекомендуют перечитать документацию), thread-less воркеры, объединение тасков, приоритезация выполнения, улучшенный логгер, экспериментальный декоратор методов и многое другое.

Разное

Opera Software перенесла исходные коды своего дебагера Opera Dragonfly c BitBucket на GitHub. Да, оказывается всё это время Dragonfly был открытым.

Face.com свернула поддержку своего API в свете недавнего приобретения этого сервиса Facebook`ом. Грусть.

А Mozilla, тем временем, сократила команду разработчиков своего почтового клиента Thunderbird, мотивируя это тем, что “Thunderbird – нецелевое использование наших ресурсов”. Хотя, пока, обещают не закрывать проект насовсем.