Как стать автором
Обновить
104
0
Максим Васильев @qmax

Инженер

Отправить сообщение
что может случиться — например, отказ от части арендной площади и необходимость переносить серверную стойку в другое место.
это уже случилось :)

и именно фактические затраты времени на перекладывание всех проводов меня убеждают в необходимости более строгого учёта :)
ну в принципе не плохая идея :)

но как её применить в этих случаях:
1. юзер нажимает кнопку «back» несколько раз и перепостит форму, которая уже была засубмичена
2. а потом нажимает кнопку вперёд, пропуская одну из форм.
3. юзер делает несколько копий первой формы, и продвигается паралельно по нескольким путям.

в случае с континуациями, восстанавливающимися по параметрам запроса, (спрятанным в форму):
1. приложение возвращается в предыдущее состояние
2. приложение возвращается в следующее состояние, как оно зафиксирвоано в форме
3. приложение двигается параллельными путями, как если бы это были разные юзеры

в случае с континуациями, восстанавливающимися из сессии (всегда последнее для любого запроса):
1. приложение посылает пользователя нафик
2. приложение посылает пользователя нафик
3. приложение посылает пользователя нафик
:))
ну, поскольку тех-отдел — таки расходное подразделение, экономить средства предприятия — это один из важных аспектов нашего существования :)
подсказка в описании масштабов предприятия: в штате — полтора сисадмина :)
тоесть я почти сам себе и кабельщик :)
континуации, в принципе, позволяют реализовать конечный автомат в пределах одной функции. но это одно из применений. (в другой терминологии — «сопрограмма с самой собой»).

но автомат подразумевает набор состояний и набор переходов между ними.
континуации сами по себе это не предполагают. они предполагают только «возврат».
автоматы это всётаки перпендикулярный подход.

в частности, эти подходы никак не пересекаются если подумать о недетерминированных автоматах с нечётким состоянием, котрые на континуациях ну никак не вписываются.
кстати сказать, именно эта твоя статья меня и побудила написать заметку :)
я там даже коммент оставил.
конкретно в питоне генераторы реализуются ЧЕРЕЗ продолжения. и поэтому их можно заюзать в этом качестве.

в оргинале статьи был ещё более явный пример на scheme.
но я побоялся ломать мозг ещё и этим :)
да нет. продолжения какраз для того и придуманы, чтобы сохранять состояние.
это основная их функция.
а то, что на них можно делать итераторы, сопрограммы, и прочее — следствие.
да. правильнее говорить «кабели».

но фонетически, слово «кабель» вполне вписывается в парадигму словоизменения типа «якорь», «дюбель», «крендель», «вензель», итп.

поэтому моё написание можно считать формой коллоквиализма или же хакерской перегенерализацией :)

упс!
ain't a native speaker :)
я не застал времена, кода и шлюхи были шлюшастее и блэкджек блэчее :)
Более удобный для императивно- и функционально- ориентированных разработчиков, для которых привычнее описывать логику работы приложения путём декомпозиции на отдельные функциональные точки и программированием каждой точки в отдельном блоке (функции, модуле, объекте), а не развермишеливая её по REST-ориентированным запросам.
Разумеется, для веб разработчика, уже набившего руку на запрос-ответах, это непривычно. Поэтому и стоит тэг «новый взгляд».

Приемущества:
более последовательное описание логики,
отсутствие необходмости заботиться о сохранении состояния,
отсутствие проблемы кнопки «back» и «clone» (иллюстрировано картинками в «Inverting back the inversion»).

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

вот тут предлагается какаято библиотека для эмуляции продолжений в пхп.

там какраз класс, от которого можно унаследовать такое приложение.

сессия — это всё-таки средство, а не проблема :)
Более удобный для императивно- и функционально- ориентированных разработчиков, для которых привычнее описывать логику работы приложения путём декомпозиции на отдельные функциональные точки и программированием каждой точки в отдельном блоке (функции, модуле, объекте), а не развермишеливая её по REST-ориентированным запросам.
Разумеется, для веб разработчика, уже набившего руку на запрос-ответах, это непривычно. Поэтому и стоит тэг «новый взгляд».

Приемущества:
более последовательное описание логики,
отсутствие необходмости заботиться о сохранении состояния,
отсутствие проблемы кнопки «back» и «clone» (иллюстрировано картинками в «Inverting back the inversion»).

Если эти приемущества не очевидны, то можно сказать так:
Это не поможет решить какие-то принципиально новые проблемы.
Это поможет избежать большинства проблем и задач, возникающих при разработке веб-приложений.
апдейтнул пост с указанием масштабов сети :)
возможно, это слегка прояснит целесообразность приобретения Экспертов и принтеров :)
«Классика» — это алгоритм Дейкстры, который использует таки один стэк — операторов.
А операнды складываются в «выходную строку» вместе со знаками.
Потомучто, в частности, с переменными, сразу результат может не вычисляться, но транслироваться в какое-нибудь лямбда-выражение.

Ну и приоритет вроде обычно считается большим у тех операторов, чьё связывание операндов раньше. Тоесть у "*" приоритет выше чем у "+".
Хотя и обозначается традиционно меньшим числом.
Надо будет поглядеть этот экспертСКС.
Гугл-картинки находит вместо скриншотов только сертификаты.
Это создаёт впечатление, что это ОЧЕНЬ крутая система и как она выглядит — уже не принципиально :)

А вот затраты (в телодвижениях) по биркам как-то сомнительно, чтобы были меньше чиркания маркером.
На тему интерактивного сюжета мне попадалась занятная статья:
Master's Thesis: Mediating User Interaction in Narrative-Structured Virtual Environments
В которой предлагаются методы, в том числе — обхода «тупиковых квестов».
А в общем случае — адаптирование сюжета к действиям игрока, чтобы он не сбивался с задуманной сюжетной линии.

Информация

В рейтинге
Не участвует
Откуда
Новосибирск, Новосибирская обл., Россия
Зарегистрирован
Активность