LINUX.ORG.RU

ucw


0

0

кто-нибудь использует данный фреймворк? идея интересная, но проблемы, с которыми я столкнулся - несколько большеваты генерируемые файлы и старая документация, если кто его уже использовал - поделитесь впечатлениями, источниками доков. И еще есть ли у него вменяемый способ установки, с учетом вытягивания всех зависимостей, ucw-boxset - конечно вариант, но не очень красивый


Я использую.

> несколько большеваты генерируемые файлы

Непонял, какие файлы генерируются?

> поделитесь впечатлениями,

Несомненно лучшее из всего что я видел, хотя видел я не очень много

> источниками доков

исходники листай и прилагаемые примеры, там всё нипадецки просто. Хотя с доками было бы конечно проще...

> И еще есть ли у него вменяемый способ установки, с учетом вытягивания всех зависимостей,

Это его больное очко :(

> ucw-boxset - конечно вариант, но не очень красивый

зато работает. А чё в нём такого уж некрасивого?

bugmaker ★★★★☆
()

за весь день ниодного лиспера:(

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

debugger invoked on a SIMPLE-ERROR in thread #<THREAD "initial thread" {A7BD4D9}>: Maximum error nesting depth exceeded

Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [USE-*DEBUG-IO*       ] Use the current value of *debug-io*
  1: [USE-*STANDARD-OUTPUT*] Use the current value of *standard-output*
  2: [SILENCE-LOGGER       ] Ignore all future messages to this logger.
  3:                         Use the current value of *debug-io*
  4:                         Use the current value of *standard-output*
  5:                         Ignore all future messages to this logger.
  6: [CONTINUE             ] Ignore and continue with next --eval option.
  7: [ABORT                ] Skip rest of --eval options.
  8:                         Skip to toplevel READ/EVAL/PRINT loop.
  9: [QUIT                 ] Quit SBCL (calling #'QUIT, killing the process).

((LAMBDA (SB-IMPL::E)) #<SB-INT:SIMPLE-STREAM-ERROR {C43ACA1}>)
0] 1

USE-*STANDARD-OUTPUT* все проблемы решает, но немогу понять, откуда
вдруг эта ошибка появилась, тк до этого все стартовало нормально,
удалял весь ucw-boxset и все равно непомогало, из пакетов,
 которые ставил - detachtty и cl-launch, ставил через apt, имже и удалил

подскажите, куда копать дальше?

cvb
() автор топика
Ответ на: комментарий от bugmaker

>Непонял, какие файлы генерируются?

html большие, с кучей непонятного java script, хотелось бы понять, как не генерировать лишнее

>исходники листай и прилагаемые примеры, там всё нипадецки просто. Хотя с доками было бы конечно проще...

этим я в данный момент и занят, но всеж доки поприятней

>зато работает. А чё в нём такого уж некрасивого?

в том, что придется в ручную за пакетами следить:( это не тру, хотелось бы чтоб все через asdf-install например ставилось:)

cvb
() автор топика
Ответ на: комментарий от cvb

> html большие, с кучей непонятного java script, хотелось бы понять, как не генерировать лишнее

Это AJAX :) Не используй ево если не нравится. Хотя при грамотном использовании в нужных ситуациях он на самом деле даёт большую экономию трафа.

> в том, что придется в ручную за пакетами следить:( это не тру, хотелось бы чтоб все через asdf-install например ставилось:)

Насколько я помню, далеко не все пакеты из требуемых asdf-installable. Если бы они были, проблема сама собой снялась бы. А зачем следить за пакетами? В бохсете есть скрипт который обновляет их всех при надобности.

bugmaker ★★★★☆
()

http://www.cliki.net/ucw%20Tutorial :

==={{{

It seems no-one dared to add something to this tutorial. However it is in no way complete the examples are simple and do not show much about ucw really. However I've spend enough time on getting into ucw and won't use it any longer.

The reasons for that are the following:

* debugging is a pain in the a...

* getting anywhere takes way too much time

If you thing different about it feel free to, take over this tutorial. I for my part have settled down to either use webactions or kpax and do prefer the Rails approach much more. My record for getting paged done with Lisp are extremely poor, I spend months on simple pages, rewriting them with Rails has not even took a week. The Ruby way is much easier to understand and apply. So feel free to bash me preferring Ruby over Lisp.

===}}}

execve
()
Ответ на: комментарий от bugmaker

при sbcl --load start.lisp, причем сначала такого небыло, немогу понять, чего я такого поменял, седня опять буду разбираться

cvb
() автор топика
Ответ на: комментарий от bugmaker

>Это AJAX :) Не используй ево если не нравится. Хотя при грамотном использовании в нужных ситуациях он на самом деле даёт большую экономию трафа.

ну он же невсегда нужен, еще в boxset есть два каталога ucw_dev и ucw_ajax, второй у меня выдает internal server error, пока не разбирался почему, какой из них с тру аяксом и надо ли заморачиваться с ucw_ajax

cvb
() автор топика
Ответ на: комментарий от bugmaker

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

cvb
() автор топика
Ответ на: комментарий от bugmaker

а как отрубить генерацию лишнего, и еще у тебя получалось пользоваться ucwctl, у меня он ничего не стартует, хотя ~/.ucw есть и содержит все из etc

cvb
() автор топика
Ответ на: комментарий от cvb

в общем сделал линки на все asd в зависимостях и стартую ucw уже из slime но вот еще один трабл, немогу нормально работу со вторым апачем настроить, все время вываливается в дебагер, хотя applications есть, должны быть примеры и admin

cvb
() автор топика
Ответ на: комментарий от cvb

> а как отрубить генерацию лишнего

Посмотри ucw_dev/src/components/window.lisp. Там создаётся класс
 window-component, и от него наследуется simple-window-component.
 Если исползуеш последний, будут доступны все ништяки но и скрипты
 подключатся. Если так не хош - создай другой класс по образу и подобию
 или делай обекты класса window-component. Например так:

(defentry-point "^(test.ucw|)$" (:application *test-app* :class regexp-dispatcher)
    ()                 
    (call 'test-window))

(defcomponent test-window (window-component)
    ((test-form :accessor test-form :initform (make-instance 'test-form)))
    (:default-initargs
        :content-type "text/html; charset=utf-8;"
        :javascript nil))

(defmethod render ((window test-window))
    (<:as-is "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/
    (<:html :prologue nil
        (<:head                                                                                 
            (<:meta :http-equiv "Content-Type" :content (window-component.content-type window))       
            (<:title (<:as-html "the test window")))
        (<:body (<:b (<:as-html "test")))))

bugmaker ★★★★☆
()
Ответ на: комментарий от cvb

> тебя получалось пользоваться ucwctl

Я никогда не пытался его использовать

bugmaker ★★★★☆
()
Ответ на: комментарий от bugmaker

сенк, дальше разберус думаю

cvb
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.