1
MUD на bash
Hi, All!
На форуме появилось интересное сообщение о маде на языке bash и вообще о маде нового типа. Кстати, а вот мои сырые мысли о том, как может быть устроен распределенный мад
На форуме появилось интересное сообщение о маде на языке bash и вообще о маде нового типа. Кстати, а вот мои сырые мысли о том, как может быть устроен распределенный мад
9 комментариев
На самом деле это мультихостинг в Королевстве Нидерланды и там кроме моего еще сотня сайтов. И наверняка есть кто-то из российской оппозиции, их и заблочили по IP. Щас полезу в панель, попробую поменять IP (их там три или четыре на выбор).
А вот у виртуальных серверов один IP и он только их, и если VDS заблочат, это таки да, слава
Итак: мой блог blog.mud.kharkov.org заблокирован Роскомнадзором по IP.
Я по-быстрому настроил на VDS nginx в режиме прокси так, что при заходе на адрес blog2.mud.kharkov.org происходит показ того, что есть на blog.mud*
Единственный минус такой настройки, что на blog2 нельзя ходить по ссылкам, потому что они все равно ведут на заблокированный blog.mud* (но если вручную добавить двойку, всё будет ок)
Возможно выбор не верный, но это всего лишь прототип, который создается что бы наглядно продемонстрировать proof of concept
Вот некоторые мои _личные_ моменты, из-за которых выбор произошел в сторону баш, если кому интересно:
на каком бы языке не приходилось вести разработку, всегда было лень изобретать велосипеды и естественно находил и подключал готовые библиотеки, где все было продумано за меня (как мне на тот момент казалось), но в случае долгоиграющего проекта, спустя годы, разрабы библиотек, которые я использовал, забивали на них. С двумя вариантами уже не раз сталкивался — либо просто забросили и с выходом новых версий языка их либа утрачивала совместимость, либо в их либах находили кучи критических уязвимостей, тогда они тупо бросали поддержку и начинали новую версию почти с нуля без обратной совместимости, а я как наивный албанец оставался с поломанным проектом и чувством что меня кинули =) и приходилось вникать в чужой код и пачить его, что не всегда получалось сделать грамотно и на что уходила куча времени.
К примеру по этой причине в основном умер мой MUD мир писаный на ruby. Ruby выбрал потому что тогда он был простой платформой для сверхскоростной разработки с кучей gem'ов на все случаи жизни, язык был модным (как сейчас nodejs) и позволял любую прихоть реализовать в короткие сроки. С такой же ситуацией столкнулся в другом проекте на PHP и либами из PEAR… Еще недавно увидел похожую ситуацию с nodejs, где нужные библиотеки не имели совместимости с новыми версиями языка.
Сейчас это кажется ерундой, типа — выбирай нужную версию в докере и не парься, но что-то мне подсказывает, что через 10 лет эту версию днем с огнем не сыщешь особенно в бинарном виде, совместимым с современной ОС.
А когда узнал что некоторые извращуги пишут на баше, стало интересно зачем?! И понял что они не совсем извращенцы потому, что им в свою очередь приходится опираться только на сверхнадежные программные решения, которые существуют и работают без сбоев десятилетиями и почти не меняются.
Еще баш стал более кроссплатформенным, когда в win10 появилась linux прослойка.
Сейчас, для того что бы запустить прототип, не надо ничего компилить или устанавливать библиотеки — почти все используемые команды есть в системе по умолчанию и не нужно быть программистом — любой админ поймет, что в коде творится.
Конечно скорее всего, если проект будет развиваться и ему посчастливится работать под высокой нагрузкой, то для оптимизации узких мест в производительности придется дописывать утилиты на си
Пишите или поддерживайте библиотеки сами, если там после обновления что-то ломается, то это обычно легко починить. Самому часто приходилось так делать.