abbra (abbra) wrote,
abbra
abbra

Category:

Бесконечная автоматизация

Конечные автоматы бывают разные. Есть генераторы исходного кода по схемам-описаниям, есть табличные исполнители, а есть неявные конечные автоматы. Они сложнее, но читаются как детективный роман -- со множеством веток предположений и откатов на исходные позиции, а так же с необходимостью найти на них время. Неявные конечные автоматы в разных проектах -- это то, что одновременно удерживает от прихода новых участников (нужно уметь раскручивать детективный сценарий) и позволяет глубже понять, что и как задумывалось. Разгадав очередной автомат, получаешь вполне осязаемое удовлетворение.
  1. Парсер конфигурационных файлов (.ini-файлов): начало, подкладывание очередного "трупа", обнаружение "трупа", раскрытие убийства. В качестве источника информации Шерлок использует очередь событий, связанную с конкретным парсером, в рамках процесса обработки эта очередь глобальна, все участники обработки имеют доступ ко всей информации, все происходит прямо на глазах у Ватсона.
  2. Авторизация пользователя или проверка прав доступа относительно сервера Kerberos V в обработчике PAM: начало. События имеют несколько уровней видимости, раскрытие преступления уже не разворачивается на глазах у Ватсона -- Шерлок постоянно общается с какими-то мутными посетителями, приносящими странные предметы и получающими какие-то не относящиеся, вроде бы, к основному расследованию, задания. При этом создается видимость бездействия сыщика, не делающего ничего до появления следующего посетителя. Асинхронная обработка событий кого угодно может запутать. К тому же, Шерлок активно пользуется своим опытом. Наконец, две (авторизация и проверка) основные ветки счастливого конца, которые все же могут довести и до цугундера.

Tags: cs, floss, fun, gplv3, quotes, scenarios, заметки-на-полях, рабочее, ссылки, цитаты
Subscribe

  • Как нашли Badlock

    После насыщенного бессонными ночами и напряженной работой месяца, мы выпустили обновления Samba для закрытия дыр Badlock. Я написал статью в блог…

  • -ELOP

    errno(3) - Linux man page Name errno - number of last error Synopsis #include <errno.h> Description The <errno.h> header file…

  • SambaXP 2015

    Отписался о прошедшей конференции SambaXP: https://vda.li/en/posts/2015/05/23/SambaXP-report/ Делать русскоязычную версию пока не хочу -- надо ли?

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 9 comments