Должен ли я преобразовать сохраненную уценку в HTML или мне следует просто сохранить HTML?


Markdown, кажется, проще писать и редактировать, чем HTML. Все HTML-редакторы, которые я видел, выводили тонну ненужного мусора. Уценка кажется чище.

Вот что я собираюсь сделать: сохранить markdown в базе данных, преобразовать его в HTML с помощью PHP Markdown, а затем вывести это в веб-браузер.

Одна из проблем заключается в том, что ему придется делать это каждый раз, когда запрашивается страница. Это кажется несколько дорогим.

Хорошо ли это идея? или есть более эффективный способ сделать это?

Author: Songo, 2012-05-05

4 answers

В качестве практического примера, переполнение стека поддерживает уценку (как вы знаете), но сохраняет как уценку, так и отображаемый HTML в базе данных. Это значительно ускоряет обслуживание страниц, потому что отображаемый HTML-код всегда один и тот же. Сообщения создаются гораздо реже, чем они показываются пользователям.

 28
Author: Greg Hewgill, 2012-05-04 22:29:11

Отойдите от своего сайта и спросите себя, насколько "дорого" это было бы на самом деле. Вы обслуживаете более 1000 уникальных блюд в день? Реально, это будет воздушный шар? Со всеми этими вопросами ответ не совсем ясен. Например, когда я создавал веб-сайты для международного банка, не минимизированный CSS-документ мог добавлять 1 гигабайт пропускной способности в день. Однако, когда я создаю свой сайт портфолио, я ожидаю, что часть этого трафика будет.

Я, конечно, не выступаю за создание неэффективного кода....просто имейте в виду, что "стоимость" действительно должна измеряться как время выполнения процесса, а не просто процесс.

Если вы действительно обеспокоены, запишите время до и после выполнения процесса уценки PHP. Затем отследите загрузку сервера в течение определенного периода времени в режиме A/B. Цифры не лгут.

 7
Author: bpeterson76, 2012-05-04 22:30:55

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

 1
Author: JB Nizet, 2012-05-04 22:30:44

Недавно я завершил проект, очень похожий на то, о чем вы спрашиваете. Вместо того, чтобы хранить полноценный HTML в базе данных, я решил хранить уцененный html в файловой системе, используя собственный API, очень похожий на MongoDB. Прелесть хранения с уценкой по сравнению с полномасштабным заключается в том, что отпечаток на файловой системе намного меньше, и если вам когда-нибудь понадобится просмотреть необработанную уценку, ее будет намного легче читать. Когда пользователь редактирует html, я визуализирую его в полном объеме, чтобы они могли видеть, как он выглядит.

Были и другие предложения по хранению обоих, с которыми я не совсем согласен. Если вы хотите повысить производительность, избавившись от необходимости разметки уцененной версии для каждого запроса, я бы рассмотрел возможность кэширования полномасштабной версии при каждом ее редактировании. Хранение как уцененных, так и полноценных данных не соответствует цели уценки, так как вы платите штраф за использование дискового пространства и/или операций с базой данных.

 0
Author: Mike Purcell, 2012-05-04 22:43:30