kb
25.10.2012 10:20
Новый pep8.py считает, что "продолжения линий" должны быть кратны 4м. То есть, lisp/emacs-style продолжения, выравнивающиеся по началу открытия скобочки/словаря идут нафиг. Впринципе, я давно хотел от них отказаться (в пользу любителей альтернативных емаксу редакторов), но не было стимула. Теперь есть, синеньким ... more →
kb
15.10.2012 09:39
Хоть я и забросил пост про тестирование, обновил часть про tdd/bdd, т.к.:
1. она самая посещаемая (видимо, buzzwords).
2. в ней был неимоверный бред по отношению к текущему положению дел и моих мозгов.
http://www.redhotchilipython.com/en_post...
kb
11.10.2012 14:29
Попробую сейчас использовать factory_boy. Причем сразу в сложные тесты (с кучей зависимостей в моделях etc.). Посмотрим, насколько сложно его адаптировать в реальной жизни.
kb
03.10.2012 09:44
блять, ну всё, начал писать всякую хуйню типа
set(map(attrgetter('receipt_id')), facts)
раньше сдерживал себя, теперь мысли типа "да ладно, чего стыдиться, нормально всё, никто читать не будет"
kb
21.08.2012 09:47
Гугл, кстати, является как раз скорее плохим примером пользователя питона. Youtube вечно кривой (и до сих пор не сделали gapps4domain), блоггер — кривой (комментарии в основном), google code — кривой (а еще я видел их презентацию по тестированию — там действительно содомия, CamelCase и много прочего, чем они ... more →
kb
21.08.2012 09:11
А вообще Кэноникал молодцы, запилили нормальный туториал по питон+гтк3 http://python-gtk-3-tutorial.readthedocs... (тоже на движке sphinx ^_____^)
До этого, где-то год назад хотел что-то посмотреть/почитать, было какое-то за 2006 год устаревшее по pygtk, хотя уже тогда pygtk больше не ... more →
kb
03.08.2012 14:39
Нет, itertools.groupby — конечно, крутая штука, но эти ваши итераторы совершенно невозможно читать, а тут чтоб в читаемый вид превратить надо сначала в dict() сконвертировать, а потом каждый из включей в list. Отстой, в общем. Пойду свой groupby без итераторов напишу.
kb
19.07.2012 11:12
Нет, мне очень нужен pylint for humans. Pylint хорош, но еще бы ему человеческие параметры и настройки..
kb
13.07.2012 13:43
Нет, всё же очень приятно писать в тестах что-то вроде
se.get_nonused_offer_match_facts.return_value = [f1, f2] = [M(), M()]
kb
11.07.2012 16:06
In [1]: a = [b] = [3]
In [2]: a
Out[2]: [3]
In [3]: b
Out[3]: 3
kb
11.07.2012 14:30
Вот в питоне 3м сделали юникод во все поля, а знаки вопроса в именах функций не сделали. А я за схемовыми предикатами скучаю и хочется что-то типа
def evil?():
делать :(
kb
06.07.2012 13:47
Очень-очень хорошие слайды (которые with notes) http://lucumr.pocoo.org/talks/ по поводу "Advanced Flask Patterns". Наконец-то Армин навёл порядок в application- и request-контекстах — вечной проблеме любого веб-фреймворка.
kb
03.07.2012 16:30
еще один смешной костыль с импортированием "потому что надо"
# collector import is required otherwise setuptools errors
from nose.core import run, collector
kb
02.07.2012 14:08
Django is a ghetto. Другими словами не описать этот бардак. Словил багу, что тест работает, а на продакшне бага о том, что я пытаюсь request.POST модифицировать (а он по-умолчанию immutable). Оказалось, что:
1. в джанго TestClient баг в том, что по-умолчанию на post-запрос он шлёт multipart-форму.
2. в самой джанге ... more →
kb
30.06.2012 21:13
Ведь получается, что если у вас есть какой-то потенциально большой QuerySet (генератор, который по чуть-чуть данные запрашивает по мере необходимости), и вы хотите вернуть первый элемент (в случае, если он вообще есть), не делая лишних запросов, подсчётов count() и превращения в список, вполне нормальным ... more →
kb
27.06.2012 15:27
всё же, плохой идеей было отделить все функциональные тесты в отдельную папку. бардак, лучше всё что можно в приложениях держать. добавлю себе в заметку "refactorings".
kb
25.06.2012 14:45
иногда так хочется эти ваши указатели в питоне, ну или другой способ всем, указывающим на объект что-то присвоить
kb
25.06.2012 13:13
data = se.json.dumps.mock_calls[0][1][0][0] # black magic
kb
22.06.2012 16:20
то ли я искать не умею, то ли всё действительно плохо в питоне (и вообще) для пуш-нотификаций на айфон и андроид (c2dm и ios push notifications). подскажите, люди добрые, чем вы это делаете.
kb
18.06.2012 09:23
mockstar пропускал фейлящиеся тесты. фейл на фейле :(
kb
21.05.2012 14:03
tip of the day:
export PIP_DOWNLOAD_CACHE=$HOME/.pip_download_cache
Эта строчка сделает так, что pip будет качать все пакеты в эту директорию, а в случае, если там уже есть пакет — не качать его, а брать оттуда. То есть в новом virtualenv теперь вам не будет больно сделать pip install -U ipython.
Интересно, ... more →