LINUX.ORG.RU
ФорумTalks

Продолжения.. -_^

 , seaside,


0

1

В поисках лучших практик разработки веб-приложений иду по цепочке ruby -> maglev -> smalltalk -> seaside Обнаружил, что существуют некие «продолжения» http://ru.smalltalk.wikia.com/wiki/Continuations И на руби http://www.ruby-doc.org/core-1.9.3/Continuation.html (если это оно..). Как это должно помочь в обработке запросов? Тем временем «выполнение можно возобновить, причем неоднократно» мне напомнило фибер.
А может это и правда полезно..
Элементарный пример: создание объекта (RESTful). Сначала идем на new, затем create, и если есть ошибки, то нас ридеректит снова на new. А не костыль ли это? Браузер и бэкенд кидают из стороны в сторону чтобы обойти отсутствие состояний. А теперь если все обернуть в фибер, который будет храниться на сервере.. мы сможем обращаться к одному и тому же методу, который будет менять поведение и рендерить те шаблоны, которые ему нужно.. т.е. появляется некая последовательность (чего не было до этого).

★★★★

С каждым днем мне все страшнее запускать браузер.

thesis ★★★★★
()

Сразу видно что ты пользователь Хрома.

firestarter ★★★☆
()

Это закон природы. Природа несправедлива? Какое горе.

Пост не читал, но судя по первым двум камментам - там про руби или джангу.

r_asian ★☆☆
()

Судя по документации на ruby, fibers сделаны на основе продолжений. Для продолжений в ruby, опять же судя по документации, есть callcc. Не знаю как оно в ruby, но если ты в свою «цепочку» включишь scheme или racket (для ознакомления с продолжениями), то хуже не будет.

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

Судя по документации на ruby, fibers сделаны на основе продолжений.

Кстати да..

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

special-k ★★★★
() автор топика

Да уж...

«Погроммистов»-кульхацкеров-всезнаек - «вагон и маленькая тележка», а найти исполнительного усидчивого программиста, пишущего реальный код - проблема. :(

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