<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">

<channel>
	<title>MixaDIOR Feodosian</title>
	
	<link>http://www.feodosian.com</link>
	<description>Барахло/Хлам/PHP/Харьков/Феодосия/Я</description>
	<pubDate>Mon, 24 Nov 2008 09:34:36 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/mixadior" type="application/rss+xml" /><item>
		<title>Therapy Sessions Ukraine @ Odessa</title>
		<link>http://www.feodosian.com/2008/11/therapy-sessions-ukraine-odessa/</link>
		<comments>http://www.feodosian.com/2008/11/therapy-sessions-ukraine-odessa/#comments</comments>
		<pubDate>Fri, 21 Nov 2008 16:26:35 +0000</pubDate>
		<dc:creator>darkstar</dc:creator>
		
		<category><![CDATA[Новости]]></category>

		<category><![CDATA[drum'n'bass]]></category>

		<category><![CDATA[жизнь]]></category>

		<category><![CDATA[музыка]]></category>

		<guid isPermaLink="false">http://www.feodosian.com/?p=507</guid>
		<description><![CDATA[
И вот очередной Рэйв. На Therapy Sessions UA я был впервые. Впечатлений море. Позитивно, ярко, с эмоциями. Притом сбылась моя мечта  - услышать CounterStrike в живую, яркие ребята, сильные. Очень клево прожег Tapolsky, особенный жир - smack my bitch up и smells like teen spirit - идея просто супер.

Чуть подпортили праздник наши органы, точнее [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_516" class="wp-caption aligncenter" style="width: 510px"><a href="http://www.feodosian.com/wp-content/uploads/2008/11/0302835b.jpg"><img src="http://www.feodosian.com/wp-content/uploads/2008/11/0302835b.jpg" alt="Фото от Хом`Як. http://topdj.ua/photos/24397/" title="0302835b" width="500" height="333" class="size-full wp-image-516" /></a><p class="wp-caption-text">Фото от Хом`Як. http://topdj.ua/photos/24397/</p></div>
<p>И вот очередной Рэйв. На <a href="http://therapysessions.com.ua">Therapy Sessions UA</a> я был впервые. Впечатлений море. Позитивно, ярко, с эмоциями. Притом сбылась моя мечта  - услышать <strong>CounterStrike</strong> в живую, яркие ребята, сильные. Очень клево прожег <strong>Tapolsky</strong>, особенный жир - <strong>smack my bitch up</strong> и <strong>smells like teen spirit</strong> - идея просто супер.<br />
<span id="more-507"></span><br />
Чуть подпортили праздник наши органы, точнее налоговики, которые пришли прямо на начало пати и чего-то захотели, не давая включить нормального баса на разогреве, мотивируя это просто - им видите ли &#8220;музыка работать мешает&#8230;&#8221;, а то что уже под 1000 человек, включая тех, кто как мы проделали солидную дорогу, ждали пока они &#8220;доработают&#8221; им всеравно. Но испортить нам настроение им не удалось. Также на Therapy мы попробовали прикольный <a href="http://umahouse.feodosian.com/blog/rave-boilersuit/">костюм</a>.</p>
<p>Очень красивый город Одесса, в нем в отличие от Харькова много таких мест, где можно прийти и подумать, посмотреть вдаль и разгрузить голову от мыслей. Очень удивило обилие различных торговых центров по типу Афины, в Харькове только сейчас начали появляться их небольшие аналоги aka Караван и Dafi.</p>
<p>Остался очень доволен как поездкой так и Therapy. А тут уже на подходе и следующая часть убойных звезд арены DNB - <a href="http://junglist.com.ua/forum/index.php?showtopic=15888&#038;st=0&#038;start=0">Therapy Sessions @ Dnepropetrovsk</a>. Если найду деньги и компаньйонов, то поеду обязательно. :-)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.feodosian.com/2008/11/therapy-sessions-ukraine-odessa/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Диего Марадона</title>
		<link>http://www.feodosian.com/2008/11/diego-maradona/</link>
		<comments>http://www.feodosian.com/2008/11/diego-maradona/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 16:02:51 +0000</pubDate>
		<dc:creator>darkstar</dc:creator>
		
		<category><![CDATA[Новости]]></category>

		<category><![CDATA[кино]]></category>

		<category><![CDATA[люди]]></category>

		<category><![CDATA[Футбол]]></category>

		<guid isPermaLink="false">http://www.feodosian.com/?p=505</guid>
		<description><![CDATA[
Сегодня посмотрел фильм Эмира Кустурицы о Марадоне, всегда уважал, что Кустурицу, что Марадонну, но после этого фильма для меня этот человек стал еще более интересной личностью. Как сказал сам Кустурица: &#8220;Три года назад мы начали съемки этого фильма и мы сразу задались вопросом - какой он этот Марадона. Сейчас съемки подошли к концу и мы [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_510" class="wp-caption alignnone" style="width: 510px"><a href="http://www.feodosian.com/wp-content/uploads/2008/11/n662869458_942953_4588.jpg"><img src="http://www.feodosian.com/wp-content/uploads/2008/11/n662869458_942953_4588.jpg" alt="Maradona &#038; Kusturica" title="n662869458_942953_4588" width="500" height="360" class="size-full wp-image-510" /></a><p class="wp-caption-text">Maradona &#038; Kusturica</p></div>
<p>Сегодня посмотрел фильм Эмира Кустурицы о Марадоне, всегда уважал, что Кустурицу, что Марадонну, но после этого фильма для меня этот человек стал еще более интересной личностью. Как сказал сам Кустурица: &#8220;Три года назад мы начали съемки этого фильма и мы сразу задались вопросом - какой он этот Марадона. Сейчас съемки подошли к концу и мы задаемся все тем же вопросом&#8230;&#8221;<br />
<span id="more-505"></span><br />
В конце фильма звучит песня &#8220;La vida tombola&#8221;. В ней есть слова, которые в русском переводе значат приблизительно такое - &#8220;Если бы я был Марадоной, я был жил, как он&#8230; Потому что, как мяч, наш мир - вертушка&#8230; проживаешь его на полную катушку&#8230;Я бы крикнул ФИФА, что они - мафия&#8230;&#8221;:<br />
<!-- Smart Youtube --><span class="youtube"><object width="500" height="380"><param name="movie" value="http://www.youtube.com/v/AF8Vo6GfuSg&amp;rel=1&amp;color1=d6d6d6&amp;color2=f0f0f0&amp;border=0&amp;fs=1&amp;hl=en&amp;autoplay=0"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/AF8Vo6GfuSg&amp;rel=1&amp;color1=d6d6d6&amp;color2=f0f0f0&amp;border=0&amp;fs=1&amp;hl=en&amp;autoplay=0" type="application/x-shockwave-flash" allowfullscreen="true" width="500" height="380" ></embed><param name="wmode" value="transparent" /></object></span><a href="http://www.youtube.com/watch?v=AF8Vo6GfuSg"><img src="http://img.youtube.com/vi/AF8Vo6GfuSg/default.jpg" width="130" height="97" border=0></a></p>
<p>Фильм цепляет. Этот фильм сделал некислый пиар Марадоне. Хотя у нас почему-то его многие не любят. Но он действительно супер мастер мяча, таких больше нету&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.feodosian.com/2008/11/diego-maradona/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Meine katzen</title>
		<link>http://www.feodosian.com/2008/11/meine-katzen/</link>
		<comments>http://www.feodosian.com/2008/11/meine-katzen/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 22:01:57 +0000</pubDate>
		<dc:creator>darkstar</dc:creator>
		
		<category><![CDATA[из архива]]></category>

		<category><![CDATA[животные и природа]]></category>

		<guid isPermaLink="false">http://www.feodosian.com/?p=494</guid>
		<description><![CDATA[Живут дома, в Феодосии. Бывает рассказываю про этих двух кошек, а в морду их никто и не видел. Та, что белая - она потупее, а то что серая поумнее, но и гадит тоже с умом :))).
]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_493" class="wp-caption alignnone" style="width: 510px"><a href="http://www.feodosian.com/wp-content/uploads/2008/11/pic_00161.jpg"><img src="http://www.feodosian.com/wp-content/uploads/2008/11/pic_00161-500x375.jpg" alt="ФИСО и ДУСЬО" title="pic_00161" width="500" height="375" class="size-medium wp-image-493" /></a><p class="wp-caption-text">ФИСО и ДУСЬО</p></div><br />
Живут дома, в Феодосии. Бывает рассказываю про этих двух кошек, а в морду их никто и не видел. Та, что белая - она потупее, а то что серая поумнее, но и гадит тоже с умом :))).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.feodosian.com/2008/11/meine-katzen/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Переезд</title>
		<link>http://www.feodosian.com/2008/11/pereezd/</link>
		<comments>http://www.feodosian.com/2008/11/pereezd/#comments</comments>
		<pubDate>Thu, 06 Nov 2008 00:19:52 +0000</pubDate>
		<dc:creator>darkstar</dc:creator>
		
		<category><![CDATA[Новости]]></category>

		<category><![CDATA[blog]]></category>

		<category><![CDATA[хостинг]]></category>

		<guid isPermaLink="false">http://www.feodosian.com/?p=484</guid>
		<description><![CDATA[Вот и состоялся переезд моего блога на свой VDS. Могут возникать некоторые проблемы, но я думаю, что все они решаться в ближайшее время.

Изменений немного:

Свой(пусть виртуальный) сервер
Более новые версии ПО
SVN
Python
Свой DNS

Для веба набор в принципе тот же, что и у моего прошлого хостера:
linux + nginx + apache + php + mysql
Из собственного появился SVN: http://svn.yomoyo.net
И Python [...]]]></description>
			<content:encoded><![CDATA[<p>Вот и состоялся переезд моего блога на свой VDS. Могут возникать некоторые проблемы, но я думаю, что все они решаться в ближайшее время.<br />
<span id="more-484"></span><br />
Изменений немного:</p>
<ul>
<li>Свой(пусть виртуальный) сервер</li>
<li>Более новые версии ПО</li>
<li>SVN</li>
<li>Python</li>
<li>Свой DNS</li>
</ul>
<p>Для веба набор в принципе тот же, что и у моего прошлого хостера:<br />
linux + nginx + apache + php + mysql<br />
Из собственного появился SVN: <a href="http://svn.yomoyo.net">http://svn.yomoyo.net</a><br />
И Python с <a href="http://pylonshq.com">Pylons</a> :).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.feodosian.com/2008/11/pereezd/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Herbal fear</title>
		<link>http://www.feodosian.com/2008/11/herbal-fear/</link>
		<comments>http://www.feodosian.com/2008/11/herbal-fear/#comments</comments>
		<pubDate>Sun, 02 Nov 2008 23:11:04 +0000</pubDate>
		<dc:creator>darkstar</dc:creator>
		
		<category><![CDATA[Новости]]></category>

		<guid isPermaLink="false">http://www.feodosian.com/2008/11/herbal-fear/</guid>
		<description><![CDATA[
&#8220;Меня правда озадачивает, то что марихуанну ставят в один ряд с наркотой и т.п. Трава в тыщу раз круче виски. Это мой друг и помошник.&#8221; Louis Armstrong

Я не поддерживаю всяких там наркоторговцев и сам не являюсь таким, я не употребляю накротики. Я просто не могу понять, уже не давно не могу понять - почему &#8220;траву&#8221; [...]]]></description>
			<content:encoded><![CDATA[<blockquote>
<p>&#8220;Меня правда озадачивает, то что марихуанну ставят в один ряд с наркотой и т.п. Трава в тыщу раз круче виски. Это мой друг и помошник.&#8221; <br/><strong>Louis Armstrong</strong></p>
</blockquote>
<p>Я не поддерживаю всяких там наркоторговцев и сам не являюсь таким, я не употребляю накротики. Я просто не могу понять, уже не давно не могу понять - почему &#8220;траву&#8221; ставят в один ряд с наркотиками, почему(?), только вот не нужно мне приводить факты с кучей анализов того, как человек тупеет, все хорошо в меру и в меру хорошо то, что не вызывает физической зависимости. Да что в этой &#8220;траве&#8221; такого, что ее так все бояться и пытаются поставить в один ряд с тяжелейшими ядами. А?! <br/></p>
<p>Ссылки в тему:<br />
<a href="http://www.feloniousramblings.com/2008/10/marijuana-quote-archive.html">http://www.feloniousramblings.com/2008/10/marijuana-quote-archive.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.feodosian.com/2008/11/herbal-fear/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Математика меня нашла!</title>
		<link>http://www.feodosian.com/2008/10/methematics-knowledge-dlemma/</link>
		<comments>http://www.feodosian.com/2008/10/methematics-knowledge-dlemma/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 13:49:45 +0000</pubDate>
		<dc:creator>darkstar</dc:creator>
		
		<category><![CDATA[из архива]]></category>

		<category><![CDATA[жизнь]]></category>

		<category><![CDATA[разработка]]></category>

		<guid isPermaLink="false">http://www.feodosian.com/?p=459</guid>
		<description><![CDATA[
На этой фотографии великий русский математик А.Н. Колмогоров, по учебнику которого я еще в школе изучал азы алгебры. И притом довольно неплохо знал я эту алгебру, а за 3 попытки поступления во ВТУЗ просто до блеска отточил в себе знание тригонометрии, логарифмов, пределов, производных.

А вот сегодня я поймал себя на том, что не мог точно [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.feodosian.com/wp-content/uploads/2008/10/kolmogorov-m.jpg"><img src="http://www.feodosian.com/wp-content/uploads/2008/10/kolmogorov-m.jpg" alt="Колмогоров Андрей Николаевич. Фото с сайта http://www.kolmogorov.pms.ru" title="Колмогоров Андрей Николаевич. Фото с сайта http://www.kolmogorov.pms.ru" class="alignnone size-full wp-image-460" /></a><br />
На этой фотографии великий русский математик А.Н. Колмогоров, по учебнику которого я еще в школе изучал азы алгебры. И притом довольно неплохо знал я эту алгебру, а за 3 попытки поступления во ВТУЗ просто до блеска отточил в себе знание тригонометрии, логарифмов, пределов, производных.<br />
<span id="more-459"></span><br />
А вот сегодня я поймал себя на том, что не мог точно вспомнить что делать при решении квадратного уравнения после нахождения дескриминанта(точнее перепутал расстановку коэфициентов a,b,c). Всего полгода назад я еще учился во ВТУЗЕ (сам ушел). Работаю программистом, читаю много статей, сам пытаюсь писать, но как-то не нужны была мне математика пока не полез во что-то более сложное. А тут открыл <a href="http://thinkpython.com">thinkpython</a>, глава об итерациях(циклах), а там пример<br />
<div id="attachment_462" class="wp-caption alignnone" style="width: 510px"><a href="http://www.feodosian.com/wp-content/uploads/2008/10/sqrt.png"><img src="http://www.feodosian.com/wp-content/uploads/2008/10/sqrt.png" alt="newton&#039;s method" title="sqrt" width="500" height="374" class="size-full wp-image-462" /></a><p class="wp-caption-text">Newton's method</p></div></p>
<p>И тут я завис - думаю че это за фигня?! Уравнение какое-то дурацкое, непонятное, а ведь на смысле этого метода и построен пример, с помощью него автор хотел наглядно показать зачем этот while нужен, наивно полагая, что я знаю метод Ньютона. Понятно, что я все прочитал и разобрался. Но дело в том, что занимаясь программированием и работая над разными задачами, я ни разу не углубился настолько, чтобы использовать науку в своих скриптах/программах. В голове возникла дилемма: или я правда занимаюсь чем-то слишком простым или то что я делаю нормально - не всем же функции свертывать и ряды Фурье решать :).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.feodosian.com/2008/10/methematics-knowledge-dlemma/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Меня теперь нет vkontakte.ru</title>
		<link>http://www.feodosian.com/2008/10/menya-teper-net-vkontakteru/</link>
		<comments>http://www.feodosian.com/2008/10/menya-teper-net-vkontakteru/#comments</comments>
		<pubDate>Mon, 27 Oct 2008 22:21:14 +0000</pubDate>
		<dc:creator>darkstar</dc:creator>
		
		<category><![CDATA[Новости]]></category>

		<guid isPermaLink="false">http://www.feodosian.com/?p=470</guid>
		<description><![CDATA[Я удалил свою страничку. Вскоре и мое имя поменяеться на &#8220;ЖЪРЧИК 8&#8243; :-).
]]></description>
			<content:encoded><![CDATA[<p>Я удалил свою страничку. Вскоре и мое имя поменяеться на &#8220;ЖЪРЧИК 8&#8243; :-).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.feodosian.com/2008/10/menya-teper-net-vkontakteru/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Голевой шедевр!</title>
		<link>http://www.feodosian.com/2008/10/goal-is-like-art/</link>
		<comments>http://www.feodosian.com/2008/10/goal-is-like-art/#comments</comments>
		<pubDate>Sun, 26 Oct 2008 11:46:33 +0000</pubDate>
		<dc:creator>darkstar</dc:creator>
		
		<category><![CDATA[Новости]]></category>

		<category><![CDATA[искусство]]></category>

		<category><![CDATA[Футбол]]></category>

		<guid isPermaLink="false">http://www.feodosian.com/?p=466</guid>
		<description><![CDATA[Гол Романа Монарева из Шинника:

]]></description>
			<content:encoded><![CDATA[<p>Гол Романа Монарева из Шинника:<br />
<OBJECT width="470" height="353"><PARAM name="movie" value="http://video.rutube.ru/f8e10b05f5eb4a72fe085ca112f6b31c"></PARAM><PARAM name="wmode" value="window"></PARAM><PARAM name="allowFullScreen" value="true"></PARAM><EMBED src="http://video.rutube.ru/f8e10b05f5eb4a72fe085ca112f6b31c" type="application/x-shockwave-flash" wmode="window" width="470" height="353" allowFullScreen="true" ></EMBED></OBJECT></p>
]]></content:encoded>
			<wfw:commentRss>http://www.feodosian.com/2008/10/goal-is-like-art/feed/</wfw:commentRss>
		</item>
		<item>
		<title>LogicComposer - логика в динамике</title>
		<link>http://www.feodosian.com/2008/10/logiccomposer/</link>
		<comments>http://www.feodosian.com/2008/10/logiccomposer/#comments</comments>
		<pubDate>Wed, 22 Oct 2008 21:31:30 +0000</pubDate>
		<dc:creator>darkstar</dc:creator>
		
		<category><![CDATA[Новости]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[разработка]]></category>

		<guid isPermaLink="false">http://www.feodosian.com/?p=434</guid>
		<description><![CDATA[Еще с пол-года назад приходила ко мне мысль - подчинить логику динамике или просто говоря создавать сложные древовидные цепочки условий динамически, тоесть на основе опять-таки каких-либо других логических условий, полученных данных, генерируя циклически и т.п. Первые попытки я даже не выносил на всеобщее рассмотрение. Было создание Коллектора-Декоратора WHERE и HAVING условий для Zend_Db_Select. Смысл был [...]]]></description>
			<content:encoded><![CDATA[<p>Еще с пол-года назад приходила ко мне мысль - подчинить логику динамике или просто говоря создавать сложные древовидные цепочки условий динамически, тоесть на основе опять-таки каких-либо других логических условий, полученных данных, генерируя циклически и т.п. Первые попытки я даже не выносил на всеобщее рассмотрение. Было создание <a href="http://yomoyo.feodosian.com/srcFiles/ZDBSCCD/ZDBSCriteriaCollectingDecorator.php">Коллектора-Декоратора</a> WHERE и HAVING условий для Zend_Db_Select. Смысл был прост - создать наборы условий в зависимости , например, от открытого сейчас раздела сайта, а далее продекорировать ими объект Zend_Db_Select в зависимости от полученных из запроса (Request) данных. Тогда работа велась с Zend_Datagrid (привет Baziak &amp; Bashmach) и данные было удобно выгребать одним, пусть объемным(это не значит медленным), достаточно оптимизированным SQL запросом, это реально работало, но было довольно узкоспециализированным решением, так как такой подход к построению запросов не всегда себя оправдывает. На этом предистория заканчивается и начинается повествование о LogicComposer :-).</p>
<p><span id="more-434"></span> </p>
<p>Сама идея состоит в том, чтобы создавать древовидные цепочки логических условий (AND/OR) с неограниченной степенью вложенности, ну например:</p>

<div class="wp_syntax"><div class="code"><pre class="sql sql" style="font-family:monospace;"><span style="color: #66cc66;">&#40;</span>a <span style="color: #66cc66;">&lt;</span> b<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AND</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span>c <span style="color: #66cc66;">==</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">OR</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span>n <span style="color: #66cc66;">&lt;</span> <span style="color: #cc66cc;">6</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AND</span> <span style="color: #66cc66;">&#40;</span>h <span style="color: #66cc66;">&gt;</span> 0<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">OR</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span>m <span style="color: #66cc66;">&lt;</span> 0<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">OR</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span>j <span style="color: #66cc66;">==</span> <span style="color: #cc66cc;">4</span><span style="color: #66cc66;">&#41;</span> 
<span style="color: #993333; font-weight: bold;">AND</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span>l <span style="color: #66cc66;">==</span> <span style="color: #ff0000;">'abc'</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AND</span>  <span style="color: #66cc66;">&#40;</span>k <span style="color: #66cc66;">==</span> <span style="color: #ff0000;">'sc'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">OR</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span>s <span style="color: #66cc66;">&lt;</span> 0<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AND</span> <span style="color: #66cc66;">&#40;</span>i <span style="color: #66cc66;">&gt;</span> <span style="color: #cc66cc;">6</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></pre></div></div>

<p>Запутанно блин, запутанно и со скобками можно париться долго, считая где они начинаются, где заканчиваются, а тут еще и нифига не понятно для чего каждая ветка условий и куда к ней добавить условие. А когда еще и эти условия собираются для, например, SQL запроса на основе данных других SQL запросов и данных HTTP запроса в разных частях исходника, написанного каким-то &#8220;талантом&#8221;, а потом еще и компонуются неправильно, потому что он также как и вы с моим примером ошибся в скобках, создавая эти условия кусочно. Вот где-то в таких условиях у меня появилось желание написать LogicComposer.</p>
<p>Что я сделал - создал класс на PHP, который релизует GOF паттерн композит (composite) и научил его правильно компоновать на выходе, те условия которые он в себя насобирал. Начнем с примера, построим условие, написанное выше, с помощью LogicComposer:</p>

<div class="wp_syntax"><div class="code"><pre class="php php" style="font-family:monospace;"><span style="color: #000088;">$myLogic</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> LogicComposer<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>; 
<span style="color: #000088;">$myLogic</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">start</span><span style="color: #009900;">&#40;</span><span style="">'a &lt; b'</span><span style="color: #009900;">&#41;</span> 
<span style="color: #339933;">-&gt;</span><span style="color: #004000;">addAND</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">mark</span><span style="color: #009900;">&#40;</span><span style="">'myLogic1'</span><span style="color: #009900;">&#41;</span> 
<span style="color: #339933;">-&gt;</span><span style="color: #004000;">start</span><span style="color: #009900;">&#40;</span><span style="">'c == 1'</span><span style="color: #009900;">&#41;</span> 
<span style="color: #339933;">-&gt;</span><span style="color: #004000;">addOR</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">start</span><span style="color: #009900;">&#40;</span><span style="">'n &lt; 6'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">addAND</span><span style="color: #009900;">&#40;</span><span style="">'h &gt; 0'</span><span style="color: #009900;">&#41;</span> 
<span style="color: #339933;">-&gt;</span><span style="color: #004000;">jump</span><span style="color: #009900;">&#40;</span><span style="">'myLogic1'</span><span style="color: #009900;">&#41;</span> 
<span style="color: #339933;">-&gt;</span><span style="color: #004000;">addOR</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> 
<span style="color: #339933;">-&gt;</span><span style="color: #004000;">start</span><span style="color: #009900;">&#40;</span><span style="">'m &lt; 0'</span><span style="color: #009900;">&#41;</span> 
<span style="color: #339933;">-&gt;</span><span style="color: #004000;">addOR</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> 
<span style="color: #339933;">-&gt;</span><span style="color: #004000;">start</span><span style="color: #009900;">&#40;</span><span style="">'j==4'</span><span style="color: #009900;">&#41;</span> 
<span style="color: #339933;">-&gt;</span><span style="color: #004000;">addAND</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">mark</span><span style="color: #009900;">&#40;</span><span style="">'mySubLogic'</span><span style="color: #009900;">&#41;</span> 
<span style="color: #339933;">-&gt;</span><span style="color: #004000;">start</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> 
<span style="color: #339933;">-&gt;</span><span style="color: #004000;">start</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;l == 'abc'&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">addAND</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;k == 'sc'&quot;</span><span style="color: #009900;">&#41;</span> 
<span style="color: #339933;">-&gt;</span><span style="color: #004000;">jump</span><span style="color: #009900;">&#40;</span><span style="">'mySubLogic'</span><span style="color: #009900;">&#41;</span> 
<span style="color: #339933;">-&gt;</span><span style="color: #004000;">addOR</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> 
<span style="color: #339933;">-&gt;</span><span style="color: #004000;">start</span><span style="color: #009900;">&#40;</span><span style="">'s &lt; 0'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">addAND</span><span style="color: #009900;">&#40;</span><span style="">'i &gt; 6'</span><span style="color: #009900;">&#41;</span>;
<span style="color: #990000;">echo</span> <span style="color: #000088;">$myLogic</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">toText</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;</pre></div></div>

<p>Мне стало понятнее, о скобках и синтаксических операторах логики позаботиться сам класс, но глупо было бы изобретать свой псевдоязык описание сабжа только для этого. В участке кода, что я привел в пример, видны 2 не особо понятных метода - <em>mark()</em> и <em>jump()</em>. Эти методы позволяют маркировать любую ветку логических условий и, соответственно, возвращаться к любой из промаркированных веток для добавления в нее новых условий или веток.<br />
Представим, что нам понадобилось добавить условие в ветку которая прибавлена ANDом после (j == 4), в нашем примере мы промаркировали ее как mySublogic, для этого нужно снова вернуться в эту ветку и добавить условие:</p>

<div class="wp_syntax"><div class="code"><pre class="php php" style="font-family:monospace;"><span style="color: #000088;">$myLogic</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">jump</span><span style="color: #009900;">&#40;</span><span style="">'mySubLogic'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">addOR</span><span style="color: #009900;">&#40;</span><span style="">'f &gt; 9'</span><span style="color: #009900;">&#41;</span>; 
<span style="color: #990000;">echo</span> <span style="color: #000088;">$myLogic</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">toText</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;</pre></div></div>

<p>Результатом будет:</p>

<div class="wp_syntax"><div class="code"><pre class="sql sql" style="font-family:monospace;"><span style="color: #66cc66;">&#40;</span>a <span style="color: #66cc66;">&lt;</span> b<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AND</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span>c <span style="color: #66cc66;">==</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">OR</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span>n <span style="color: #66cc66;">&lt;</span> <span style="color: #cc66cc;">6</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AND</span> <span style="color: #66cc66;">&#40;</span>h <span style="color: #66cc66;">&gt;</span> 0<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">OR</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span>m <span style="color: #66cc66;">&lt;</span> 0<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">OR</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span>j<span style="color: #66cc66;">==</span><span style="color: #cc66cc;">4</span><span style="color: #66cc66;">&#41;</span> 
<span style="color: #993333; font-weight: bold;">AND</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span>l <span style="color: #66cc66;">==</span> <span style="color: #ff0000;">'abc'</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AND</span> <span style="color: #66cc66;">&#40;</span>k <span style="color: #66cc66;">==</span> <span style="color: #ff0000;">'sc'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">OR</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span>s <span style="color: #66cc66;">&lt;</span> 0<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AND</span> <span style="color: #66cc66;">&#40;</span>i <span style="color: #66cc66;">&gt;</span> <span style="color: #cc66cc;">6</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">OR</span> <span style="color: #66cc66;">&#40;</span>f <span style="color: #66cc66;">&gt;</span> <span style="color: #cc66cc;">9</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></pre></div></div>

<p>Теперь постараюсь прояснить, то что возможно еще не всем понятно в использовании класса. Любой метод задающий условие - <em>start()</em>, <em>addOR()</em>, <em>addAND(),</em> вызванный без аргументов, создает новую ветку условий а вы выходе вернет уже объект этой ветки, при вызове данного метода с аргументом условия, то это условие будет добавлено в текущую ветку условий, а на выходе будет объект текущего условия. Подробнее разобрав пример вы быстро все поймете, а составив пару простеньких условий, так я думаю вы уже четко представите, как использовать этот класс в своих целях.<br />
В процессе реализации класса я несколько раз искоренял костыли и пытался сделать использование класса логичнее и проще, но сохранить гибкость. Скажу сразу сам класс прошел испытания, так сказать &#8220;в бою&#8221; - создавал набор логических условий в поисковом sql запросе, притом переделывать логику этого поиска было нельзя, а вот компановку - пришлось, так как были явные ошибки, приводящие в тому что с обязательными условиями компановались ORом условия, которые очень часто давали true&#8230;</p>
<p>Также в классе учтены несколько нужных штучек:</p>
<ul>
<li>Пустые группы(без стартовых условий и подусловий) рендериться не будут;</li>
<li>Если не задано стартовое условие/группа условий, то первое заданное в группе условие станет стартовым, а при определении стартового встанет на свое место с заданной для него логикой;</li>
<li>метод reset(), который позволяет полностью сбросить содержимое группы, включая стартовое условие;</li>
<li>методы <em>addANDUnless()</em> и <em>addORUnless()</em>, которые добавят условие только при выполнении условия поданного в них :) (удобно, когда сам не знаешь какая логика нужна OR или AND);</li>
<li>magic method <em>__to String()</em>, echo $myLogic выведет в браузер сформированное условие;</li>
<li>возможность использования адаптеров синтаксических едениц, определяющих условия. Например, использовать вместо OR ||, а вместо AND &amp;&amp;.</li>
</ul>
<p>Сама идея и код класса открыты для всеобщего использования и критики.<br />
Скачать:<br />
<a href="http://www.feodosian.com/downloads/logiccomposer/logiccomposer-0.1.3b.zip">http://www.feodosian.com/downloads/logiccomposer/logiccomposer-0.1.3b.zip</a><br />
svn:<br />
<a href="http://anonymous:anonymous@svn.yomoyo.net/ideas/LogicComposer/">http://anonymous:anonymous@svn.yomoyo.net/ideas/LogicComposer/</a><br />
Поглядеть исходники через web:<br />
<a href="http://yomoyo.feodosian.com/srcFiles/LogicComposer/">http://yomoyo.feodosian.com/srcFiles/LogicComposer/</a><br />
<br/>Очень хотелось бы услышать или прочитать критику.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.feodosian.com/2008/10/logiccomposer/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Металлист - Арсенал</title>
		<link>http://www.feodosian.com/2008/10/metallist-arsenal/</link>
		<comments>http://www.feodosian.com/2008/10/metallist-arsenal/#comments</comments>
		<pubDate>Sun, 19 Oct 2008 23:29:41 +0000</pubDate>
		<dc:creator>darkstar</dc:creator>
		
		<category><![CDATA[Новости]]></category>

		<category><![CDATA[Футбол]]></category>

		<category><![CDATA[Харьков]]></category>

		<category><![CDATA[чемпионат Украины]]></category>

		<guid isPermaLink="false">http://www.feodosian.com/?p=443</guid>
		<description><![CDATA[Очередной тур чемпионата Украины снова привел нас на ОСК Металлист.

Первый тайм игры прошел довольно вяло, да и Металлист как-то не хотел разозлиться, все таки свое поле, свой стадион, а арсы реально прессингуют. Разошлись нулями.
После перерыва на поле появился всем известный и грозный Металлист, который начал рвать и мететать красно-синих, сначала дубль Жажи и карточка Обрадовичу, [...]]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_444" class="wp-caption aligncenter" style="width: 510px"><a href="http://www.feodosian.com/wp-content/uploads/2008/10/blog-fcmh-fcak.png"><img src="http://www.feodosian.com/wp-content/uploads/2008/10/blog-fcmh-fcak.png" alt="ФК Металлист" title="blog-fcmh-fcak" width="500" height="325" class="size-full wp-image-444" /></a><p class="wp-caption-text">ФК Металлист</p></div><br />
Очередной тур чемпионата Украины снова привел нас на ОСК Металлист.<br />
<span id="more-443"></span><br />
Первый тайм игры прошел довольно вяло, да и Металлист как-то не хотел разозлиться, все таки свое поле, свой стадион, а арсы реально прессингуют. Разошлись нулями.<br />
После перерыва на поле появился всем известный и грозный Металлист, который начал рвать и мететать красно-синих, сначала дубль Жажи и карточка Обрадовичу, очень спорная и я так и не понял за что, фола последней надежды там не было. Стадио начало разрывать в злостных репликах и речевок в сторону судьи (сам не выдержал&#8230; нервы были на пределе), арсы же не упустили момент и заколотили круглого в сетку Горяинову. Но Слюсар не дал приемуществу остаться минимальным, а судья доиграть Металлисту хотя бы 10ром, с поля ушел Фомин.<br />
В целом я остался очень доволен игрой и все больше мне нравиться как играет Металлист.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.feodosian.com/2008/10/metallist-arsenal/feed/</wfw:commentRss>
		</item>
	<feedburner:awareness xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://api.feedburner.com/awareness/1.0/GetFeedData?uri=mixadior</feedburner:awareness></channel>
</rss><!-- Dynamic Page Served (once) in 1.590 seconds -->
