hi
Позволю себе здесь высказать ряд утверждений, они достаточно очевидны и банальны. Однако, как часто это случается, при развитии какого-либо изделия, технологии или даже целой отрасли, происходит постепенный отход от первоначальной идеи или самой сути, которую были призваны воплотить первые экземпляры этого изделия. В частности, на мой взляд, так произошло и в области сайтостроения. Если ранее сайты были просты, понятны и призваны предоставить полезную информацию, то сейчас и сами сайты и средства их разработки превратились в громозкие, требующие большого количества ресурсов конструкты. Тогда как полезность контента на них вряд ли пропорционально возросла.
Попробуем вернуться к истокам. Сайты расположены на серверах. Сервер состоит из нескольких ключевых компонент: CPU, RAM, SDD. Именно эти компоненты и выполняют всю обработку. Максимально эффективная работа с ресурсами железа, с теми самыми CPU, RAM, SSD будет выполняться на языке Си. Несмотря на все утверждения о том, какой быстрой стала java-машина и какой замечательный движок Google V8 изобрела корпорация "добра", в реальности более эффективного языка работы с железом, чем Си пока не было и не предвидится. А современные компиляторы GCC/LLVM/ICC в случае более менее сложной программы производят машинный код гораздо лучше, чем если бы он был написан человеком на ассемблере.
Но писать код на Си сравнительно сложно. Во-первых, для этого нужны базовые знания в области программирования. Во-вторых, нужны неплохие мозги. В третьих, это достаточно трудоемко. Поэтому мир пошел по другому пути: появились сначала легкие и понятные для кодирования, но отвратительные по производительности PHP для формирования HTML-страниц сайтов и MySQL для персистентного хранения данных этих сайтов. Потом на них сверху наложили Content Managment Systems (CMS): Друпалы, Джумлы и остальной Wordpress. Когда производительность PHP угрожала угробить всю идею сайта, как например было с FaceBook, то корпорация поступала сообразно корпоративному ДНК способом: пытались ускорить движок PHP, создавя в течение 3-х лет свой костыль в виде HHVM - некоей виртуальной машины, переводящей код на PHP в код на Си. Параллельно в отрасли рождались различные экзотические идеи типа того, что сайты надо делать на Erlang. Но это конечно было слишком оригинально, поэтому все как всегда свелось к NodeJS/ReactJS и прочей Java. Ну потому что 3 миллиарда мух устройств не могут ошибаться.
Если переосмыслить сложившуюся ситуацию, то можно прийти к пониманию, что альтернативный путь - это написать фреймворк поверх Си и спроектировать СУБД для работы со слабосвязанными сущностями, чтобы получить максимально эффективный по скорости, потребелению ресурсов и трудоемкости разработки способ создания практически абсолютно любых сайтов. К счастью, в противовес мэйнстрму появляются отдельные светлые умы, которые создают действительно разумные, красивые вещи. В случае сайтостроения здесь несомненно нужно упомянуть таких гениев как Игоря Сысоева из России, написавшего веб-сревер 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