Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> обработка перед внесением в БД 
:(
    Опции темы
bars80080
Дата 14.12.2009, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



известнейшая ситуация, когда товарищ перед отправкой в БД данных пропускает их через htmlspecialchars, и тогда мы дружно говорим, что в БД нужно хранить исходные данные, даже если мы говорим только о bb-кодах

и тут меня торкнуло /говорим только о bb-кодах/

посмотрим на примере этого форума.
участник отправляет пост, он в исходном состоянии складируется в БД, а затем при каждом извлечении проходит обработку.

это же эхма как не экономно, и что-то мне кажется, это очень не экономно.

вопрос: почему же всё-таки не хранить пост в уже переработанном в хтмл виде? 

захотел пользователь его отредактировать - распарсится этот хтмл обратно, но то же 1 раз и то не всегда, а не по 100 раз обработка на каждый пост.

короче, не догоняю
PM MAIL WWW   Вверх
MoLeX
Дата 15.12.2009, 07:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



эм... мне всегда казалось что в БД храниться уже готовый html


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
nerezus
Дата 15.12.2009, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43



Цитата

вопрос: почему же всё-таки не хранить пост в уже переработанном в хтмл виде? 

1) А если парсер перенастроили? Запретили например один тег? Или ошибку в теге поправили? Или новый ввели?
2) А если надо редактировать пост?

Есть вариант такой: хранить в исходном и обработанном виде(кэш), но его сбрасывать при каждом чихе.
Однако это не вполне удобно: допустим мы сбросили кеш, а потом что, инсертить будем обратно?)
1) Усложнит архитектуру - это же надо пачкой потом инсертить.
2) Единичная обработка куда уж быстрее инсерта.


Поэтому можно просто не заморачиваться. Это не сложная операция и явно не является ботлнеком.

Статья про оптимизацию: http://rsdn.ru/article/philosophy/Optimization.xml


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Sanchezzz
  Дата 15.12.2009, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



Готовый лудще ...
Надо будет отредактировать так один рас распарсишь хтмл на свои любимые bb коды а запрещенные теги шифт+делет.
Мое мнение принимать в BB кодах переводить его в ХМТЛ при редактирование парсить ХТМЛ обратно в ББ коды. 
1 функцией больше зато не нужно парсить текст каждый раз при ввыводе сообщения и smile 


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
nerezus
Дата 15.12.2009, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43



Цитата

при редактирование парсить ХТМЛ обратно в ББ коды. 
 Это:
По меньшей мере глупо по трудозатратам: хороший парсер на регекспах не написать, придется писать громоздкие алгоритмы, уйдет несколько дней. А для чего? Для того, чтобы сэкономить полкилобайта места на харде? о_О

+ остаются те же проблемы:
Цитата

А если парсер перенастроили? Запретили например один тег? Или ошибку в теге поправили? Или новый ввели?



--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Ипатьев
Дата 15.12.2009, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Не понимаю, какой смысл спорить
PM MAIL   Вверх
bars80080
Дата 15.12.2009, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(nerezus @  15.12.2009,  07:50 Найти цитируемый пост)
А если парсер перенастроили? Запретили например один тег? Или ошибку в теге поправили? Или новый ввели?
переписали структуру, админ жмёт кнопку и бегунок один раз пробегает по базе и переписывает в нужном ключе. распарсили, провели новую обработку, записали

Цитата(nerezus @  15.12.2009,  07:50 Найти цитируемый пост)
А если надо редактировать пост?
Цитата(nerezus @  15.12.2009,  09:22 Найти цитируемый пост)
По меньшей мере глупо по трудозатратам: хороший парсер на регекспах не написать, придется писать громоздкие алгоритмы, уйдет несколько дней. А для чего? Для того, чтобы сэкономить полкилобайта места на харде?

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

Цитата(nerezus @  15.12.2009,  07:50 Найти цитируемый пост)
Поэтому можно просто не заморачиваться.

ну, это как бы единственный довод, который мне виден. примеры под такую систему уже расписаны

Цитата(Ипатьев @  15.12.2009,  09:26 Найти цитируемый пост)
Не понимаю, какой смысл спорить 

ну, во-первых, вроде никто не спорит, а по-вторых, этож концепт - то бишь принятие решения, как оно всё будет


Цитата(nerezus @  15.12.2009,  09:22 Найти цитируемый пост)
Для того, чтобы сэкономить полкилобайта места на харде?

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

хотя всё равно не вижу причин почему бы не парсить текст исключительно для редактирования и переписывания при изменении структуры тэгов. 
PM MAIL WWW   Вверх
nerezus
Дата 15.12.2009, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43



Цитата

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

Цитата

один раз распарсили и всё. имхо, по нагрузке 1 раз распарсить хтмл легче, чем сто раз проводить обработку на выдаче.
 Я не про тоговорил, а про то, что исходный надо обязательно держать.

Цитата

а если наоборот, производить дубликат. таблица с переработанными в хтмл постами, и плюс таблица с исходным текстом для редактирования?
 Я именно про это и сказал. Но все равно это не исключает перегенерации всех/нужных постов.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
bars80080
Дата 15.12.2009, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



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

интересно было бы оценить работу реальной системы
и ещё, что там Вова постоянно оптимизирует, что сервер перестаёт тормозить?
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0526 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.