30 июня 2012 г.

Чтиво на первые июльские выходные

На этой неделе всё внимание IT-общества было приковано к Google I/O и различным скандальным неоднозначным новостям. Adobe не выпустит Flash для Android 4.1, вышел Chrome для iOS (по сути – лишь скин и набор фич для встроенного в iOS вебкита), по очереди падают то Twitter, то Heroku, то Netflix. Думаю, что все об этом уже слышали или читали, поэтому не будем заострять на этом внимание. Наши линкопосты больше про технологии.

Django

Любопытная батарейка django-phased. Идея в том, чтобы рендерить шаблон в два прохода: сначала общие для всех закешированные куски шаблона, а потом специфичные для аутентифицированного пользователя части. Как уверяет автор, “this enables very fast generation of pages that have user-specific content”. Даже немного документации есть.

Python

Вышла первая beta-версия Python 3.3, на которую возложены большие надежды веб-разработчиков и которую, по идее, будет поддерживать Django 1.5. Наконец-то сделали explicit Unicode literals, что позволит быстрее портировать библиотеки для работы с WSGI. Werkzeug, например. Переписанная система импортов модулей, теперь на базе importlib; virtualenv и mock «из коробки». Всё очень вкусно, с нетерпением ждём релиза.

Nick Coghlan, один из core-developer`ов Python раскрыто отвечает на набившие всем оскомину вопросы а-ля «почему тройка несовместима с двойкой», «почему работы над поддержкой Юникода вызвали такие проблемы», «каково будущее двойки» и прочие животрепещущие темы. Q&A реально большой, для неспешного чтения за бутылкой хорошего вина.

Grab – мощный и многофункциональный фреймворк для написания синхронных и асинхронных парсеров сайтов. Отечественная разработка, что особенно примечательно. Есть несколько толковых статей на Хабре и обширная русскоязычная документация.

WebDev

jQuery 2.0 станет модульным и откажется от поддержки IE 6/7/8. Давно пора, конечно. Ещё одна приятная новость в том, что 2.0 останется обратно совместимым с 1.9 на уровне API.

Backbone Aura - событийно-ориентированная архитектура над Backbone.js для построения widget-based приложений. Выглядит очень круто, бесспорно замечательная полезняшка для каждого, кто использует Backbone для разработки сложных масштабируемых веб-приложений.

Разное

Автоматизация вашего workflow с помощью Git hooks. Скринкаст!

“X-” префиксы в http-заголовках теперь официально deprecated.

Поклонники Sublime наверняка уже в курсе. Вышла 2-я версия этого замечательного без-5-минут-IDE редактора.

Armin Ronacher стал более часто обновлять свой блог. На этот раз он, как всегда в своей жёсткой и бескомпромиссной манере, поделился своим опытом работы с библиотекой обмена сообщениями ZeroMQ.

28 июня 2012 г.

Git and GitHub Secrets (Zach Holman)

Продолжаем рубрику «Видео по четвергам». В наши сети попало интересное и весьма полезное выступление Зака Холмана про секреты гитхаба и гита. Вообще, Зак очень большой молодец: работает в GitHub, пишет интересные статьи, продвигает опенсорс и активно выступает на конференциях. Ему можно задавать вопросы через багтрекер гитхаба и читать ответы в closed issues :)

Видео (35:53)
Слайды



Немножко полезных советов из презентации:

  • не забывайте про удобные хоткеи гитахаба (например, t);
  • чтобы в диффе игнорировать пробелы, добавьте ?w=1 к урлу коммита;
  • в каждый репозиторий можно комммитить из svn;
  • у гитхаба есть своя сокращалка урлов git.io;
  • можно подписывать других юзеров на тикет, упоминая  их @username, теперь работает и для команд @org_name/team;
Это лишь малая толика всяких полезных и местами просто прикольных вещей, которые упоминает Зак. Не буду портить впечателние от просмотра. Если вы частый пользователь гитхаба или на худой конец гита, рекомендуем ознакомиться, парочку финтов вы наверняка ещё не знали.


Можно просто пролистать слайды, они достаточно информативны и отдельно от видео. Но мне нравится стиль подачи материала Зака (чем-то напомнил мне Пола Айриша), поэтому рекомендую послушать видео-версию, вдруг и вам понравится. 

23 июня 2012 г.

Чтиво на выходные 23-24 июня

Django

Jacob Kaplan-Moss, один из отцов-основателей, не без гордости отмечает рост django-комьюнити и приводит некоторую статистику, которую он ведёт с 2007-го года. Не то, чтобы цифры были поразительными, но рост, однозначно, есть. Также рекомендуется к просмотру его keynote на недавнем Djangocon в Цюрихе.

Python

Товарищ Armin Ronacher делится своими соображениями по поводу современной системы дистрибуции python-кода с помощью pip, сравнивая её с морально устаревшей easy_install и много сожалея о том, что не создана ещё такая система, которая бы полностью удовлетворяла его use case`у. Что такое eggs на самом деле, о чём забыли разработчики pip, как извращается команда Армина, чтобы отвязать virtualenv во время деплоя и прочие скандалы-расследования по теме.

Открылся новый каталог расширений для Flask: Ahoy в дополнение к официальному.

WebDev

Небезызвестный David Cramer из Disq.us долго и упорно работал над конкурентом MongoDB. Если верить бенчмаркам, ему удалось положить документо-ориентированное хранилище на обе лопатки по скорости записи. Кстати, написано на Python!

Полная Опа. Амбициозный проект The Opa (the most advanced application framework for JavaScript) достиг версии 1.0 и разработчикам есть что показать. Цель проекта - единый язык как для фронтенда, так и для бэкеда, в связке с Node.js и MongoDB. В общем-то очередной Yet Another Best JS Framework для всего на свете.

Запустился интересный проект для фронтенд-разработчиков Codepen. Это что-то вроде небезызвестного jsfiddle, только с рейтингом. Пара демок для привлечения внимания: айфон на CSS3 (как настоящий), спрайт-анимация из The Curs of Monkey Island на чистом CSS.

Вкусная подборка новейших, хипстерских, ультрамодных и на-волне-тренда-чудесных JS- и CSS- трюков для создания wow-эффекта от Smashing Magazine.

Javascript

Вышла первая бета jquery 1.8: можно делать свои сборки библиотеки без ненужных компонентов, чтобы уменьшить размер скачиваемого js. Улучен движок селекторов sizzle, поддержка вендор-префиксов и не только.

Тривиальные, но дельные советы о том, как писать поддерживаемый JS-код. Для начинающих и повторяющих.

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

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

Разное

7 баз данных за 7 недель” - интересная новинка из серии The Pragmatic Programmers. У книги, кстати, доставляющий промо-ролик.

Интересная и поучительная история о том, как знаменитый сервис Reddit начинал своё существование со лжи и обмана. А именно - с тысяч фейковых аккаунтов для симуляции собственной активности. Social websites require a little bit of magic to work.

21 июня 2012 г.

Анонс Moscow Django Meetup #4


4-й Московский Django Meetup

В московском центре дизайна «MOD Design»
Малый Конюшковский переулок, дом 2 (м. Баррикадная)
9 июля 2012, 19:00

Через 2,5 недели в Москве пройдёт встреча людей, которые интересуются разработкой на Django и Python. После двухмесячного перерыва митап возвращается.


Заявки на темы докладов 

  • "Как надо реализовывать обработку HTTP запросов на Python'е" (Андрей Попп)
    Почему большинство фреймворков делают это неправильно и как, я считаю, это нужно делать правильно.
  • "Continious integration и Django" (Илья Барышев)
    Как быстро внедрить continious integration в разработку и зачем это нужно. Расскажу на примерах.
  • Здесь может быть ваше выступление, не упускайте возможность. Заявки принимаются в группе на фейсбуке.

Почему стоит сходить

Наши отчёты о первойвторой и третьей встречах Moscow Django Meetup. Почитайте, чтобы иметь представление о том, что это такое, если не были на предыдущих митапах.
Future Colors тоже там будет, подходите в перерывах - пообщаемся.

18 июня 2012 г.

Чтиво на понедельник 18 июня

Долой расписание :)

WebDev

Вот она, популярность! JS-библиотеку Underscore для функционального программирования портировали на Objective-C. Значит, это кому-то нужно...

Неожиданный конкурент Backbone.js - AngularJS от Google. Лаконичный, выразительный MVC-фреймворк для быстрой разработки веб-приложений. Оставляет приятное впечатление.

Но и Backbone не стоит на месте, обзаводясь вполне взрослыми расширениями. Такими как Chaplin, например. Позиционируя себя как Application Architecture, Chaplin расширяет возможности Backbone, позволяя разрабатывать хорошо структурированные приложения, добавляя к парадигме контроллеры, AMD-модули, Rails-style роутинг и многое другое. Для больших, тяжёлых веб-приложений - то, что доктор прописал.

Python/Разное

Мсье знает толк. Встречайте Python-to-JavaScript транслятор pyjaco. Можно поиграться с транслятором в онлайне. Выглядит чудовищно, но ужасно увлекательно.

cURL на Python`е (или cURL с человеческим лицом) - HTTPie. Recommended by Umputun and Bobuk.

Ghost.py - интересный консольный веб-клиент с webkit в качестве движка. Удобное заполнение форм, сабмиты, возможен даже запуск произвольного JS-кода и снимки определённого региона страницы по селектору. Занятная вещица, наверняка пригодится в тестировании.

Очередная статья на тему "как я деплою с помощью Fabric". В коллекцию.

Очень симпатичный монитор для Redis - RedisLive. Web, Python, Cool.

Ссылка бурей прошлась по интернетам и мы не можем остаться в стороне. Doom 3 Source Code Review (если кто не помнит - id Software открыла в прошлом году исходники движка этой культовой игры). Хорошее чтиво перед сном, например.

Что такое "хорошие URI" для RESTful-сервисов? Дельные советы, рекомендации и аксиомы.

16 июня 2012 г.

Чтиво на выходные 16-17 июня

Django

Подоспели видео и презентации с DjangoCon Europe 2012. Смотреть-не пересмотреть. Ребята постарались и сделали синхронное переключение слайдов на сайте во время просмотра видео. В результате видео пока нельзя скачать и с мобильных не работает, но и это организаторы тоже обещали добавить.

Journal-World, компания, которая выпустила Django в опенсорс, прикрыла свою разработку Ellington, CMS для новостных сайтов, в основе которой лежит Django. Особенно интересна ссылочка на Quora, где один основателей, рассказывает как всё начиналось.

WebDev

Движок для персональных сайтов Syte. Интеграция с тумблером, твитером, инстаграмом и гитхабом. Responsive дизайн, HTML5 и CSS3, большая часть сайта на фронтенде, бэкенд на Django.

Самый быстрый js-шаблонизатор DoT.

Разрушаем мифы о производительности CSS.

Устанавливаем согласешния по отступам, переводам строк для opensource-проектов с помощью EditorConfig. Эту штуку уже используют Modernizr и jQuery.

SQL-инъекция в последних рельсах.

Разное

Владельцы интернет-магазина Kogan ввели 6.8% налог на IE7. Переносим издержки веб-разработки на клиентов? Или нет.

Артём Горбунов о полезном действии.

10 июня 2012 г.

Чтиво на выходные 10-12 июня

Django

На этой неделе в Цюрихе успешно прошёл DjangoCon Europe. Видео в процесс обработки, а слайды уже можно скачать на Lynard.

Замечательный блогер Reinout van Rees делится в блоге чрезвычайно подробными заметками с прошедшего DjangoCon Europe. Практически конспекты лекций, рекомендуем к ознакомлению.

Батарейка django-filetransfers для управления загрузками/выгрузками файлов. Замена стандартному FileField, масса возможностей.

Стек для реализации асинхронной почтовой рассылки - Django, Celery и Amazon SES.

WebDev

Будущее разработки встраиваемых веб-приложений: атрибут scoped для ограничения уровня действия CSS, iframe-песочница, iframe seamless для ифрейма, являющегося полноценной разметкой страницы и много других вкусностей, которые уже сейчас постепенно появляются в браузерах.

Backbone для Django-разработчиков. Между Backbone и Django больше общего, чем вы могли подумать.

Что из себя представляет современный стек для построения мощных веб-приложений? Flask, Backbone, MongoDB...

Немного криптоаналитики: почему не стоит использовать SHA1, MD5 и подобные хэш-функции для токенов авторизации.

Разное

Шок, сенсация! В Microsoft Azure появится поддержка Linux, soon.

Как правильно настроить PostgreSQL, если раньше не доводилось этого делать. Ключевые моменты конфигурационного файла.

7 июня 2012 г.

Futurecolors ♥ Open Source

Мы любим опенсорс.

В студии очень ценят важность программ с открытым исходным кодом. Далеко за примерами ходить не надо - открыв исходники Django в 2005 команда талантливых программистов, трудящихся в канзасском подвале и не могла себе представить что через 7 лет их проект будет популярнейшим веб-фреймворком на питоне.

Наш скромный вклад в опенсорс сосредоточен на гитхабе.
А чтобы было удобней им пользоваться мы сделали специальную страничку:

source.futurecolors.ru


Наш опенсорс:
  • js-библиотека fc.tape для анимации спрайтов
  • приложение django-geoip для опредления региона пользователя по ip
  • батарейка django-future-url для облегчения миграции {% url %} тегов.
и ещё несколько полезных форков.

P.S. Обновление fc.tape

Библиотека fc.tape была обновлена. Добавлена поддержка горизонтальных спрайтов. Вот список изменений:
  • Добавлена настройка spriteDirection, которая позволяет указать, в каком направлении склеены кадры в спрайте. Принимает значения 'v' (по умолчанию), то есть вертикально, и 'h', то есть горизонтально. Доступно задание через атрибут data-sprite-direction.
  • Для задания смещения позиции спрайта относительно контейнера при spriteDirection равным 'h' добавлена опция backgroundY, аналогичная опции backgroundX.
  • Опция frameHeight переименована в frameSize.

4 июня 2012 г.

KharkivPy 4


Стараюсь в последнее время не пропускать события, связанные с Python и веб-разработкой. Даже не лень ездить для этого в другие города :)

На этот раз у меня был выбор между Яндекс.Субботником в Минске и KharkivPy (в Харькове, К.О.) Яндекс это, конечно, всегда круто, но не так давно я уже был на киевском субботнике и часть докладов, судя про программе, повторяется. А вот что из себя представляет python-тусовка в Харькове узнать было ну очень интересно.

К сожалению, плёнка во время проявки засветилась, поэтому фотографий на это раз не будет. Доклады, как полагается, снимали на видео, поэтому когда их выложат, а я на это надеюсь, компенсирую свой провал линками.

2 июня 2012 г.

Чтиво на первые летние выходные

Django

Люк Плант написал большую критическую заметку «CBV были ошибкой». Ему возражает Ник Колан возражает: «Django's CBVs are not a mistake (but deprecating FBVs might be)». Полемика далеко не новая, в прошлом году Иван Сагалаев делился своими соображениями, почему он не любит class-based views.

Третий выпуск Django Podcast, в гостях Дэниель Линдсли (автор TastyPie и django-haystack) про API и Джанго.

QuerySet’ы не всегда ленивые, Дэниель Розман делится не совсем очевидными наблюдениями о формах и кастомных менеджерах.

WebDev

Разрабатываем сайты под старые IE: добавляем Modernizr, respond.js и selectivizr. Первый удобен для детекта фич, второй даёт поддержку media queries, а третий - CSS3-селекторов.

Демонстрация преимуществ иконочных шрифтов от csstricks.com. О том, как создать свой шрифт из иконок, рассказывают в серии статей на Хабре.

В новой версии YouTrack будут фишки для agile и долгожданный таймтрекинг. Опять задумались про отказ от Redmine, ребятам из JetBrains бы сделать импорт тикетов из него.

Работают ли до сих пор рекомендации из книги Стива Саудерса Hight Perfomance Web Sites 2007 года.

CSS-only Clickjacking и обсуждение на ycombinator. Кликая на ссылку на сайте, будьте осторожны, но в этом блоге можете расслабиться.

Учимся применять requestAnimationFrame с умом.

Разное

Скрепка Клиппи, кошка Линкс и другие помощники из старого MS Office теперь доступны в виде js-библиотеки :)

События

Наш спеццкор Рома на #kharkivpy

Уже через два дня DjangoCon Europe. Ждём видео.

Тем временем сегодня проходит Яндекс.Субботник в Минске. Тезисы выступлений.