<?xml version='1.0' encoding='UTF-8'?>
<rss version='2.0'>
	<channel>
		<title>cotonti.com : Зачем в базе 2 раза сохраняется текст?</title>
		<link>https://www.cotonti.com</link>
		<description>Son konu mesajları</description>
		<generator>Cotonti</generator>
		<language>en</language>
		<pubDate>Fri, 10 Apr 2026 00:50:52 -0000</pubDate>

		<item>
			<title>Trustmaster</title>
			<description><![CDATA[Теперь понял. Элегантного решения пока не увидел. Конфиги на лету менять и плагины отрубать вполне можно - плагином, подцепляющимся к хуку global - благо все нужные данные забиты в ассоциативные массивы.]]></description>
			<pubDate>Cum, 31 Tem 2009 02:58:41 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=3065&d=0#post15206]]></link>
		</item>
		<item>
			<title>Sergey</title>
			<description><![CDATA[Вот как раз об этом я старался донести мысль в <a href="http://www.cotonti.com/forums.php?m=posts&amp;id=15066">http://www.cotonti.com/forums.php?m=posts&amp;id=15066</a> <br />
Что надо  &quot;меньшинству дать возможность прикрутить что-то своё для решения любой проблемы.&quot;  т.е прикрутить соответствующее поле для выборки (ввода)  решений хотя бы для имеющегося парсера. А так, нет ничего забавнее, чем смотреть, как на телефоне воспроизводятся их собственные тесты и примеры.]]></description>
			<pubDate>Cum, 31 Tem 2009 02:51:41 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=3065&d=0#post15204]]></link>
		</item>
		<item>
			<title>Trustmaster</title>
			<description><![CDATA[Что-то я перестаю понимать, о чём речь. Кажется, уже о том, что для разных мобильных устройств надо один и тот же ббкод отображать по-разному. Ну это уже дополнительный парсер писать, однозначно. Как - это уже ваше дело. Мы &quot;из коробки&quot; стараемся поставить то, что устроит большинство, а меньшинству дать возможность прикрутить что-то своё для решения любой проблемы.]]></description>
			<pubDate>Cum, 31 Tem 2009 02:28:39 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=3065&d=0#post15199]]></link>
		</item>
		<item>
			<title>Sergey</title>
			<description><![CDATA[Чем замечателен этот редактор (как впрочем и в седе), замечателен тем, что если нажал &quot;Предпросмотр&quot;, так всё послание и исчезло, и восстановлению не подлежит ( а заодно и остыл)<br />
Вот я тут сработал на своем парсере два примечательных примера: <a href="https://www.cotonti.com/datas/users/parser_205.zip">parser_205.zip</a> для одного меню:<br />
<pre class="code">&#091;class=кнопка;пункт&#093;
&lt;a href=https://www.cotonti.com/&quot;page.php?id=45&quot; accesskey=&quot;1&quot;&gt;&lt;span class=&quot;accesskey&quot;&gt;1&lt;/span&gt; кнопка для проверки&lt;/a&gt;
&lt;a href=https://www.cotonti.com/&quot;#&quot; accesskey=&quot;2&quot;&gt;&lt;span class=&quot;accesskey&quot;&gt;2&lt;/span&gt; купите бананы&lt;/a&gt;
&lt;a href=https://www.cotonti.com/&quot;page.php?id=2&quot; accesskey=&quot;3&quot;&gt;&lt;span class=&quot;accesskey&quot;&gt;3&lt;/span&gt; статья про картошку&lt;/a&gt;
&lt;a href=https://www.cotonti.com/&quot;mailto:kot@mail.ru&quot; accesskey=&quot;4&quot;&gt;&lt;span class=&quot;accesskey&quot;&gt;4&lt;/span&gt; пошлите арбуз&lt;/a&gt;
&#091;/class=&#093;</pre>
Оба варианта для одного и того же телефона марки нокиа. только один для случая браузера S40 (или как там у них) а другой для миноперы. Так, что стандарты html-кеш тут неприемлемы. Если, кто-то считает, что в два прихлопа (скин и css) в в один присид (плуг) проблема решается, то смею разочаровать, не получится - потребовался дополнительный парсер.  Самое веселое у них на одном и том же телефоне понятие выделенный шрифт совершенно по разному т.е. ббкод соответствующий не прокатит и так в каждом случае &quot;html-кеш - это только для стандартного&quot;. Хочется-не хочется, но придется ускорять  парсер. Надеяться, что каждый приобретет убийцу компьютеров (это их реклама) Nokia N97 не приходится, но будем ждать подвижек.]]></description>
			<pubDate>Cum, 31 Tem 2009 00:57:03 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=3065&d=0#post15192]]></link>
		</item>
		<item>
			<title>Trustmaster</title>
			<description><![CDATA[Нет, html-кеш - это только для стандартного. Так что если есть желание процентов на 15 повысить нагрузку на сервер, то действуйте.]]></description>
			<pubDate>Per, 30 Tem 2009 21:25:39 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=3065&d=0#post15161]]></link>
		</item>
		<item>
			<title>jcrush</title>
			<description><![CDATA[Получается если отключить парсер, то поле не будет заполняться? следовательно можно написать свой pars.php или он так же будет сохраняться в базу?]]></description>
			<pubDate>Per, 30 Tem 2009 20:21:52 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=3065&d=0#post15153]]></link>
		</item>
		<item>
			<title>Boss</title>
			<description><![CDATA[<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;p=15125#15125">#</a> <strong>Sergey :</strong>
... А какова скорость работы таких реализаторов, как правило совпадает со скоростью чтения файла, т.е чтения кэша. А возможности? Они беспредельны для дизайнеров типовых решений ...</blockquote>
<br />
Правильно уже сказали выше. Если нужно, то никто не запрещает это делать для себя. Но встраивать в движок не нужно. По скорости такое решение может лишь приближаться, и, в лучшем случае, соответствовать кэшу. А функциональность лично меня и сейчас устраивает. Для меня главное легкость и прозрачность решения. Сложности мне ни к чему.<br />
<br />
ps: Была бы моя воля, я бы и сейчас из котонти выкинул функцию занесения бб-кодов через админку в базу. У меня там сейчас лишь десяток кодов используется, от которых впрочем тоже можно отказаться, остальное в собственном парсере уже давно.]]></description>
			<pubDate>Per, 30 Tem 2009 17:36:46 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=3065&d=0#post15144]]></link>
		</item>
		<item>
			<title>Trustmaster</title>
			<description><![CDATA[Был тут у нас один конечный автомат с рекурсией и семантикой - xBB называется. И по скорости он вчистую проиграл стандартному парсеру Котонти, не говоря уже о &quot;чтении статичного кеша&quot;. Можете поискать на форуме, там нехилые дебаты были.<br />
<br />
Ни один парсер на PHP, будь он трижды быстр и четырежды удобен, не сможет дать такого снижения нагрузки, как HTML-кеш. Тем не менее, мы никого не заставляем использовать встроенный парсер. Хочется рекурсивной магии и взаимообратных преобразований - реализуйте, подключайте.]]></description>
			<pubDate>Per, 30 Tem 2009 15:29:47 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=3065&d=0#post15135]]></link>
		</item>
		<item>
			<title>Sergeich</title>
			<description><![CDATA[Sergey, ну если всё так замечательно, то может попробуете это реализовать в тестовом варианте, тогда можно будет сравнить производительность и удобство и того и другого вариантов :).]]></description>
			<pubDate>Per, 30 Tem 2009 15:23:49 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=3065&d=0#post15134]]></link>
		</item>
		<item>
			<title>Sergey</title>
			<description><![CDATA[<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;p=15126#15126">#</a> <strong>jcrush :</strong>
не вижу очевидных плюсов такого парсера, в одном плюс в другом большой минус, а пользовательские ббкоды немногие юзают.<br />
</blockquote> Без обид. А вы когда-нибудь писали для YACC и LEX? А вы знаете как устроены трансляторы, анализаторы и пр.?]]></description>
			<pubDate>Per, 30 Tem 2009 14:53:15 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=3065&d=0#post15127]]></link>
		</item>
		<item>
			<title>jcrush</title>
			<description><![CDATA[не вижу очевидных плюсов такого парсера, в одном плюс в другом большой минус, а пользовательские ббкоды немногие юзают.]]></description>
			<pubDate>Per, 30 Tem 2009 14:48:02 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=3065&d=0#post15126]]></link>
		</item>
		<item>
			<title>Sergey</title>
			<description><![CDATA[Для того,чтобы понять как работают такие парсеры, достаточно познакомится с YACC и LEX в юниксе. Как это работает. Пишется грамматическое дерево разбора и отдельно пишется лексический анализатор все очень похоже на существующую базу ббкодов. В чем фишка парсера (YACC) он транслирует не текст страниц, он транслирует в дерево разбора сам разбор ббкодов. В результате получается компактная таблица переходов анализатора разбора - получается автомат. Затем, имеется очень короткая программа, которая просто читает текст в один проход!! и обнаружив ликсему типа [имя] или [/имя] генерирует код лексемы, программа, будем называть ее реализатор (она как правило крайне мала по размерам) в соответствии с таблицей разбора,  назначает действие из другой таблицы (каждое правило грамматического разбора подразумевает действие). В чем прелесть такой системы. Прежде всего рекурсивность разбора, что дает делать совершенно немыслимые действия. А что вставляется в серверную часть? как раз не парсер, а вот этот реализатор с таблицей. Сам парсер запускают один раз, в случае изменения либо набора лексем, либо правил грамматического разбора.  А какова скорость работы таких реализаторов, как правило совпадает со скоростью чтения файла, т.е чтения кэша. А возможности? Они беспредельны для дизайнеров типовых решений: например: вот как будет с рекурсивным разбором (придумано по ходу) <br />
[b[red]] текст    та-та - та и что- то написано красным</strong> что-то на выходе отмеченное красным будет еще и жирным. И так далее. Тут главное придумать смелые правила - рекурсия решает многое.]]></description>
			<pubDate>Per, 30 Tem 2009 14:37:24 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=3065&d=0#post15125]]></link>
		</item>
		<item>
			<title>Sergeich</title>
			<description><![CDATA[Sergey, одна из фич котонти - возможность добавлять свои теги довольно простым путём, причём теги можно мутить довольно сложные и специфичные. Если внедрять парсер туда-сюда-обратно, то придётся, если я правильно понимаю, для каждого тега прописывать ещё и правила обратных преобразований не забывая о безопасности, плюс каждое преобразование - дополнительная нагрузка на сервер. Это, на мой взгляд, уже перебор. Я из двух зол выбираю меньшее - увеличение базы за счёт раздельного хранения html и bb, тем более дисковое пространство сейчас наименее затратная часть хостинга.]]></description>
			<pubDate>Per, 30 Tem 2009 14:11:03 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=3065&d=0#post15121]]></link>
		</item>
		<item>
			<title>Boss</title>
			<description><![CDATA[По-моему сейчас реализация самая правильная. Постоянно преобразовывать тест из BB в HTML и обратно глупо. Благо разработчики это понимают. Если бы было постоянно преобразование, то на котонти можно было бы смело ставить крест.<br />
<br />
Конечно, база стала в два раза больше, но полезность кэша очевидна.<br />
<br />
ps: Статистика моей базы на котонти:<br />
<br />
БД SQL, число строк  	244601<br />
БД SQL, размер индекса (KB) 	145 502.0<br />
БД SQL, размер данных (KB) 	111 872.1<br />
БД SQL, общий размер (KB) 	257 374.1<br />
<br />
У кого-нибудь есть больше?]]></description>
			<pubDate>Per, 30 Tem 2009 13:52:26 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=3065&d=0#post15120]]></link>
		</item>
		<item>
			<title>Sergey</title>
			<description><![CDATA[Надо поставить парсер <a href="http://greg.chiaraquartet.net/archives/137-a-parser-generator-for-PHP-finally.html" rel="nofollow">http://greg.chiaraquartet.net/archives/137-a-parser-generator-for-PHP-finally.html</a> настроить таблицу тегов и получим скоростной парсер с исправлением ошибок - дело за малым: решиться.]]></description>
			<pubDate>Per, 30 Tem 2009 13:34:34 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=3065&d=0#post15119]]></link>
		</item>
		<item>
			<title>Sergeich</title>
			<description><![CDATA[А как разбор пользовательских тегов делать?]]></description>
			<pubDate>Per, 30 Tem 2009 13:20:55 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=3065&d=0#post15118]]></link>
		</item>
		<item>
			<title>jcrush</title>
			<description><![CDATA[Что там неравнозначного? основные ббкоды можно в хтмл парсить и обратно, в DLE это прекрасно реализовано!]]></description>
			<pubDate>Per, 30 Tem 2009 07:43:35 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=3065&d=0#post15109]]></link>
		</item>
		<item>
			<title>Trustmaster</title>
			<description><![CDATA[А как ты собираешься редактировать ббкоды, если всё уже в HTML? Это ведь отнюдь не взаимно-однозначное преобразовние.]]></description>
			<pubDate>Çrş, 29 Tem 2009 22:13:51 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=3065&d=0#post15033]]></link>
		</item>
		<item>
			<title>jcrush</title>
			<description><![CDATA[все равно какой смысл два раза в базе одно и тоже? хранить все в хтмл а парсить при редактировании добавлении.]]></description>
			<pubDate>Çrş, 29 Tem 2009 21:18:48 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=3065&d=0#post15028]]></link>
		</item>
		<item>
			<title>Trustmaster</title>
			<description><![CDATA[А чем оно мешает?]]></description>
			<pubDate>Çrş, 29 Tem 2009 15:41:25 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=3065&d=0#post15009]]></link>
		</item>
		<item>
			<title>jcrush</title>
			<description><![CDATA[т.е. кеш не на всю базу? а только на часто открываемые страницы? как бы так по хорошему должно быть...]]></description>
			<pubDate>Çrş, 29 Tem 2009 13:45:15 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=3065&d=0#post15002]]></link>
		</item>
		<item>
			<title>Boss</title>
			<description><![CDATA[Там в админке вроде отключается если тебе не надо HTML-кеш. Запись будет производится только в text.]]></description>
			<pubDate>Çrş, 29 Tem 2009 12:58:03 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=3065&d=0#post15001]]></link>
		</item>
		<item>
			<title>Sergeich</title>
			<description><![CDATA[В поле html хранится отпарсеный ББ-код, собственно, это тот самый html-кеш :). При формировании страницы движок берёт готовый кусок кода, а не парсит каждый раз ББ.]]></description>
			<pubDate>Çrş, 29 Tem 2009 12:56:06 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=3065&d=0#post15000]]></link>
		</item>
		<item>
			<title>jcrush</title>
			<description><![CDATA[Заметил что в таблице постов форума, как подозреваю и страницах мы храним два раза один и тот же текст - тело сообщения 1. в text и html, как я понимаю это надо для ббкоде, но все же за счет этого вся база в 2 раза растет неоправданно, разве других решений нет?<br />
<br />
<pre class="code">`sed_forum_posts` - `fp_html</pre>]]></description>
			<pubDate>Çrş, 29 Tem 2009 07:56:53 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=3065&d=0#post14997]]></link>
		</item>
	</channel>
</rss>