Как стать автором
Обновить

Комментарии 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, но простая своя реализация показалась проще.

НЛО прилетело и опубликовало эту надпись здесь

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

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации