← All posts tagged Python

iorlas
Python testing mock Пока болею, решил исследовать вопрос тестирования в рабочем проекте(там это сильно запущено). Читал о mocking, случайно, и тут РАЗ. До меня дошло для чего mocking вообще применяется! А самое главное, что я как-раз думал о том, как оттестировать элементы логики, что используют экстернальные ресурсы. И ВОТ ОНО, ХАХА
iorlas
Python PHP JS C RAGE Знаете что бесит меня сейчас больше всего? Нет не знаете, но речь о том, что на самом деле бесит незаметно, надоедает и просто тратит время: работа с однотипными конструкциями. Каков у меня был БУГУРТ когда введя в js-коде arr.append(x) я получил ОШИБКУ. Как же бесит что нигде не придерживаются стандартов — более того, не думают о их создании.
iorlas
Python старостьневрадость Тут бродя по сети увидел страшно знакомое слово "Beautiful Soup". Секунд 10 думал, где и что же это такое за решение. Может в PHP когда-то ооочень давно что-то такое встречал/использовал. А может вообще в Ruby среди статей где-то видел?
Залез в гугл и вспомнил что это парсер html/xml, который я использовал для нескольких хитрых вещей года 3 назад, если не больше.
СТарость не в радость, что называется, такие вещи запяматовал, это надо же...
iorlas
Python boost CPP docs Хоть я в старые времена и считал что у буста хорошая документация, сравнивать одни доки boost::regex с python.re даже не хочется, на столько качество разное, хотя вот для буста люди явно старались не мало.
iorlas
Python boost handmade SublimeText2 Пилю сейчас пару небольших вкусняшек для ST2. Для начала, занялся TODO-списком. Для самого начала — списком локальным(только с текущего файла). Для поиска используется find_all метод текущего view. Фишка в том, что там поддерживаются регекспы, форматирование, пара флагов, но всё это сделано не через Python, а через Boost. Следовательно, там нет поддержки некоторых фишек re-модуля питона и форматирование там совсем иное. Жаль что в доках этого не было упомянуто. Хорошо хоть я сам сообразил почти сразу, после нулевого результата попытки форматировать результат через строку "{0}".
Продолжение следует.
iorlas
Python rudy twisted em Хотел посмотреть что на замену Twisted питонского. Ну, вдруг что изобрели или советуют помимо EM. И что бы вы подумали? Изобрели и советуют. Что? Node.js. Занавес.
На хабре прочитал о том, что "Node.js сами рубисты используют для нестандартных задач, а рельсы для остальной части сайта", в то время как питонисты используют твистед и в ус не дуют, а EM загибается и остаётся эдаким Pylons, который мало кто уже использует, никому он не нужен, да и не советуют его юзать-то.
iorlas
Python webdev Ruby PHP вброс Сейчас для себя поднял сильный вопрос: так что же делать?
Я много времени трачу на вебдев, мне нравится то, что в вебдеве проще реализоваться, реализовать некоторые вещи, да и веб банально удобнее — это если не наше будущее, то наше настоящее.
Я использую PHP, чуть Ruby и крайне уже редко Python(за последние лет 5 он потерял ну очень много и слишком мало не приобрёл, в сравнении с, например, Ruby).
Около года назад(когда мне пришлось начать достаточно активно писать на PHP), у меня появилось полное отвращение к вебдеву. Сейчас чуть свыкся уже, но ощущаю, что не хочу писать на этом через даже год и уж тем более, не хочу перебиваться и писать то на одном, то на другом(скажем так, работа позволяет выбрать инструмент). Уже сейчас хочу переплыть, уйти на то, что буду юзать долгое, очень долгое время. Вопрос в том, на что. Проблема в том, что я не уверен, что будет лучшей идеей.
Варианта я вижу два, а ещё 1 такой, которого, увы, нет.
1) Ruby + Rails + Что-нибудь ещё для мелких вещей(Sinatra советуют).
2) Python + Django(для всяких типичных проектов, где не хочется писать всё с нуля) + Pyramid(для мелких проектов с хитрыми задачами или где многие фишки Django будут "мимо кассы").
3) Популярный язык со статической типизацией, развитым вебфреймворком и большим коммьюнити. Лучше всего подходит D, но просто не подходит — тема для другой беседы. Java тоже не то. CPP тоже. Если в будущем появится такой вариант, то будет не жалко потраченное время.

Руби не хочу выбирать из-за относительно гнилого коммьюнити, "end", нагромождения слоёв и перегрузки многих решений(капистрано иногда пугает) — всё это до жути бесит и думаю что может помешать получению удовольствия от Ruby и Rails. Нет, это всё уже мешает.
Python не хочу уже использовать особо, так как коммьюнити превращается в странную кашу, которая особо никуда не спешит, не стремится, только Python3 зачем-то создали, продвигают. Django слишком слаб и всё-равно заставляет писать очень много с нуля или почти с нуля. При том, что с Django мне работать не на много приятнее чем с рельсами, оно того не стоит. Язык привлекает почти только индентами, в сравнением с Ruby.

Так что же посоветуете? Перестать брезговать "end"-ами, использовать что-то вместо капистрано/разобраться в нём более детально, да использовать Ruby? Или же взять на себя груз, да пилить модули для Django, Пирамиды, терпеть изменения и катаклизмы в коммьюнити и фреймворках(как когда Pylons канул в лету)?
iorlas
Python HTML5 dive_into Mark_Pilgrim Человек ушёл из интернетов прихватив все свои материалы. Все. Ладно я ухожу не на долго, но я же не удаляю материалы из блога, проекты с гитхаба, битбакета. Пиздец. meyerweb.com
iorlas
Python Django Есть фильтр, который вызывается в базовом темплейте. Ему нужно передать значение, которое будет известно только в дочернем(наследующем) темплейте. Т.е. нужен аналог blocks для переменных. На Mako делал просто: дефайнил в родительском и менял в дочернем, но здесь, думается, должно быть что-то более красивое. Пока сделал как костыль: вызов фильтра в дочернем через блок.
iorlas
Python Django А что, в джанго нет "хелперов"? Как нужно что-то сделать небольшое, что не нужно помещать в контроллер, нужно делать свой тег и никак иначе?
iorlas
Python Django Чуть допилил thumb.py для джанги и выложил на гитхаб. Суть в том, что оригинальная логика работала так(вообще, тупо вызывался PIL.thumbnail, поэтому это его логика): если изображение больше нужного и не соответствует аспекту нужного, то всё изображение врисовывается в нужный размер, сохраняя аспект, в результате изображение становится меньше нужного. Я сделал создание тамба по минимальному размеру, а потом кропом обрезаю излишки(всё как надо, изображение по центру). Получается что создаётся тамбнейл какой нужно, идеально вписанный в нужные размеры.
Потом полностью перепишу модуль, так как сейчас оно может выдавать на 1 пиксель меньше нужного, да и работает только для не квадратных размеров. Для квадратных, к слову, может оно работает и верно, но мне лень было тестить, лол.
Можете форкать @ постить баги @ постить предложения и баги. Займусь ими как только — так сразу.
Всё тут: github.com
iorlas
Python Django Я вот не понял, джанга не создаёт бек-рефы? Вот сделал я в модели y: x = model.ForeignKey(x), как из y добраться до списка x? y.xs() не пашет, говорит что "y object has no attribute x".
iorlas
Python Ruby Django Rails Сейчас с уверенностью могу сказать что Django перешагнул Rails и продвинулся дальше, он стал лучше и многим продуманнее "рельс". Пока, увы, не игрался с формами, тегами, валидацией, темплейтами, сессиями и самой БД(т.е. запросами), но общая структура фреймворка, логика работы с контроллерами(видами), админка, дженерики etc — выше всяческих похвал, многим лучше аналогов в Rails.
iorlas
Python Django nichol.as Сравнение различных веб-серверов для деплоя пайтона. uWSGI, как я и думал, оказался в лидерах, а конкретнее — на втором месте после Gevent. Надо сказать что от Gevent отставание небольшое, очень малое.