Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Web
  • » Фреймворк для рекомендательного сервиса [RSS Feed]

#1 Ноя. 27, 2013 10:15:00

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

Фреймворк для рекомендательного сервиса

o7412369815963
Я наверно на днях сделаю мини-сравнение с ботлом
напиши и про то как c питона дергать passportjs, чем лучше Angular Light оригинала и какие его цели

Офлайн

#2 Ноя. 27, 2013 10:19:27

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Фреймворк для рекомендательного сервиса

o7412369815963
Я наверно на днях сделаю мини-сравнение с ботлом, может в пирамиде есть что-то… выложу, а вы прокоментируете ;)
Это изначально не будет объективным сравнением. Ну нельзя сравнивать табуретки с коровами, так как оно для разных вещей: доить табуретку неэффективно, а сидеть на корове неудобно.
Пирамида не для визиток и это накладывает некоторые сложности на вкат.

o7412369815963
А что скажите о таких пакетах как decorator, path, tweens, interfaces, authorization, authentication. Используете?
Конечно используем. Это удобно и красиво.



Офлайн

#3 Ноя. 27, 2013 11:49:15

bismigalis
Зарегистрирован: 2010-10-02
Сообщения: 449
Репутация: +  47  -
Профиль   Отправить e-mail  

Фреймворк для рекомендательного сервиса

o7412369815963
А этот scan(), зачем, если мы уже через декоратор добавили
и здесь пирамида уникальна, потому что не делает регистрацию в декораторе(при импорте). В декораторе на функцию/класс навешиваются аттрибуты, во время скана обходятся модули и смотрится есть ли эти спец аттрибуты у функций/классов и по ним заполняется config.

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

+ при тестировании импортируешь и получаешь немодифицированную функцию, пусть и с левыми аттрибутами :)

Отредактировано bismigalis (Ноя. 27, 2013 13:33:17)

Офлайн

#4 Ноя. 27, 2013 18:57:33

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Фреймворк для рекомендательного сервиса

bismigalis
не верю

Вот пример для торнадо:
from collections import defaultdict
routes = defaultdict(lambda: [None, None])
def add_route(name, path):
    routes[name][0] = path
def add_view(name, controller):
    routes[name][1] = controller
def get_routes():
    return map(tuple, routes.values())
# Test
add_route('main', '/hello/')
add_view('main', lambda: None)
#application = tornado.web.Application(get_routes())
for i in get_routes():
    print(i)
3 ф-ии и словарь, все 3 пункта выполняются.
Так же легко можно расширить и изменить, например добавить приоритеты для вьюх и не парится с порядком подключения пакетов и scan.

Офлайн

#5 Ноя. 27, 2013 19:03:32

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Фреймворк для рекомендательного сервиса

Singularity
напиши и про то как c питона дергать passportjs
Не пробовал, можно погуглить, но навскидку можно так:
Проксируем /login на passportjs, он добавляет всю информацию о пользователе в монгу, вешает куку и редиректит на питон. В питоне по куке работает с пользователем.
Либо node.js будет редиректить на секретный url где питон обработает пользователя, либо node.js вызовет питон через subprocess (или что у них там), либо вызовет через zmq питоновскую ноду.
Вариантов много зависит от задачи.

Офлайн

#6 Ноя. 27, 2013 19:20:07

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Фреймворк для рекомендательного сервиса

Singularity
чем лучше Angular Light оригинала и какие его цели
Он проще, нет модулей, сервисов - больше свободы, вы сами делаете архитектуру приложения.
Проще делать директивы. Весть окружающий web-мир доступен (jQuery с армией компоненотов и др), когда Angular.js от всего этого отнекивается и пытается завернутся в недоступные модули. :)

Например у меня был проект где многое было на jQuery, сначала попробовал подключить Angular.js, в итоге нужно было делать кучу оберток (над апи где много jq), делать липовые сервисы, появлялись тяжело выловимые баги, т.к. трейс вообще никакой (был, сейчас вроде улучшили) и кучи др. проблем. Далее я подключил Angular Light, и дело пошло лучше, скорость разработки явно возросла. Он больше похож на библиотеку чем на фреймворк (в отличии от оригинала).
Роуты в Angular.js ужасные, не зря ui-routes сделали. Когда для aLight можно взять любой готовый на jQuery (коих полно).

Офлайн

#7 Ноя. 27, 2013 19:25:30

bismigalis
Зарегистрирован: 2010-10-02
Сообщения: 449
Репутация: +  47  -
Профиль   Отправить e-mail  

Фреймворк для рекомендательного сервиса

забыл сказать на один роут может быть назначено несколько вьюх с различными предикатами


Офлайн

#8 Ноя. 28, 2013 00:34:21

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

Фреймворк для рекомендательного сервиса

o7412369815963
Не пробовал
o7412369815963
node.js для авторизации, т.к. там богатый выбор “провайдеров” http://passportjs.org/guide/providers/ (в питоне с этим не так хорошо, хотя для мажоров (гугла и фейсбука) есть в tornado.web), да и асинхронность для этой задачи - в плюс.
а я подумал что-ты так делаешь

Офлайн

#9 Ноя. 28, 2013 04:08:25

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Фреймворк для рекомендательного сервиса

Singularity
а я подумал что-ты так делаешь
в последнем проекте оно было кандидатом на авторизацию, но в итоге выбрал торнадо т.к. сроки поджимали (основное приложение все равно было отдельно на wsgi).

Офлайн

#10 Ноя. 28, 2013 07:47:49

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

Фреймворк для рекомендательного сервиса

А почему никто не делает Outh2 по стандарту ? В каждого сервиса свои глюки для которого надо писать код, нет что-бы указать url и нужные права и новый сервис для входа добавлен

Офлайн

  • Начало
  • » Web
  • » Фреймворк для рекомендательного сервиса[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version