2012, December 21

With Strings Attached

Python 2.x has unfortunate interface constraints: __str__ and __repr__ methods must return byte strings, but it is not clear what encoding should these byte strings use. While working on NLTK Python 3 port I tried to figure out how to deal with these methods (taking __unicode__, default encodings, Python 2.x and Python 3.x in account).

2012, September 01

Fast Non-Standard Data Structures for Python

Python provides great built-in types like dict, list, tuple and set; there are also array, collections, heapq modules in the standard library; this article is an overview of external lesser known packages with fast C/C++ based data structures usable from Python.

2011, December 18

On Package Docs

Recently Danny Greenfeld posted an article and I must say +1 for everything in this post except the "Documentation" part.

I use RTFD myself and can't praise it enough, it really changes they way docs may be handled and is a big step forward (my personal favorite features are ...

2011, March 18

Что будет в django 1.3

Релиз django 1.3 совсем скоро. Думаю, многие уже RC в продакшне используют. Но все равно, пробегусь еще раз по тому, что нас ждет, стараясь не скатиться в перевод release notes.

2011, February 14

Автоматизируем выкладку django-проектов на сервер

Настраивать VDS'ки для выкладки django-проектов довольно утомительно бывает, да и легко что-то забыть (т.к. делаешь это не каждый день). Гораздо лучше, когда этот процесс автоматизирован: с меньшими усилиями можно получить правильно настроенный проект и набор команд для работы с ним.

2010, October 16

История создания Javascript

Brendan Eich (создатель языка Javascript) между делом пишет о том, как язык создавался, и почему он такой, какой есть:

«JS был обязан «выглядеть как Java», только поменьше, быть эдаким младшим братом-тупицей для Java. Кроме того, он должен был быть написан за 10 дней, а иначе мы бы имели что-то похуже ...

2010, August 06

Сумбурные заметки про python и django

Накопилось несколько маленьких заметок/советов про python и django, которые на отдельные топики не тянут, поэтому публикую все сразу.

2010, July 08

Улучшаем админку

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

2010, April 20

Пишем функциональные/интеграционные тесты для проекта на django

В этой захватывающей статье я расскажу про инструменты, с помощью которых можно писать функциональные тесты для django-проекта. Есть куча разных других способов это делать, но я опишу один - тот, который, на мой взгляд, самый простой. Между делом создадим красивый отчет по code coverage (субъективно - приятнее тех, что делает coverage.py). И еще, в качестве приправы, будет немного болтовни про тестирование.

2009, August 23

Никогда не говорите слово …, или регистрация в 2 щелчка мышью

Люди не очень любят регистрироваться. Это же нужно (в общем случае) придумать логин и пароль, зайти в свою почту, дождаться письма, открыть его, перейти по ссылке активации аккаунта, а потом еще этот логин с паролем не забыть. Но ведь уже давно есть способ, с помощью которого все эти шаги не нужны. Более того, не нужно вообще ничего вводить с клавиатуры, 2 щелчка мышью и все, человек зарегистрирован.

2009, March 02

Как можно снизить потребление оперативной памяти на VPS в 2 раза, ничего не меняя в настройках программ

Взял VPS, построенный на OpenVZ. Поставил туда Debian Lenny и всякие программы (обычный LAMP, по сути). С точки зрения потребления ресурсов ничего почти не настраивал, вышло где-то 200М занятой оперативной памяти (сразу после старта).

Написал ulimit -s 1024 в /etc/init.d/rc ближе к верху. Перезагрузился. Потребление памяти на VPS упало более чем вдвое, стало около 100М.

Если у Вас VPS на Xen или аналогичных, то у Вас нет граблей, с которыми я тут боролся. Если на OpenVZ (Virtuozzo) со товарищи - у Вас, скорее всего, на VPS эти же грабли.

В статье - почему и как это работает.

2009, January 18

Кузявые ли бутявки, т.е. пишем морфологический анализатор на Python

Морфологический анализатор для русского языка - это что-то заумное? Программа, которая приводит слово к начальной форме, определяет падеж, находит словоформы - непонятно, как и подступиться? А на самом деле все не так и сложно. В статье - как я писал аналог mystem, lemmatizer и phpmorphy на Python, и что из этого получилось.

2008, October 19

Программирование на языке Piet для сусликов