> правообладатель пишет письмо (с пакетом документов) провайдеру, тот футболит его правонарушителю
— Вот я сейчас напишу в администрацию Хабра, что Ваш ответ — это мои украденные цитаты, и Вы нарушили мои права. И дальше все по описанному Вами алгоритму.
Один вопрос, — кто будет определять «права» в спорных (и не только) ситуациях? Даже Суды не всегда вызывают доверие (т.к. не редкость, когда Суд n-ной инстанции признают решение первоначальной инстанции ошибочным).
Или пара уголовных статей с показательной поркой, чтобы решить вопрос на психологическом, а не на техническом уровне. «Не писать доносов» в былые времена было технически проще. Но тем не менее…
> Почему python стал моим удобным инструментом для повседневной жизни, а ruby-нет
— Потому что на двух конях сидеть тяжело.)
А если честно, — то каждый подход имеет право на существование. И до тех пор, пока есть сторонники какого-либо подхода, он будет существовать.
Я, в какой-то мере, рад, что есть Руби. Не потому, что он лучше или хуже. А потому что Руби заставляет Гвидо быть более осмотрительным и взвешенным, и еще потому, что люди с Руби-мышлением пишут на Руби, и оставляют Питон быть таким, какой он есть. Ментальности все-таки у них разные.
> python-mode — поддержка python в emacs от python сообщества версия 6.0.2
— Что-то я не нахожу в репозитарии python-mode от сообщества, а только python.el от fgalina. Кстати, раз уж затронул тему, — в некоторых известных сборках поддерживаются оба варианта (на выбор).
> In the end, I'll probably use it for the occasional extreme debugging session but my main development tool will remain Emacs plus pdb.
Сам лично работаю в github.com/gabrielelanaro/emacs-for-python и даже не тянет смотреть другие редакторы (хотя раньше перепробовал всякие). Единственное, что произвело на меня приятное впечатление за последнее время, так это github.com/klen/python-mode, но перестроиться на Vim мне уже не под силу (иногда, правда, выручает Vimacs).
Идея, конечно, хорошая, но нужно хорошо решить вопрос с параллельным доступом. Так как в момент времени от данных данных и до их записи, сами данные уже могут быть изменены.
Мы аналогичную практику уже применяли на одном проекте средней нагруженности. Кэшированные значения постоянно «уезжали» от реального значения, пока не решили вопрос с конкуретным доступом. Нужно делать атомарным этот ряд операций. Выбрать соответствующий уровень изолированности транзакций БД и предотвратить чтение конкурентными потоками данных (для переподсчета) в период выполнения этой атомарной операции.
Использование сигналов в том виде, как Вы написали — недостаточно. Кстати, select_for_update() (для AnswerAggregate) Django поддерживает только с версии 1.4, которая недавно вышла.
Да зря минусуете. Парень, конечно, на язык не разборчив, но он прав. testing вполне очень даже пригодна использования. И многими используется, в том числе и для production.
— Ребят, ну ей Богу..., ну лучше бы не говорили… Из исходников Питон ставится за 5 минут..., тем более на Дебиан. Ну никак это не может быть «серьезной» причиной…
Ядерное оружие… бомбы… армия… Вот как Казаки обычно отвечают в таких случаях:
… Ти, султан, чорт турецкий, i проклятого чорта брат i товарищ, самого Люцеперя секретарь. Якiй ты в чорта лыцарь, коли голою сракою ежака не вбъешь. Чорт высирае, а твое вiйско пожирае. Hе будешь ты, сукiн ты сыну, сынiв христiянських пiд собой маты, твойого вiйска мы не боiмось, землею i водою будем биться з тобою, распройоб твою мать…
От так тобi запорожцi виcказали, плюгавче. Не будешь ти i свиней христiанских пасти. Теперь кончаемо, бо числа не знаемо i календаря не маемо, мiсяц у небi, год у кнызи, а день такий у нас, який i у Вас, за це поцелуй в сраку нас!..
Пiдписали: Кошевой атаман Иван Сирко Зо всiм кошем Запорожськiм [источник]
Но коль Вы уже упомянули про django-piston, который можно считать «мертвым» (не считая несколько коммитов в последнее время, «ожили» наконец) — то согласитесь, неплохо, всего одна строка кода обратной несовместимости, и та относится к не задокументированному API, и по этому стабильность не гарантируется.
Поддерживаю. Тоже не понятно, чем Джанга не угодила в вопросах обратной совместимости. По моему, в Джанге этот вопрос решен лучше, чем нигде.
Во первых, — на протяжении нескольких релизов подряд вам будут сыпаться Deprecated Warnings с указанием где и что Вам нужно заменить. Так что «неожиданностью» это может стать только для ленивого.
Во вторых. Благодаря такой «скользящей» политики, код Джанги проектируется таким образом, чтобы обеспечить одновременную работу как старого, так и нового API. А это значит, что даже если вы «прошлепали» обновления, — и старое API было удалено, — то Вы всегда можете через monkey-patch подцепить к Джанге старое API, и не лопатить кучу кода, или, как минимум, получить неограниченное время для обновления.
Что и где они там «тащат», и чем это мешает «эволюции» проекта, мне более чем непонятно, и просто вызывает недоумение.
А то что в Джанго нет таких радикальных революций, — то это просто говорит о том, что его авторы имеют более острое «техническое чутье» и «дальновидность». Потому они не совершают радикальных ошибок, и не заставляют своих пользователей «страдать» обратно несовместимыми релизами. Ряд вещей, введенных в Рельсах3, использовалось уже годами в Джанге.
Ха, вот уж не думал… От создателя Flask (Armin Ronacher), — всеми ругаемый Django QuerySet для SQLAlchemy… github.com/mitsuhiko/sqlalchemy-django-query
даже не знаю, что сказать…
Не совсем понял суть проблемы..., можно же вместо callback использовать deferred объекты, и когда завершатся несколько параллельных зависимых операций — идти дальше… ??
Где-то я даже встречал, что кто-то вырезал deferred из twisted, вроде эта ссылка github.com/mikeal/deferred там и цепочки можно создавать… и списки запускать… и ожидать результата пока требуемые процессы завершатся…
Просматривал другой топик, и подвернулась удачная фраза, которая как нельзя лучше описывает процесс выбора фреймверка:
> В общем «Если бы губы Никанора Ивановича да приставить к носу Ивана Кузьмича, да взять сколь-нибудь развязанное, какая у Балтазара Балтазаровича, да, пожалуй, прибавить к этому еще дородности Ивана Павловича — я бы тогда тотчас же решилась. А теперь — поди подумай!»
— Вот я сейчас напишу в администрацию Хабра, что Ваш ответ — это мои украденные цитаты, и Вы нарушили мои права. И дальше все по описанному Вами алгоритму.
Один вопрос, — кто будет определять «права» в спорных (и не только) ситуациях? Даже Суды не всегда вызывают доверие (т.к. не редкость, когда Суд n-ной инстанции признают решение первоначальной инстанции ошибочным).
— Эм..., как-то неловко спрашивать… но разве Matz исповедует японский Синтоизм или Буддизм...?
— Потому что на двух конях сидеть тяжело.)
А если честно, — то каждый подход имеет право на существование. И до тех пор, пока есть сторонники какого-либо подхода, он будет существовать.
Я, в какой-то мере, рад, что есть Руби. Не потому, что он лучше или хуже. А потому что Руби заставляет Гвидо быть более осмотрительным и взвешенным, и еще потому, что люди с Руби-мышлением пишут на Руби, и оставляют Питон быть таким, какой он есть. Ментальности все-таки у них разные.
— Что-то я не нахожу в репозитарии python-mode от сообщества, а только python.el от fgalina. Кстати, раз уж затронул тему, — в некоторых известных сборках поддерживаются оба варианта (на выбор).
Резюмировал свой пост Гвидо словами:
> In the end, I'll probably use it for the occasional extreme debugging session but my main development tool will remain Emacs plus pdb.
Сам лично работаю в github.com/gabrielelanaro/emacs-for-python и даже не тянет смотреть другие редакторы (хотя раньше перепробовал всякие). Единственное, что произвело на меня приятное впечатление за последнее время, так это github.com/klen/python-mode, но перестроиться на Vim мне уже не под силу (иногда, правда, выручает Vimacs).
— Debian-testing — рабочая версия,
— Debian-stable — «вылизанная», но не очень свежая версия.
По поводу сравнений Debian-testing и stable других дистрибутивов (Ubuntu и т.д.) — много писалось, вот некоторые ссылки:
— www.linux.org.ru/forum/talks/5086977
— habrahabr.ru/qa/8038/
— citkit.ru/articles/456/
данныхполучения данных…Мы аналогичную практику уже применяли на одном проекте средней нагруженности. Кэшированные значения постоянно «уезжали» от реального значения, пока не решили вопрос с конкуретным доступом. Нужно делать атомарным этот ряд операций. Выбрать соответствующий уровень изолированности транзакций БД и предотвратить чтение конкурентными потоками данных (для переподсчета) в период выполнения этой атомарной операции.
Использование сигналов в том виде, как Вы написали — недостаточно. Кстати, select_for_update() (для AnswerAggregate) Django поддерживает только с версии 1.4, которая недавно вышла.
— Ребят, ну ей Богу..., ну лучше бы не говорили… Из исходников Питон ставится за 5 минут..., тем более на Дебиан. Ну никак это не может быть «серьезной» причиной…
… Ти, султан, чорт турецкий, i проклятого чорта брат i товарищ, самого Люцеперя секретарь. Якiй ты в чорта лыцарь, коли голою сракою ежака не вбъешь. Чорт высирае, а твое вiйско пожирае. Hе будешь ты, сукiн ты сыну, сынiв христiянських пiд собой маты, твойого вiйска мы не боiмось, землею i водою будем биться з тобою, распройоб твою мать…
От так тобi запорожцi виcказали, плюгавче. Не будешь ти i свиней христiанских пасти. Теперь кончаемо, бо числа не знаемо i календаря не маемо, мiсяц у небi, год у кнызи, а день такий у нас, який i у Вас, за це поцелуй в сраку нас!..
Пiдписали: Кошевой атаман Иван Сирко Зо всiм кошем Запорожськiм [источник]
Но коль Вы уже упомянули про django-piston, который можно считать «мертвым» (не считая несколько коммитов в последнее время, «ожили» наконец) — то согласитесь, неплохо, всего одна строка кода обратной несовместимости, и та относится к не задокументированному API, и по этому стабильность не гарантируется.
Во первых, — на протяжении нескольких релизов подряд вам будут сыпаться Deprecated Warnings с указанием где и что Вам нужно заменить. Так что «неожиданностью» это может стать только для ленивого.
Во вторых. Благодаря такой «скользящей» политики, код Джанги проектируется таким образом, чтобы обеспечить одновременную работу как старого, так и нового API. А это значит, что даже если вы «прошлепали» обновления, — и старое API было удалено, — то Вы всегда можете через monkey-patch подцепить к Джанге старое API, и не лопатить кучу кода, или, как минимум, получить неограниченное время для обновления.
Что и где они там «тащат», и чем это мешает «эволюции» проекта, мне более чем непонятно, и просто вызывает недоумение.
А то что в Джанго нет таких радикальных революций, — то это просто говорит о том, что его авторы имеют более острое «техническое чутье» и «дальновидность». Потому они не совершают радикальных ошибок, и не заставляют своих пользователей «страдать» обратно несовместимыми релизами. Ряд вещей, введенных в Рельсах3, использовалось уже годами в Джанге.
github.com/mitsuhiko/sqlalchemy-django-query
даже не знаю, что сказать…
Где-то я даже встречал, что кто-то вырезал deferred из twisted, вроде эта ссылка github.com/mikeal/deferred там и цепочки можно создавать… и списки запускать… и ожидать результата пока требуемые процессы завершатся…
Хотя… вот тут вроде что-то похожее написано… www.tornadoweb.org/documentation/gen.html
> В общем «Если бы губы Никанора Ивановича да приставить к носу Ивана Кузьмича, да взять сколь-нибудь развязанное, какая у Балтазара Балтазаровича, да, пожалуй, прибавить к этому еще дородности Ивана Павловича — я бы тогда тотчас же решилась. А теперь — поди подумай!»