LINUX.ORG.RU

Подскажите CMSку моей мечты

 


12

9

Сразу скажу, не уверен, что такое вообще существует в природе, ибо требования у меня противоположны всему, что сейчас воспринимается как мейнстрим. В общем, нужна CMS для сайтов, которые заведомо _не_ относятся (и никогда не будут относиться) к категории «высоконагруженных». При этом имеются два совершенно категорических требования:

1) свободное распространение и использование без ограничений (в том числе без всяких обязательных ссылок и т.п.)

2) ничего тьюринг-полного на стороне клиента; JS, HTML5, CSS3 запрещены под страхом смертной казни, то есть если CMS генерит что-то из перечисленного, то она не рассматривается вообще, вот то есть даром не нужна; в идеале — генерит XHTML и использует мелкий CSS-файлик на десяток классов;

Кроме того, есть ещё несколько более мягких, но тоже существенных пожеланий:

3) Язык реализации. В идеале она вообще должна быть написана на C или C++ с использованием минимума (лучше — zero) внешних библиотек, но такого, скорее всего, не бывает. PHP я терпеть ещё готов, Perl с его системой библиотек и dependecny hell — уже с трудом, что касается Питона, Руби, Джавы и прочей экзотики — мне проще будет её самому написать. Или без сайта обойтись.

4) Хранилище. Идеальная с моей точки зрения CMS не использует никакие СУБД вообще от слова совсем, то есть даже SQLite. Для хранения всего и вся — обычные текстовые файлы в обычных директориях.

5) Кастомизация. Сменные темы, среди которых есть что-нибудь лёгкое и НЕ привязанное к конкретной ширине экрана.

При этом она должна обязательно поддерживать настраиваемую навигацию, блоки, появляющиеся на определённых страницах (на всех или на некоторых), а также пользовательские комментарии (крайне желательно, чтобы пользователи могли заходить со своими OpenID — да, я имел в виду именно OpenID, а не OAUTH).

Если кто видел что-то подобное, киньте ссылочку :-)

★★★
Ответ на: комментарий от Croco

Croco

Мне встречались лица, гордящиеся тем, что не читали «Войну и мир» (это, кстати, я понять могу, хотя сам, увы, читал) и тем, что не знают, что такое «производная» (это мне уже тяжелее понять).

Гордиться тем, что не знаешь - это вообще странно, на мой взгляд.

Вот только с момента окончания ВУЗа, в моем случае, прошло много лет. Производная за это время ни разу не пригодилась. И без «Википедии» я уже вряд-ли вспомню, что это такое.

ravdinve
()
Ответ на: комментарий от Croco

Иди учись, и пока не выучишься — не сметь подходить к компам и тем более брать с кого-то деньги за услуги, связанные с компами

А ну-ка подгони-ка свой официальный профайл в МГУ и Авиационном. Аж интересно.

bookman900 ★★★★★
()
Ответ на: комментарий от Deleted

Как не пригодился и матан.

Я так понял, что ты вообще программировать не умеешьь. Без знания матана разве что веб-макака сможет своим пыхпыхом сайтеги клепать.

anonymous
()
Ответ на: комментарий от Croco

В области электроники к ним присоединяются ардуинщики. В мире ОС — гомосеки и вантузятники...

anonymous
()
Ответ на: комментарий от anonymous

Я так понял, что ты вообще программировать не умеешьь. Без знания матана разве что веб-макака сможет своим пыхпыхом сайтеги клепать.

Смотря что ты подразумеваешь под словом «программировать». Кедерасты, вот, отлично «программируют», и как видно по пятым кедам, матан они не используют. Поэтому их поделие не только постоянно тормозит и теряет отзывчивость, но и глючит.

Матан для меня это операции с «+ - * /». Это мое базовое знание математики. Но я не считаю, что отлично владею матаном. Это лишь школьные знания.

Deleted
()
Ответ на: комментарий от anonymous

Без знания матана разве что веб-макака сможет своим пыхпыхом сайтеги клепать

В теории алгоритмов нужна скорее теория логики, а не математики. Когда пишется GUI разве необходима производная? Вот логика — это да, без нее кнопка будет пукать, а не открывать окно. Но производная то там зачем?)))

bookman900 ★★★★★
()
Ответ на: комментарий от bookman900

Когда пишется GUI разве необходима производная?

GUI только ради GUI нужен разве что мартышкам!

anonymous
()
Ответ на: комментарий от Croco

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

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

anonymous
()
Ответ на: комментарий от Iron_Bug

В прошлом такой дизайн сайтов тоже не был редкостью.И уже тогда были те, кто критиковали такое оформление.
http://www.3riversstadium.com/index2.html
Вероятно, сражение между «гениальными дизайнерами» и любителями «стерильного» html идет уже не одно десятилетие.

anonymous
()
Ответ на: комментарий от bookman900

Но производная то там зачем?

Детский мозг развивать же. Сам же про логику сказал, так оно все идет пакетом. Я видел достаточно троешников в профессии, это жалкое зрелище, поверь. Пролазят они только из-за дефицита кадров и невысоких (у нас) зарплат.

bread
()
Ответ на: комментарий от anonymous

Вероятно, сражение между «гениальными дизайнерами» и любителями «стерильного» html идет уже не одно десятилетие.

Да уж, это как сражение глянцевых журналов со скучными книгами. Ясно, что у них разная ЦА и нужны оба вида, вот только в вебе похоже решили скучные книги искоренить. Теперь даже сугубо техническая инфа все чаще подается в немыслимом оформлении для девочек.

bread
()
Ответ на: комментарий от bread

Детский мозг развивать же

Например, в R не нужно знать производные, когда занимаешься социальной статистикой. А вот знание основ логики (для правильного написания процедур/алгоритмов) – да, строго обязательно. Иначе потом каша прет.

bookman900 ★★★★★
()
Ответ на: комментарий от crutch_master

а между собой лор и онлайн банки одинаковые? а форумы только такие как лор бывают? а теперь берем например фейсбук и ютуб, еще сайт какой-нибудь, ну вроде ebay (не только со стороны покупателя, а так же со стороны компании, которая там размещает свои товары). вот мы уже насчитали как минимум 5 разных типов. это далеко не все варианты фронтенда, которые нам нужны.

anonymous
()
Ответ на: комментарий от anonymous

Фейсбук - не форум. Ebay - магазин, утуб - видеохостинг. Какая принципиальная разница между smf, phpbb, vbulletin, ipb, лором? Какая разница между фронтэндами для почтовиков и тем, что они передают? Для сервисов похожей функциональности можно сделать один стандартный набор свойств и один клиент, который всё это будет рассовывать по углам, вместо переписывания всего этого каждый раз. А блог - это что такое? Форум, в котором каждому юзеру дают собственный раздел с исключительными правами.

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 1)
Ответ на: комментарий от crutch_master

Какая принципиальная разница между smf, phpbb, vbulletin, ipb, лором?

crutch_master ★★★ быдлокод, говнокод, костылестроение, костыли, костыль, костыль на костыле, криворукость, кривые руки

Никакая. Да...

bookman900 ★★★★★
()
Ответ на: комментарий от bookman900

Никакая. Да...

Ну а по сути? Есть разделы, в разделах треды, в тредах посты от юзеров. Юзеры имеют некоторые свойства типа личных данных и прав. Посты содержат контент: текст/звук/изображение/видео/бинарные данные. Все. Это схема любых форумов/катринко/видеохостингов/досок объявлений/блогов. Ну, можно еще какие-нибудь фичи добавить типа тегов.

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 1)
Ответ на: комментарий от anonymous

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

Если на стороне клиента имеется интерпретатор тьюринг-полного языка, который согласен выполнять программы на этом языке вне зависимости от их источника, то это является уязвимостью само по себе. В частности, время рендеринга HTML-страницы есть некая функция от её длины (точнее, мажорируется такой функцией), и эта функция почти линейна. Как говорится, in contrast: время выполнения программы на тьюринг-полном языке вообще не может быть предсказано, это алгоритмически неразрешимая проблема. То есть возможность DoS возникает ровно в тот момент, когда появляется интерпретатор.

Кроме того, есть ещё тезис (если угодно, назовите его тезисом Столярова, хотя я практически уверен, что это высказывали до меня, и не раз): задача написания НЕдырявого тьюринг-полного интерпретатора превосходит человеческие возможности. Иначе говоря, в любом интерпретаторе любого языка программирования всегда будут оставаться уязвимости (по меньшей мере arbitrary code execution), сколько бы их оттуда ни повылавливали. Тезис, очевидно, недоказуем (то есть формально его можно отнести к разряду голословных утверждений), но весьма убедительно подтверждается практикой: пока что нахождение дыры в любом интерпретаторе оказывалось вопросом времени.

Croco ★★★
() автор топика
Последнее исправление: Croco (всего исправлений: 2)
Ответ на: комментарий от bookman900

В теории алгоритмов нужна скорее теория логики, а не математики. Когда пишется GUI разве необходима производная?

Производная — может и нет (хотя не факт, просто сходу пример привести не могу), а вот разница между счётной бесконечностью и континуумом (и, соответственно, канторовский диагональный метод для доказательства несчётности) — нужны, очень даже нужны. Иначе там половину не понять, ни в теории алгоритмов, ни в теории вычислимости.

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

Croco ★★★
() автор топика
Ответ на: комментарий от Croco

Дело в том, что «дыра» - понятие субъективное и зависит от контекста. Я бы сказал, везде, где могут возникать ошибки, внесённые человеком, всегда есть дыры. Поэтому пофиг, интерпретатор пойдёт на сайт эксплоит качать или в ядре броузера будет косяк. Тут нужно просто понять риски применения софта, подобного броузеру и принять последствия, осознавая риски. Так что чесаться надо только по поводу комфорта работы - без noscript и adblock броузер нагибает i7 2600K/16GB RAM на 5 вкладках (2 gmail'а, gdrive, jenkins, gogs) до выжирания всего CPU и памяти за несколько часов.

Помогает только тщательный выбор блокировки скриптов, неиспользование web-интерфейса gmail и прочее. Также помогает закрывание броузера.

Хром более эффективен - с ним легче работать, когда он выжрал всю память, и он легче выходит из swap'а чем firefox, так как использует много процессов. Приходится признать, что он более технически совершенен, чем firefox, хотя и не является открытым проектом (разработка закрытая).

slapin ★★★★★
()
Ответ на: комментарий от crutch_master

даже для сайтов в одной категории можно найти десятки мелких или не очень мелких отличий. а самих категорий мы наберем очень много. и если какому-то одному пользователю этого не нужно и он заходит на пару сайтов 99% времени, что многим других все это многообразие необходимо. и сидеть писать к этому фронтенд даже 5-10 раз - лично мне совершенно не интересно, вместо того, чтобы пользоваться нужным сайтом.

anonymous
()
Ответ на: комментарий от slapin

Я бы сказал, везде, где могут возникать ошибки, внесённые человеком, всегда есть дыры.

Это так. И именно поэтому там, где ошибки могут вызывать дыры, софт должен быть максимально прост (чем проще софт, тем меньше в нём невыявленных ошибок — этот тезис не надо доказывать, я полагаю).

Возможностей возникновения дыр в интерпретаторе, исполняющем произвольный код, намного-намного больше, чем в простом рендерере HTML.

Так что, если переходить от вашей бинарной оценки (есть риск — нет риска) к количественной, то не «пофиг» и «чесаться надо» не только по поводу комфорта.

anonymous
()
Ответ на: комментарий от anonymous

Возможностей возникновения дыр в интерпретаторе, исполняющем произвольный код, намного-намного больше, чем в простом рендерере HTML.

Ну вообще то нет, с тех пор как рендер простого хтмл кода по сложности с запасом превысил сложность интерпретатора.

anonymous
()
Ответ на: комментарий от anonymous

Ну, по словам Croco, HTML5 и CSS3 тоже тьюринг-полные, так что там тоже интерпретатор получается.

Но если брать предыдущие версии хтмл, то там мест, где ошибка в коде рендерера приведёт к дыре в безопасности, таки сильно меньше. Конечно с условием, что код будут писать не типичные макаки, а толковые программисты разбирающиеся в безопасности.

anonymous
()
Ответ на: комментарий от anonymous

даже для сайтов в одной категории можно найти десятки мелких или не очень мелких отличий

Добавляешь все и включаешь/отключаешь по необходимости.

crutch_master ★★★★★
()

если такой не существует, и кто то ее создаст, то название ей просто обязано быть рыба :)

dima1981
()
Ответ на: комментарий от anonymous

так что там тоже интерпретатор получается.

Да даже и не html5. Нормальный рендер - вообще говоря, очень-очень сложная задача. Сильно сложнее примитивной интерпретации.

anonymous
()
Ответ на: комментарий от Croco

Полной безопасности и в реальной жизни нет никакой, зачем вам тогда такая компьютерная безопасность? Для чего? Вы же не ходите в жизни с ватно-марлевой повязкой и в перчатках, и не спите в барокамере, как Майкл Джексон? А какую безопасность обеспечивает ваше жилище? Поди самую минимальную? Так чего вы трясётесь за какой-то сраный комп?

rechnick ★★★
()
Ответ на: комментарий от crutch_master

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

anonymous
()
Ответ на: комментарий от anonymous

Ну, с другой стороны у нас есть браузеры которые пытаются делать все, у которых функционал скоро будет как у ОС и которые ничего не могут.
Да и это вообще ни разу не комбайн в отличии от.

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 1)
Ответ на: комментарий от crutch_master

с другой стороны у нас есть браузеры которые пытаются делать все

Неправильно. Браузер — это лишь окно с моторчиком. Такой же Word/Excel, Explorer/Finder/Thunar.

которые ничего не могут...

...у пользователей, которые так боятся слежки, что все вырубают.

bookman900 ★★★★★
()
Ответ на: комментарий от bookman900

Неправильно. Браузер — это лишь окно с моторчиком. Такой же Word/Excel, Explorer/Finder/Thunar.

Да ладно? Текстовой процессор заточен под работу с текстом, софт для электронных таблиц под них, файловый менеджер под работу с файлам. А браузер пытается делать всё, но фейлит, тормозит и жрёт оперативку.
Например, на этом вашем ведре, нормальный браузер сделать нельзя, поэтому все пилят приложения для своих сайтиков. Я просто предложил это дело унифицировать. Не понимаю, что это вы с аноном так возбудились.

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 1)

Удивительно как все легко повелись на идиотский запрос тса.

dk-
()

5 страниц флейма, а ничего толкового(под хотелки) автору не посоветовали в итоге...

Croco, можешь сказать что за 4 статических генератора тебе приглянулись?

Deleted
()
Последнее исправление: log4tmp (всего исправлений: 1)
Ответ на: комментарий от slapin

«дыра» - понятие субъективное

arbitrary code executuion — понятие сугубо объективное: возможность для кого-то исполнить произвольный (или почти произвольный) фрагмент машинного кода на моём процессоре.

везде, где могут возникать ошибки, внесённые человеком, всегда есть дыры

Тут вопрос в их эксплойтабельности. Например, то и дело находят дырки в анализаторах данных, которые не обладают тьюринг-полнотой — jpeg, mp4, даже вроде html-рендеры когда-то ломались, но дыру мало найти, надо ещё сделать так, чтобы через неё что-то получалось. Как показывает, опять же, практика — все эксплойты подобных дыр опирались на наличие на стороне клиента тьюринг-полного интерпретатора, обычно JS, иногда Java. Тут дело, видимо, не в формальных закорючках, а в возможностях человека. Автор эксплойта ведь тоже человек, хотя и с довольно развитым мозгом.

принять последствия, осознавая риски.

Для этого нужно быть специалистом, причём сильно не любым. Подавляющее большинство пользователей браузеров, включая, заметим, и вебмакак — то есть тех, кто вроде бы должен считаться специалистом в этой области — совершенно не понимают, что происходит.

Как следствие, тезис о том, что ежели у пользователя в браузере включён JS, то он всё понимает и соглашается — никакой критики не выдерживает. Полагаю, что людей, информированно согласных на весь этот беспредел, в мире не существует вообще.

броузер нагибает i7 2600K/16GB RAM на 5 вкладках

Я вот этот коммент пишу с машины, имеющей 1Gb RAM и двухъядерный Athlon на 1 ГГц. Единственное, что у меня тут тормозит — это браузер, который приходится иногда гонять с включённым JS (естественно, из-под изолированного аккаунта). Я ради вебмакак железо апгрейдить не буду, деньги лучше пропью.

Croco ★★★
() автор топика
Ответ на: комментарий от bookman900

Вот тебе рабочий вариант

Ага, comments powered by Disqus, то есть своих комментов там нет. И нафига оно мне? Или предполагается, что я нужный функционал сам допишу? Так тогда проще всю CMS написать с нуля.

Croco ★★★
() автор топика

На хабре недавно статья была, как подобное на асме запилили. Имхо результат не стоит усилий.

mcgeek
()
Ответ на: комментарий от Croco

деньги лучше пропью

И вот, спустя 8 страниц отмазок мы, наконецто, подобрались к корню проблемы пациента...думаю это успех, товарищи!

genryRar ★★
()
Ответ на: комментарий от genryRar

ну кто бы сомневался

Петрарка был занудой, А Сартр — коммунистом, А Пресли был сексотом — Он на «Битлов» стучал. Мазох был мазохистом, Маркиз де Сад — садистом. И все они бухали! И Мусоргский бухал!

(это Тимур Шаов, если чё)

Croco ★★★
() автор топика
Ответ на: комментарий от genryRar

Лицемер...

Что-то, воля ваша, недоброе таится в мужчинах, избегающих вина, игр, общества прелестных женщин, застольной беседы. Такие люди или тяжко больны, или втайне ненавидят окружающих. (М.А. Булгаков)

anonymous
()
Ответ на: Лицемер... от anonymous

Вы все неправы - каждый по своему

Почти каждому мудрому изречению соответствует противоположное по смыслу - и при этом не менее мудрое. (Джордж Сантаяна)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.