При таком подходе приходится иметь дело с зависимостями, как то ими управлять. А это не Go подход. В концепции заложена бинарная дистрибуция. Я использую null-buildpack и gzip для бинарника. При этом размер слага(контейнера) на хероку у меня получается около 5мб(!). Это означает что выкачиваться с S3 при холодном старте будет слаг будет очень быстро. Сплошные плюсы и никакой головной боли. Всем рекомендую)
Martini крут своей простотой! Отличный фреймворк, позволяющий быстро начать работу. Да, с DI есть некоторое падение производительности. И чем больше «замаплено» в контекст, тем больше деградация. Но плюс в том, что при желании можно отказаться от использования martini в любой момент. Так как он «Fully compatible with the http.HandlerFunc interface», при соответствующей нотации.
Есть еще реализация на node.js+coffeescript. Но с небольшими отличиями:
— воспользоваться может кто угодно, кто может поставить node.js, то есть не нужно копаться в коде
— сохраняет всю инфо в локально в sqlite, и прогресс скачивания тоже, если вдруг остановилась загрузка
— показывает прогресс загрузки и гипотизу для времени конца загрузки, в минутах
— в разы меньше по объему кода ,)
Да.
Очень серьезные мысли Николаса Талеба на счет разного рода случайностей в нашей жизни. Но в основном на примерах фондового рынка и ценных бумаг. Что то совершенно непредсказуемое, невероятное в книге обозначено понятим «Черный Лебедь». То есть то, на что все бы сказали: «Не может быть!!»…
Здорово! Очень интересует, удалось ли читать secure cookie? При каких транспортаах? Как храните инстансы соединений?
Разработчики Socket.IO сами пишут что существует такая проблема как отсутствие cookies при соединении через WebSockets, и поэтому они реализовали принудительный xhr запрос после удачного соединения. В TornadIO2 есть подобый функционал? Или как можно самому его реализовать?
Байесовский вряд ли подойдет вам, он не способен к обобщению. То есть он входные фичи отдельно классифицирует и возвращает умноженные коэффициенты вероятностей для каждой из них отдельно.
Я использую SVM для классификации, чего и вам желаю)
Конечно бандл выгодно отличается от блюпринта. Удобно! )
Все таки, как я и думал, всплывает очевидный вопрос:
«Все хотят авто генерируемую админку, а Вы предлагаете её усложнить на столько, что она будет конфигурироваться чуть быстрее чем самаписная под проект. Дак есть ли в этом смысл? Стоит ли ломать копья?»
Ответ, имхо, тоже очевиден:
«Необходимо найти некий компромисс, при котором возможен максимально быстрый старт, как, например у django. Но чтоб это было не в ущерб гибкости настройки.
И это, конечно, высшая творческая задача.»
Есть ли бутстрапы без мана на 10 экранов к сварга-админке? =))
> есть некоторые мелкие недочеты вроде отсутствия поддержки gettext в Flask-WTF (чтобы русифицировать ошибки встроенных валидаторов)
Нужно передавать объект с методами gettext(), ngettext() в параметр _translations при объявлении свойства формы при __init__ объекта поля.
И все будет ок ,)
Либо можно немного подправить валидаторы, например так:
REQUIRED = validators.required(_('This field is required.'))
Так еще проще.
> с админкой пока даже не знаю как лучше поступить…
Напишите.
> привести туда же Redis уже не видится простым, да и вообще вменяемым, решением.
С этим сложно спорить.
Михаил, спасибо за статью. Отличная получилась дискуссия!!! Правда карма и у меня тоже сильно упала =) Но это не интересно. А интересно то, что у людей с трезвым взгядом на предмет обсуждения всегда есть выбор. А если есть выбор, появляется возможность быть более гибким в различных ситуациях. Возможность выбора отличает успешных людей, факт.
На сколько я вкурсе, Rodrigo Moraes хотел дописать amalgam для Datastore(GAE), но у него как то стухло все с tipfy…
Идея, которая недает покая — дописать amalgam еще и под mongoDB(к примеру) и сделать админку через нее.
У Вас админка стоит формы по моделям SQLA или amalgam? Принципиальный вопрос ))
Просто редактор содержимого базы. Регистрируешь модели и все. Сделан на основе wtfrms. Нет ровно никаких украшательств, которые есть в джанго админке. Просто. Работает.
=)
Кстати, есть еще одна реализация lucumr.pocoo.org/2011/7/19/sqlachemy-and-you/ от Армина Ронашера.
Здорово то, что людей с пугавицами вместо глаз(читай Django gays) становится меньше. И многие начинают понимать, что за пределами django есть огромный мир интресных и мощных инструментов! И что python не начинается и не заканчивается на джанго. Не стану отрицать, django — гениальная вещь, в свое время ставшая революцией. Люди до сих пор плачут от счастья, переходя с PHP на python/django, но(!). Трудно остановить прогресс и пыливую мысль программиста, желающего упростить свой труд =) Теперь есть инструменты более мощные, гибкие, при этом намного менее ограниченные чем django.
К примеру, я сейчас использую:
— flask
— wtforms
— mongoDB
— mongoalchemy
— flask-mongo-admin.
и не испытываю дискомфорта от того что что то не получается реализовать.
> Личное мнение, мы попробовали dbtemplates и Django CMS. Первый победил для нас по удобству.
Вот теперь вполне корректно :)
dbtemplates для профессионалов(копирайтеров и т.д.),
Django CMS для заказчиков.