Pull to refresh

Comments 12

Интересно, но они просто подключили движок дума в качестве расширения постргеса, а вся обработка по-прежнему идет через оригинальный код дума. А судя по названию статьи можно было предположить, что они прямо весь код дума портировали на PL/PGSQL, вот это было бы круто...

Технически это возможно, но объём работ уж очень большой получается.

Если рассматривать вариант работы без расширений, то проще взять PL/Python и запустить на нём python порт движка.
Кстати, PostgreSQL нативно может следующие языки: PL/pgSQL, PL/Tcl, PL/Perl, PL/Python.

Ещё одна из интересных идей - добавить язык PL/C, который как PL/PGSQL но только С :)
И в него уже вставить оригинальные функции на С.

Ещё одна из интересных идей — добавить язык PL/C, который как PL/PGSQL но только С

Так по сути разница только в том, что PL/* интерпретируемые, а "user-defined functions" на C — нет.
Но принципиально это уже и есть PL/C.

Это из разряда "DOOM запустили на цифровом тесте беременности!!!"

А когда начинаешь читать, оказывается, что тест вскрыли, подпаялись к контроллеру, и просто выводили на его дисплейчик DOOM, запущенный на стоящем рядом ноутбуке. То есть, по сути, все свелось к "мы вывели дум на 5-баксовый дисплей с алика".

Ага, помню такую статью - было обидно что он действительно не на самом тесте работал...

Тут DOOM действительно внутри СУБД работает, в самом ядре. И каждая сессия имеет свой инстанс игры, который живёт внутри бэкенда сессии - ни какого "внешнего" подключения игры не происходит.

Теоретически можно было бы даже мультиплеер запилить между разными сессиями и обмен через shared memory бэкендов.

Почти все расширения PostgreSQL реализованы по такому принципу - подгружается библиотека которая реализует какой-то функционал. Это как комплектные из состава contrib, так и большинство внешних - pg_pathman, pg_hint_plan, timescaledb, pg_stat_kcache, postgis.

библиотеку aalib изобрели заново, загрузите посмотрите возможности aalib в демо bb установка apt install bb.
По приколу видио в терминале проигрывал, вроде и сейчас vlc в linux может так фильмы показывать.

Я думал использовать готовую, в т.ч. aalib. Но при беглом осмотре показалось что она умеет рендерить только в терминал, т.е. работать как графическое устройство.

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

Применить aalib можно было бы на клиентской стороне, передавая с сервера не ASCII а пиксели. Но это усложнило бы клиентский код, который хотелось минимизировать, чтобы как можно больше логики было на серверной стороне.

Можно было попробовать адаптировать aalib, но простая своя реализация показалась проще.

UFO just landed and posted this here

Я другу отправлю, он фанат Doom. Может теперь фанатом скуля стаанет...)) будет о чем поговорить.

Sign up to leave a comment.

Articles