Найти - Пользователи
Полная версия: Фреймворк для рекомендательного сервиса
Начало » Web » Фреймворк для рекомендательного сервиса
1 2 3 4 5
KsimMiloff
Всем привет,

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

Теперь о себе: опыт в вебе чуть меньше пяти лет, большую часть времени на PHP, последние полтора года занимался разработкой на Rails. В Python я можно сказать новичек, в колледже (5 лет назад) был неплохой опыт работы с Turbogears 1 и все.

Проект по моим меркам сложный и факт того, что это первый проект которым я руковожу (типа тимлид), только делает его сложнее в моих глазах. На мне выбор всего, что только может зависеть от тимлида. Погуглив, решил использовать Python, т.к. большинство примеров коллаборативной фильтрации я видел именно на нем. Да и еще хорошая память осталась о языке, со времен знакомста с ним. Но вот с выбором фреймворка все не так гладко, кругом холивары. Поэтому ставить вопрос “какой фреймворк лучше?” я не буду, просто раскажу о своем опыте работы с джангой, на основании которого, возможно, мне кое-что посоветуете.

В первую очередь за советом в выборе фреймворка я обратился не в онлайн, а к своему знакомому. По моим меркам очень сильный Python-программист, он посоветовал Django. Сижу на джанге третью неделю и мне почему-то не нравится. Мне не нравится ORM, не нравится отсутсвие миграций и не нравится документация, хотя не раз читал, что у джанги с документацией все впорядке. Документация у рельс, по моему мнению, намного лучше. Зато мне нравятся шаблонизатор и, особенно, админка, но в ней еще разбираться и разбираться.

Мой друг сказал (и не раз скажут в этом посте ), что я просто джангу не понял и скорее всего прав, но все-таки, она пока меня только отталкивает, в Rails я втянулся легко и с удовольствием. Что можете сказать по поводу других фреймворков?

Второй вопрос: делал ли кто-нибудь рекомендательный сервис и какой фреймворк при этом использовал?

Ну и… прав ли я, что ушел с Ruby на Python? просто у меня сложилось мнение, что для этой задачи пайтон лучше подходит.

Для меня наверное важнее всего удобство работы с БД (ORM, миграции и т.д.), хорошая, реально хорошая документация (пофиг на русском или английском).

Всем спаибо!
bismigalis
Дедлайны есть?
o7412369815963
Джанго не юзаю, но сложилось мнение что она не для больших проектов, якобы в итоге переписывается 95% джанги под себя. Те же “коментарии” выкидывают сразу. Остаются роуты, шаблонизатор и т.п. - основные вещи которые есть во всех фреймворках.

KsimMiloff
т.к. большинство примеров коллаборативной фильтрации я видел именно на нем.
Необязательно все делать на одном языке, сайт можно на одном, а “математику” на другом.
ilnur
для быстрой разработки, имхо, джанго самое то. но он настолько мощный комбайн, что всех возможностей не юзаю.
лично сейчас, после 1-2 года разработок на джанго, задумываюсь о переходе на другой фреймворк, возможно Flask.

кстати. можно и на чистом питоне, естественно заранее продумав архитектуру проекта. иначе потом поддерживать и масштабировать проблематично.
с точки зрения масштабируемости, в фреймворках архитектура уже продумана.
KsimMiloff
bismigalis
Дедлайны есть?
есть, 5 месяцев

o7412369815963
Джанго не юзаю, но сложилось мнение что она не для больших проектов, якобы в итоге переписывается 95% джанги под себя. Те же “коментарии” выкидывают сразу. Остаются роуты, шаблонизатор и т.п. - основные вещи которые есть во всех фреймворках.
Мне тоже показалось, что переделывать надо слишком много. Мне нужна удобная ОРМ и миграции. Читал, что в джанге можно поменять ОРМ и прикрутить менеджер миграций. Но зачем? Помоему лучше выбрать фреймворк, где такие вещи идут из коробки.

o7412369815963
Необязательно все делать на одном языке, сайт можно на одном, а “математику” на другом.
Это я знаю, может быть так и будет, но по-моему это все усложняет. Если никто, в ближайшее время, не разрушит мое представление о пайтоне как о языке наиболее подходящим для этой (математической) задачи, то будет всего один язык.

ilnur
для быстрой разработки, имхо, джанго самое то. но он настолько мощный комбайн, что всех возможностей не юзаю…
о каких возможностях речь? Я описал возможности, которых мне в джанге нехватает

ilnur
… кстати. можно и на чистом питоне, естественно заранее продумав архитектуру проекта. иначе потом поддерживать и масштабировать проблематично. с точки зрения масштабируемости, в фреймворках архитектура уже продумана.
Я бы рад, но мои знания чистого питона явно недостаточны. Конечно я имею представление, писал скрипты на интерес, но это было давно.
o7412369815963
KsimMiloff
Для меня наверное важнее всего удобство работы с БД
БД какую будете юзать? MongoDB рассматривали?

Что будет на клиенте, в диапазоне от статических страниц до full ajax?

Я бы заюзал: bottle.py, mongodb, angular, sphinx search. + node.js/tornadoweb для авторизации. :)
bismigalis
KsimMiloff
Мне нужна удобная ОРМ и миграции. Читал, что в джанге можно поменять ОРМ и прикрутить менеджер миграций. Но зачем? Помоему лучше выбрать фреймворк, где такие вещи идут из коробки.
так только в джанге свой ORM, с другими фреймворками придется юзать отдельный ORM. Самый знаменитый это SQLAlchemy, ее автор делает также либу для миграций Alembic.
ilnur
юзал как то алембик с алхимией. заинтересовала такая связка. показалась попроще и удобней джанговского орма и соуфа.
KsimMiloff
o7412369815963
БД какую будете юзать? MongoDB рассматривали?
Что будет на клиенте, в диапазоне от статических страниц до full ajax?
Я бы заюзал: bottle.py, mongodb, angular, sphinx search. + node.js/tornadoweb для авторизации.
1 С монго не работал, но хочу, поэтому очень даже вероятно…
2 На клиенте планируются страницы с full ajax, но большинство - статика;
3 Опишите, пожалуйста, почему эти инструменты? Какие преимущества? Посмотрел bottle.py, он мне показался очень приятным.

ilnur, посмотрел примеры с алхимией, мне тоже больше джанговского ORM нравится
PooH
Если был опыт работы с TurboGears и нравится sqlalchemy, то почему бы не TurboGears 2?
ORM - sqlalchemy, миграции - Alembic, шаблоны по умолчанию(Genshi), переключаете на Jinja2, это те же шаблоны Django только лучше. С документацией, правда, хуже чем у джанги, но она есть.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB