• Orkut исполнилось 5 лет
    +12
    Прикольно было бы назвать по фамилии.
  • Кабельное хозяйство
    0
    Четвёртое предложение сверху.
    (предложения обозначены заглавной первой буквой заканчиваются точкой либо пустой строкой)
  • Кабельное хозяйство
    0
    прочитайте, пожалуйста, внимательно, последнюю строчку второго параграфа.
  • континуации и stateful веб-программирование (Updated!)
    0
    состояния можно хранить внутре сервера.
    а иденитфицировать урлом.

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

    я таки попробую сделать квест.
  • континуации и stateful веб-программирование (Updated!)
    0
    вроде бы в scheme макросы продвинутее чем в лиспе?
  • континуации и stateful веб-программирование (Updated!)
    +2
    лёхкое противоречие в вашем комменте.

    если «все проблемы уже решены» — это значит они есть.
    неважно, насколько успешными решениями они закрыты.
    и то, что все привыкли — никак не признак отсутствия проблем как таковых.

    континуации же ликвидируют эти проблемы в принципе.
    это не очередной способ решения.
    это подход, при котором проблем не существует и решать нечего.
  • континуации и stateful веб-программирование (Updated!)
    0
    common lisp я смотрел в подаче Хювённен Сеппяннен.
    но не шибко досконально.

    и мне он показался несколько «грубым» :)
    по сравнению со scheme.

    сейчас я занимаюсь изучениам scheme, и наверно пока не буду отвлекаться на альтернативы. а может, наоборот, будет полезно…
  • континуации и stateful веб-программирование (Updated!)
    0
    Вопрос не в холиварах, а в том, чтобы сравнить разные подходы.
    У меня получилось в одну строчку. И я считаю это нагляднее и проще.
    Что получится на php?
  • континуации и stateful веб-программирование (Updated!)
    +1
    тогда уж «возобновление»

    а концепт сам по себе не очень определённый — это и действие, и результат действия, и результат как незадействованный результат действия :)
  • континуации и stateful веб-программирование (Updated!)
    +1
    согласен, что дело в технологиях, а языки — лишь инструменты.
    можно и на асемблере написать ООП.

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

    в качестве продолжения :) этого коммента я написал в апдейте поста иллюстрацию на scheme, использующую нативное использование продолжения в форме call/cc.
    уровень условности реализации, думаю, ясен.

    попробуйте переписать аналогичное на PHP с сериализацией объекта.
    ну просто для сравнения.
  • Кабельное хозяйство
    0
    не понял как это поможет, если телефонов или компов больше, чем цветов.
    я а слабо представляю иную ситуацию.
  • Кабельное хозяйство
    +1
    ответ в моём профиле — «мне нравится моя работа» :)

    несмотря на ужасы, которое может нарисовать воображение по прочтении этой статьи — работа меня не очень напрягает (в том числе и потому, что конторка относительно «мелкая»).

    это даёт мне возможность развиваться в других направлениях.
  • континуации и stateful веб-программирование (Updated!)
    0
    а Seaside смотреть пока не решаюсь, потомучто совершенно не видел SmallTalkа как такового.
  • континуации и stateful веб-программирование (Updated!)
    0
    да. тут есть тонкость, которая затронутав комменте выше.
    stateless — это протокол.
    в принципе, выражение в статье «RESTful (statles)» не совсем предполагает синонимичность.

    если не путаю, по принципам REST состояние приложения абстрагируется как «ресурс» (идентифицируемый URI, потомучто там всё ресурс.
    в этом свете, «продолжения» — какраз и есть такой ресурс.

    статью сейчас покурю. спасибо.

    P.S.
    слово «континуации» я скалькировал для придания ему большего оттенка терминологичности.
    слово «продолжение» в контексте, не предполагающем понимания этого понятия, будет выглядеть немного неопределённо.
  • континуации и stateful веб-программирование (Updated!)
    0
    протокол — да.
    но это вовсе не значит, что и приложение должно быть stateless.

    если на пальцах:
    мы с вами сейчас общаемся тоже по stateless протоколу.
    коммент прочитан/коммент написан, и всё.
    (сами комменты — это не внутреннее состояние, а его проявления.)
    но это не мешает мне отвечать даже в нескольких цепочках.

    хотя нет. таки мешает. я не могу ответить одним комментом на несколько сразу и приходится использовать ссылки типа «см. коммент выше» :)
  • континуации и stateful веб-программирование (Updated!)
    0
    да вот так, по большому счёту, если смотреть с позиции «сессия как состояние» — тут вообще ничо сложного нет — сериализовать вообще весь контекст приложения, и дело с концом.

    вопрос в том, как это встраивается в язык программирования.
  • Кабельное хозяйство
    0
    хм… вот ведь действително! :))))

    но таки в продвинутых бейсиках была команда renum, и это было не критично.

    а ситуация со вставными розетками возникала от силы три раза (и розетки были уже пронумерованы не по-бейсиковски)

    такчто да. тут лопухнулся.
  • континуации и stateful веб-программирование (Updated!)
    0
    питон не поддерживает континуации как объекты первого класса, поэтому как такового механизма нет.
    наверно, добавлю это в пост.

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

    где-то выше комментом кидал ссылку с эмулятором продолжений для php.
    (фактически — сериализация объекта и сохранение его куда угодно)

    а цель статьи и была дать информацию к размышлению :)
  • континуации и stateful веб-программирование (Updated!)
    0
    см. суб коммент выше,
    и в статье «Inverting back the inversion of control» — с картинками.
    какраз про кнопку back. и возможные извращения с ней.
  • континуации и stateful веб-программирование (Updated!)
    0
    ну да, естественно, продложения более мощные конструкции.
    однако yield всёже обладает некоторыми подходящими свойствами.
    хотя я слабо представляю как можно их сделать на «обычных сях».
    и интересно посмотреть как оно будет реализовано на PyPy.

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

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

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

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

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

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

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

    в оргинале статьи был ещё более явный пример на scheme.
    но я побоялся ломать мозг ещё и этим :)
  • континуации и stateful веб-программирование (Updated!)
    0
    да нет. продолжения какраз для того и придуманы, чтобы сохранять состояние.
    это основная их функция.
    а то, что на них можно делать итераторы, сопрограммы, и прочее — следствие.
  • Кабельное хозяйство
    +1
    да. правильнее говорить «кабели».

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

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

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

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

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

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

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

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

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

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

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

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