hi
Все web-сайты в мире расположены на железных серверах. Сервер состоит из нескольких ключевых компонент: CPU, RAM, SDD. Именно эти компоненты и выполняют работу по генерации страниц сайта. Максимально эффективная работа с ресурсами железа, с теми самыми CPU, RAM, SSD будет выполняться на языке Си. Несмотря на рост производительности java-машины или движка Google V8 за последние 10 лет, в реальности более эффективного языка работы с железом, чем Си пока не существовало. А современные компиляторы GCC/LLVM/ICC в случае более менее сложной программы производят машинный код гораздо лучше, чем если бы он был написан человеком на ассемблере.
Тем не менее, писать код на Си сравнительно трудоемко. Поэтому в области сайтостроения появились сначала легкие и понятные для программирования, но медленные по производительности инструменты, такие как PHP для динамического формирования HTML-страниц сайтов и MySQL для персистентного хранения данных этих сайтов. Затем на них сверху наложили Content Managment Systems (CMS): Друпал, Джумл, Wordpress, etc. Когда производительность традиционной связки PHP+MySQL стала критически не справляться с нагрузками, в отрасли начали рождаться экзотические идеи типа того, что сайты надо делать на Erlang, Rust, etc, Появлялись всевозможные "самые быстрые фреймворки по версии создателей фреймворка". Через какое-то время все такие разработки уходили в небытие и на смену им приходили новые подобные. В результате мир в некотором смысле пришел к разработке на NodeJS, ExpressJS, ReactJS, etc, то есть проголосовал за фреймворки на базе JavaScript, что сравнительно быстро работает, имеет универсальность как язык одновременно и для backend и для frontend и в целом несложно для освоения.
Однако, если переосмыслить сложившуюся ситуацию, то можно прийти к пониманию, что альтернативный путь - это написать фреймворк поверх Си и спроектировать СУБД для работы со слабосвязанными сущностями, чтобы получить максимально эффективный по скорости, потребелению ресурсов и трудоемкости разработки способ создания любых информативных сайтов. К счастью, в противовес java-мэйнстриму появляются отдельные талантливые умы, которые создают разумные, красивые вещи. В случае сайтостроения здесь несомненно нужно упомянуть таких гениев как Игоря Сысоева из России, написавшего веб-сревер NGINX; Роберто Иерусалимского из Папского католического университета в Рио-де-Жанейро (Бразилия), разработавшего язык Lua; Майка Пола - написавшего LuaJIT компилятор (разумеется на СИ и ассемблере) для языка Lua; трудолюбивого китайца Yichun Zhang, создавшего фреймворк OpenResty, который позволяет добавлять динамику к любому сайту на NGINX с помощью скриптов на Lua; и конечно же сицилийца Salvatore Sanfilippo - автора NoSQL БД Redis. Всех перечисленных технологий болеее чем достаточно, чтобы начать создавать беспрецендентно быстрые, надежные, экономные и легкоразрабатываемые сайты.
Таким образом, этот сайт - дань уважения к труду перечисленных людей, создавших поистине шедевры в области информационных технологий. А также наглядное доказательство того, каким может быть сайт по скорости отклика, потреблению ресурсов, скорости дороботок и надежности.
В качестве практического применения, сайт подобного рода может быть использован как частная социальная сеть для разноплановго контента. Как средство для ведения личного дневника с расширенными настройками доступа. Для фотографов - как способ упорядочивания своих фотоальбомов. В корпоративном сегменте это может быть базой знаний компании. Настоящий сайт объединяет в себе все эти функции.
Далее, факты технического характера:
- скорость динамического формирования страницы - менее миллисекунды
- хостится на минимальном тарифе в несколько сотен рублей в месяц
- при этом обрабатывает порядка 6000 запросов в секунду для страницы размером с экран. полмиллиарда отдач динамического HTML в сутки для хостинга за 10$ - вполне себе достойный результат. и это даже не varnish и не nginx кэш. с nginx кэшем, включаемом для анонимов, скорость возрастает до 20000 запросов в секунду
- сайт на 99% написан на языке Lua. языке простом и логичным, но вместе с тем мощным и гибким
- данные хранятся в наиболее оптимальной структуре в БД Redis. дополнительно хранение всех разнородных сущностей - постов, фотографий, комментариев, рубрик, альбомов, файлов и так далее - продублировано в одной единственной таблице реляционной БД MySQL
- добавление контента производится нажатием соответсвующей ссылки с последующим написанием текста в wordоподобном редакторе ckeditor
- имеются группы для возможности объединять людей и их материалы по интересам. для нежелающих вступать в объединения - материалы традиционно наполняют профиль участника сайта
- дизайн сайта таковой, каким ему пристало быть для функциональной вещи: строгий, лаконичный, с гармоничным сочетанием цветов. настраиваемое меню материалов - слева, само содержание - по центру экрана.
- используются только проверенные временем классические технологии. сайт надежно работает. можете убедиться в этом самостоятельно
С уважением, sdmrnv