[ANN][Erlang] BeepBeep - web-microframework
От: Mamut Швеция http://dmitriid.com
Дата: 30.06.09 10:38
Оценка: 49 (5)
Ну, в общм, думаю, можно заявлять во всеуслышание



BeepBeep — это простое веб-приложение на Эрланге вдохновением для которого послужили by Rails and Merb.

Оно следует принципу «соглашение важнее конфигурации»(«convention over configuration»). Это означает, что достаточно следовать нескольким простым правилам по расположению кода, чтобы связать входящие от браузера запросы с контроллерами и файлами представления.

BeepBeep построено поверх MochiWeb и ErlyDTL




Этот фрейворк давно уже пытаетя вылупиться, просто ни у его автора, Дейва Брайсона[1], ни у меня не было времени над ним поработать

Оригинальная ветка BeepBeep'а находится здесь: http://github.com/davebryson/beepbeep/
Правда, она довольно ильно отстала от моих изменений (дожидаются approval'а автора): http://github.com/dmitriid/beepbeep/

Есть даеж документация на http://beepbeep.dmitriid.com/ (сайт сделан с помощью BeepBeep)

В общем, можно уже поиграться и посмотреть




[1] http://weblog.miceda.org/
[2] http://github.com/dmitriid/


ЗЫ. Кидаю в «декларативное», так как для «веб-программирования» это все же экзотика
avalon 1.0rc1 rev 239, zlib 1.2.3


dmitriid.comGitHubLinkedIn
Re: [ANN][Erlang] BeepBeep - web-microframework
От: Mr.Cat  
Дата: 09.07.09 20:17
Оценка:
Не смог разобраться вот в чем.
Можно ли "отдавать" сгенерированный в самом приложении (не шаблонизатором) контент, например изображение.
Re: [ANN][Erlang] BeepBeep - web-microframework
От: Mr.Cat  
Дата: 09.07.09 20:32
Оценка:
И сразу вопрос такой. Как этой штукой правильно хостить не очень часто, но регулярно обновляющийся контент? Например, если есть atom-лента, которая обновляется раз в 5-10 минут? Достаточно сохранять ее в файл и класть в www? Не надо никак "сообщать" об обновлении статического контента? Или в таком случае луше класть ленту во view?
Re[2]: [ANN][Erlang] BeepBeep - web-microframework
От: Mamut Швеция http://dmitriid.com
Дата: 10.07.09 09:44
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC> И сразу вопрос такой. Как этой штукой правильно хостить не очень часто, но регулярно обновляющийся контент? Например, если есть atom-лента, которая обновляется раз в 5-10 минут? Достаточно сохранять ее в файл и класть в www? Не надо никак "сообщать" об обновлении статического контента? Или в таком случае луше класть ленту во view?


Тут сложно сказать То, что кладется в www будет отдаваться mochiweb'ом, поэому прямо сходу я не скажу, как у него с кэшированием

Можно класть и во view, оно будет отдаваться всегда
avalon 1.0rc1 rev 239, zlib 1.2.3


dmitriid.comGitHubLinkedIn
Re[2]: [ANN][Erlang] BeepBeep - web-microframework
От: Mamut Швеция http://dmitriid.com
Дата: 10.07.09 09:44
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC> Не смог разобраться вот в чем.

MC> Можно ли "отдавать" сгенерированный в самом приложении (не шаблонизатором) контент, например изображение.

Пока нет, но нао занести в «список идей для реализации»
avalon 1.0rc1 rev 239, zlib 1.2.3


dmitriid.comGitHubLinkedIn
Re: [ANN][Erlang] BeepBeep - web-microframework
От: Mr.Cat  
Дата: 16.07.09 14:06
Оценка:
И еще забыл спросить.
Заметил, что из view отдаются только *.html-документы — это by design?
Re[2]: [ANN][Erlang] BeepBeep - web-microframework
От: Mamut Швеция http://dmitriid.com
Дата: 16.07.09 15:54
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC> И еще забыл спросить.

MC> Заметил, что из view отдаются только *.html-документы — это by design?

Пока да. Думаю, это изменится (вернее, должно измениться)
avalon 1.0rc1 rev 239, zlib 1.2.3


dmitriid.comGitHubLinkedIn
Re[3]: [ANN][Erlang] BeepBeep - web-microframework
От: Mr.Cat  
Дата: 16.07.09 17:27
Оценка:
Здравствуйте, Mamut, Вы писали:
M>Пока да. Думаю, это изменится (вернее, должно измениться)
В принципе, это, конечно, не страшно, все равно пользователю не нужно показывать расширение шаблона. Но какое-то странное ощущение, когда делаешь шаблон не-html, но называешь его *.html. Я к тому, что можно было бы ввести другое (еще одно?) стандартное расширение для шаблонов.
Re[4]: [ANN][Erlang] BeepBeep - web-microframework
От: Курилка Россия http://kirya.narod.ru/
Дата: 16.07.09 17:37
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>Здравствуйте, Mamut, Вы писали:

M>>Пока да. Думаю, это изменится (вернее, должно измениться)
MC>В принципе, это, конечно, не страшно, все равно пользователю не нужно показывать расширение шаблона. Но какое-то странное ощущение, когда делаешь шаблон не-html, но называешь его *.html. Я к тому, что можно было бы ввести другое (еще одно?) стандартное расширение для шаблонов.

во времена когда всякие mod_rewrite существуют уже далеко не 1 год это кажется несколько слабым решением, думаю был бы более удобен какой-нибудь настраиваемый вариант аля regexp -> controller
Re[5]: [ANN][Erlang] BeepBeep - web-microframework
От: Mr.Cat  
Дата: 16.07.09 17:46
Оценка:
Здравствуйте, Курилка, Вы писали:
К>во времена когда всякие mod_rewrite существуют уже далеко не 1 год это кажется несколько слабым решением, думаю был бы более удобен какой-нибудь настраиваемый вариант аля regexp -> controller
Ммм, а при чем тут mod_rewrite и контроллер? Я вообще про то, что (см. пример в ридми бипбипа), например
{render,"hello/feed.html",[{year,Year}]}.

будет работать, а
{render,"hello/feed.xml",[{year,Year}]}.

нет

PS: Интересно, почему эрланг на рсдн весь синий?
Re[6]: [ANN][Erlang] BeepBeep - web-microframework
От: Курилка Россия http://kirya.narod.ru/
Дата: 17.07.09 04:25
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>Здравствуйте, Курилка, Вы писали:

К>>во времена когда всякие mod_rewrite существуют уже далеко не 1 год это кажется несколько слабым решением, думаю был бы более удобен какой-нибудь настраиваемый вариант аля regexp -> controller
MC>Ммм, а при чем тут mod_rewrite и контроллер? Я вообще про то, что (см. пример в ридми бипбипа), например
MC>
MC>{render,"hello/feed.html",[{year,Year}]}.
MC>

MC>будет работать, а
MC>
MC>{render,"hello/feed.xml",[{year,Year}]}.
MC>

MC>нет

Гляжу в книгу, вижу фигу, но скажи где ты тут "показываешь расширение шаблона пользователю"?
А, если по сути, я не вижу вообще причин зачем ограничивать расширения шаблонов
Re[7]: [ANN][Erlang] BeepBeep - web-microframework
От: Mr.Cat  
Дата: 17.07.09 05:57
Оценка:
Здравствуйте, Курилка, Вы писали:
К>Гляжу в книгу, вижу фигу, но скажи где ты тут "показываешь расширение шаблона пользователю"?
Эээээ, нигде.

К>А, если по сути, я не вижу вообще причин зачем ограничивать расширения шаблонов

Ну я так понял, там так сделано, чтобы отличать статический контент, которым заведует mochiweb от шаблонов, с которыми работает уже beepbeep.
Re[8]: [ANN][Erlang] BeepBeep - web-microframework
От: Курилка Россия http://kirya.narod.ru/
Дата: 17.07.09 06:13
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC>Здравствуйте, Курилка, Вы писали:

К>>Гляжу в книгу, вижу фигу, но скажи где ты тут "показываешь расширение шаблона пользователю"?
MC>Эээээ, нигде.
Вот это-то меня и смутило

К>>А, если по сути, я не вижу вообще причин зачем ограничивать расширения шаблонов

MC>Ну я так понял, там так сделано, чтобы отличать статический контент, которым заведует mochiweb от шаблонов, с которыми работает уже beepbeep.
Зачем отличать, если они в разных папках views и www? Или я что-то не понимаю или одно из двух...
Re[6]: [ANN][Erlang] BeepBeep - web-microframework
От: Mamut Швеция http://dmitriid.com
Дата: 17.07.09 08:54
Оценка:
MC> Ммм, а при чем тут mod_rewrite и контроллер? Я вообще про то, что (см. пример в ридми бипбипа), например
MC>
MC> {render,"hello/feed.html",[{year,Year}]}.
MC>

MC> будет работать, а
MC>
MC> {render,"hello/feed.xml",[{year,Year}]}.
MC>

MC> нет

Эээ. Почему не будет? Вроде, должно работать...
avalon 1.0rc1 rev 239, zlib 1.2.3


dmitriid.comGitHubLinkedIn
Re[7]: [ANN][Erlang] BeepBeep - web-microframework
От: Mr.Cat  
Дата: 17.07.09 10:15
Оценка: 38 (1)
Здравствуйте, Mamut, Вы писали:
M>Эээ. Почему не будет? Вроде, должно работать...
Ок, тогда дома еще раз проверю. Просто у меня (с твоей, кажется, веткой) где-то с неделю-две назад вроде как не получалось.
Re[9]: [ANN][Erlang] BeepBeep - web-microframework
От: Mr.Cat  
Дата: 17.07.09 10:21
Оценка:
Здравствуйте, Курилка, Вы писали:
К>Зачем отличать, если они в разных папках views и www? Или я что-то не понимаю или одно из двух...
Изначально вопрос был задан потому, что у меня не получилось шаблонизатору скормить шаблон из папки views без расширения .html.
У меня пока не было времени до конца разобраться, как в beepbeep обрабатываются пути, так что скорее всего — это я что-то не понимаю.
Re[8]: [ANN][Erlang] BeepBeep - web-microframework
От: Mamut Швеция http://dmitriid.com
Дата: 17.07.09 14:03
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

MC> M>Эээ. Почему не будет? Вроде, должно работать...


MC> Ок, тогда дома еще раз проверю. Просто у меня (с твоей, кажется, веткой) где-то с неделю-две назад вроде как не получалось.


Таки да. Это я приношу извинения. Внутрях beepbeep жестко прописано:
    Name1 = filename:basename(Name, ".html"),
    ModName = list_to_atom(Name1 ++ "_view"),


То есть он жестко ищет именно *.html

Спасибо за указание, будем менять на вот это:
    Name1 = filename:basename(Name, filename:extension(Name)),
    ModName = list_to_atom(Name1 ++ "_view"),
avalon 1.0rc1 rev 239, zlib 1.2.3


dmitriid.comGitHubLinkedIn
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.