Уведомления

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

#1 Ноя. 26, 2013 13:00:51

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

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

o7412369815963
там есть еще вариант с автоматическим поиском как в джанге.
Pyramida удобней джанги

Офлайн

#2 Ноя. 26, 2013 13:06:46

KsimMiloff
Зарегистрирован: 2013-10-11
Сообщения: 26
Репутация: +  0  -
Профиль   Отправить e-mail  

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

Вы слишком “по диагонали” пробежались . На том же оф. сайте есть альтернативный пример:

@view_config(route_name='hello')
def hello_world(request):
body = '<h1>Hi %(first)s %(last)s!</h1>' % request.matchdict
return Response(body)
и конфигурация тоже хранится отдельно, как-то так:
config.add_route('hello', '/howdy/{first}/{last}')

Офлайн

#3 Ноя. 26, 2013 13:08:45

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

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

o7412369815963
Зачем столько действий по добавлению роута? Почему не передать ф-ию hello_world сразу в add_route, как сделано во многих фреймворках, зачем безполезный “config = Configurator()” тут? Когда многие, добавляют роуты сразу в приложение.
Это один из способов.
Есть способы побыстрее и попроще, есть - для унификации и упрощения последующей поддержки, а есть вообще автогенерация раутов :)
В Пирамиде даже 2 глобальных механизма работы с URL (URl dispatch, traversal), можно выбрать тот, который ближе идеологически или больше подходит для проекта.



Офлайн

#4 Ноя. 26, 2013 13:13:41

KsimMiloff
Зарегистрирован: 2013-10-11
Сообщения: 26
Репутация: +  0  -
Профиль   Отправить e-mail  

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

Мне бы теперь найти чего-нибудь почитать, кроме оф. доки. Какую-нибудь хорошую книгу по пирамидам, которую должен прочитать каждый pyramid-разрабочик. В частности интересует как правильно строить архитектуру приложения. Или может быть тему о книгах стоит поднять в pyramid-ветке форума?

Офлайн

#5 Ноя. 26, 2013 13:27:15

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

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

o7412369815963
Зачем столько действий по добавлению роута?
0. на один роут может быть назначено несколько вьюх
1. добавление роута и добавление вьюхи может быть в разных пакетах
2. роут добавленный в одном пакете, может быть переопределен в другом пакете
3. вьюха добавленная в одном пакете может быть переопределена в другом пакете

o7412369815963
Почему не передать ф-ию hello_world сразу в add_route, как сделано во многих фреймворках
сначала так и было, но начиная с версии 1.1 депрекейтед (почему смотри выше)

o7412369815963
зачем безполезный “config = Configurator()” тут? Когда многие, добавляют роуты сразу в приложение.
не понял эту фразу.

ADDED: намек на фласк? во фласке объект Flask выполняет ту же роль что обект Configurator в пирамиде, инкапсулирует конфигурацию приложения. То что во фласке называется конфигурацией(словарь config) в пирамиде называется настройками (словарь settings)

поэтому фраза “бесполезный config = Configurator()” непонятна, во фласке app = Flask() полезен же :)

Отредактировано bismigalis (Ноя. 27, 2013 19:26:52)

Офлайн

#6 Ноя. 26, 2013 13:47:33

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

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

KsimMiloff
В частности интересует как правильно строить архитектуру приложения.

как и в других системах делишь логически на модули, в главном модуле подключаешь остальные

можешь посмотреть как это делается в substanced

KsimMiloff
Какую-нибудь хорошую книгу по пирамидам
нет такой книги. можешь видео посмотреть на pyvideo.org

Отредактировано bismigalis (Ноя. 26, 2013 15:01:00)

Офлайн

#7 Ноя. 26, 2013 17:26:04

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

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

o7412369815963
зачем безполезный “config = Configurator()” тут? Когда многие, добавляют роуты сразу в приложение.
o7412369815963, ты проглядел документацию не просто по диагонали, а ещё и сзада наперёд. В пирамиде приложение конфигурируется через конфигуратор.
Вообще, простота хелоуворда зачастую создаёт больше сложностей, чем плюсов. Это как threadlocal во фласке – для хелоуворда это действительно красиво, но для серьёзного приложения, как мне кажется, это очень криво.

P.S. Роуты? Не, не слышал!



Офлайн

#8 Ноя. 26, 2013 20:45:57

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

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

воу, воу, полегче :)

Видел я альтернативные варианты, добавление обработчиков через декоратор в “глобальное” пространство мне не нравится. А этот scan(), зачем, если мы уже через декоратор добавили, опять же - добавляли бы тогда сразу в приложение. А если не все обработчики нужны, то их можно просто не подключать.

Singularity
там есть еще вариант с автоматическим поиском как в джанге.

bismigalis
1. добавление роута и добавление вьюхи может быть в разных пакетах
2. роут добавленный в одном пакете, может быть переопределен в другом пакете
3. вьюха добавленная в одном пакете может быть переопределена в другом пакете
Вот это хорошая идея, хотя это делается (почти) в любом фреймворке в “три строки”, тут оно только из коробки. И нужно наверно только для встраиваемых приложений, т.е. правильней это надо было подавать как расширенный ф-л, а не как основной.

bismigalis
поэтому фраза “бесполезный config = Configurator()” непонятна, во фласке app = Flask() полезен же :)
Я имел ввиду помимо приложения ещё конф. создавать, когда во многих достаточно просто приложение создать.

ZZZ
Вообще, простота хелоуворда зачастую создаёт больше сложностей, чем плюсов.
Возможно, и создана для заманухи. Но хелоуврод на 100 строк должен заставить задуматься что что-то тут не так(это не про пирамиду).

Я наверно на днях сделаю мини-сравнение с ботлом, может в пирамиде есть что-то… выложу, а вы прокоментируете ;)
А что скажите о таких пакетах как decorator, path, tweens, interfaces, authorization, authentication. Используете?

Офлайн

#9 Ноя. 26, 2013 21:05:13

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

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

KsimMiloff
Я очкую , ведь сейчас должен выбрать фреймворк, который потом буду обязан “любить”, какое-то продолжительное время.
Если время не терпит, то можно начать с клиентской части или лепить функционал (логику) без привязки к фреймворку.

У меня был проект-фреймворк который можно было запустить на разных веб-фреймворках, была нормализующая прослойка между ними, т.к. базово-необходимые вещи есть везде - роуты, реквест/респонс, куки и т.п.

Если бы заказчик потребовал джангу, то можно было сделать джанго-прослойку и втащить свой фреймворк внутрь джанги. “Физический” получается это приложение а не фреймворк, которое можно было запустить на разных веб-фреймворках. :)

Офлайн

#10 Ноя. 27, 2013 09:45:15

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

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

o7412369815963
хотя это делается (почти) в любом фреймворке в “три строки”
не верю
o7412369815963
И нужно наверно только для встраиваемых приложений, т.е. правильней это надо было подавать как расширенный ф-л, а не как основной.
так и есть. как ты это себе представляешь?

o7412369815963
Я имел ввиду помимо приложения ещё конф. создавать, когда во многих достаточно просто приложение создать.
конф. это и есть приложение, название просто другое (объекты Configurator, Flask и Bottle выполняют сходную функцию, мутируя внутренние структуры, конфигурируют фреймворк)

Отредактировано bismigalis (Ноя. 27, 2013 18:56:58)

Офлайн

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

Board footer

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

Powered by DjangoBB

Lo-Fi Version