<?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" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Блог FX'а</title>
	
	<link>http://blog.fxposter.org</link>
	<description>Записки [web]девелопера</description>
	<pubDate>Tue, 06 May 2008 20:33:53 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/fxposter" type="application/rss+xml" /><item>
		<title>Интересности #1</title>
		<link>http://feeds.feedburner.com/~r/fxposter/~3/284883067/</link>
		<comments>http://blog.fxposter.org/2008/05/06/it-is-interesting-1/#comments</comments>
		<pubDate>Tue, 06 May 2008 20:25:13 +0000</pubDate>
		<dc:creator>FX Poster</dc:creator>
		
		<category><![CDATA[Web]]></category>

		<category><![CDATA[Программирование]]></category>

		<category><![CDATA[Разное]]></category>

		<guid isPermaLink="false">http://blog.fxposter.org/?p=416</guid>
		<description><![CDATA[За последнее время набрел на несколько отличных блогов и статей, которыми бы хотелось с вами поделиться.
Начну, пожалуй с блога моего &#8220;знакомого&#8221; (он меня, наверное, в лицо и не помнит), с которым я познакомился на Exception #07, организатором которой он собственно и является - &#8220;Иван Пирог в режиме онлайн&#8220;. Он открыл его буквально несколько дней назад [...]]]></description>
			<content:encoded><![CDATA[<p>За последнее время набрел на несколько отличных блогов и статей, которыми бы хотелось с вами поделиться.</p>
<p>Начну, пожалуй с блога моего &#8220;знакомого&#8221; (он меня, наверное, в лицо и не помнит), с которым я познакомился на Exception #07, организатором которой он собственно и является - &#8220;<a href="http://www.ivanpirog.com/">Иван Пирог в режиме онлайн</a>&#8220;. Он открыл его буквально несколько дней назад и пока что там находятся только несколько статей по &#8220;самомотивации&#8221;. Может эта тема и не особенно интересна как таковая, но блог почитать очень советую - по-моему пишет Ваня просто замечательно. Кстати, у Юры Артюха эта тема тоже недавно <a href="http://cssing.org.ua/2008/05/04/idea-to-action-smth-is-missin/">поднималась</a>, сговорились что ли. <img src='http://blog.fxposter.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Следующим будет блог, на который я попал как раз таки из блога Вани - <a href="http://mourk.com/blog/">Мурк дотком</a>. Автор пишет о разном. Статьи очень интересны, особенно мне понравились последние статьи об agile-методологиях программирования. Я о методологиях в принципе никогда ничего не читал, но после <a href="http://mourk.com/blog/2008/04/21/fake-scrum/">этих</a> <a href="http://mourk.com/blog/2008/05/05/scaling-agile/">двух</a> статей я <strong>очень</strong> заинтересовался этой темой. Да и вообще - всегда приятно почитать умного человека.</p>
<p>Третьей, и последней &#8220;интересностью&#8221; будет не блог, а статья, ссылку на которую я <a href="http://alenacpp.blogspot.com/2008/05/blog-post.html">почерпнул</a> у Алёны Сагалаевой - статья называется &#8220;<a href="http://www.pcmag.ru/issues/detail.php?ID=9972">Редкая профессия</a>&#8221; и повествует о разработке компилятора C++, которую проводила наша, отечественная комманда разработчиков в составе всего двух человек. Рекомендую. Настоятельно рекомендую!</p>
<p><strong>UPDATE</strong>: Да, кстати, совсем забыл - теперь я регулярно заношу всякие интересные статьи <a href="http://del.icio.us/fxposter">себе в del.icio.us</a>. Можете <a href="http://feeds.feedburner.com/fxposter/delicious">подписываться</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/fxposter?a=Np2WqH"><img src="http://feeds.feedburner.com/~f/fxposter?i=Np2WqH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/fxposter?a=heV8Lh"><img src="http://feeds.feedburner.com/~f/fxposter?i=heV8Lh" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/fxposter?a=mRKKuh"><img src="http://feeds.feedburner.com/~f/fxposter?i=mRKKuh" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/fxposter?a=fbbkSH"><img src="http://feeds.feedburner.com/~f/fxposter?i=fbbkSH" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/fxposter/~4/284883067" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.fxposter.org/2008/05/06/it-is-interesting-1/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=fxposter&amp;itemurl=http%3A%2F%2Fblog.fxposter.org%2F2008%2F05%2F06%2Fit-is-interesting-1%2F</feedburner:awareness><feedburner:origLink>http://blog.fxposter.org/2008/05/06/it-is-interesting-1/</feedburner:origLink></item>
		<item>
		<title>Проект на Symfony</title>
		<link>http://feeds.feedburner.com/~r/fxposter/~3/284869999/</link>
		<comments>http://blog.fxposter.org/2008/05/06/symfony-project/#comments</comments>
		<pubDate>Tue, 06 May 2008 20:07:17 +0000</pubDate>
		<dc:creator>FX Poster</dc:creator>
		
		<category><![CDATA[Web]]></category>

		<category><![CDATA[Программирование]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Symfony]]></category>

		<guid isPermaLink="false">http://blog.fxposter.org/?p=415</guid>
		<description><![CDATA[В последнее время очень хочется написать что-нибудь на Symfony - для себя, для других, что-то открытое и интересное - наподобии материала о создании askeet&#8217;а, который я, к сожалению, до конца дочитать еще не успел (но я близок к завершению!), и чтение которого приносит мне реальное удовольствие.
Причем хочется сделать что-то подобное не только потому, что я [...]]]></description>
			<content:encoded><![CDATA[<p>В последнее время очень хочется написать что-нибудь на Symfony - для себя, для других, что-то открытое и интересное - наподобии материала о создании askeet&#8217;а, который я, к сожалению, до конца дочитать еще не успел (но я близок к завершению!), и чтение которого приносит мне реальное удовольствие.</p>
<p>Причем хочется сделать что-то подобное не только потому, что я &#8220;хочу показать, что symfony - это круто&#8221;, &#8220;хочу показать, что я крутой программист&#8221; - нет, скорее даже наоборот. Текущий мой проект на работе сейчас усиленно мной допиливается до состояния, в котором его хоть как-то можно будет показать людям, но внутренний код проекта сейчас пребывает, как мне кажется, в плачевном состоянии - кардинально его рефакторить времени и (если уж честно) опыта нет, а тот код, который сейчас там есть мне кажется абсолютно неоптимальным (и некрасивым). У меня  в последнее время стало появляться сильное ощущение того, что у меня просто не хватает опыта для того, чтобы реально расставить в рабочем проекте все по полочкам, а помогать мне в этом никто не будет, к сожалению. Поэтому я и хочу сделать какой-нибудь небольшой, несложный (по крайней мере, для начала) проект, смотря на разработку которого, вы, мои читатели, показывали бы мне на что мне стоит обратить внимание, что получается вообще плохо, какие части следует полностью пересмотреть. Я знаю, среди вам есть люди, имеющие гораздо больше опыта в разработке веб-приложений, чем я.</p>
<p>Сейчас для меня самый главный вопрос - что именно делать. Есть варианты:</p>
<ul>
<li>Блог - нужен, скорее всего, будет только мне, да и&#8230; сколько людей уже строило свои блоги&#8230; я, конечно, могу быть одним из них, но&#8230; в общем, если других вариантов не будет - возьмусь за блог</li>
<li>Простенькую социальную сеть. Даже не знаю, на какую тему, и что там вообще должно быть&#8230;</li>
<li>Может, что-нибудь еще&#8230; Хочу адекватные по сложности (и по времени разработки!) варианты услышать от вас. Что бы <strong>вы</strong> хотели, или что бы мне, на ваш взгляд, могло бы быть наиболее полезно.</li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/fxposter?a=fXMz8H"><img src="http://feeds.feedburner.com/~f/fxposter?i=fXMz8H" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/fxposter?a=dddV7h"><img src="http://feeds.feedburner.com/~f/fxposter?i=dddV7h" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/fxposter?a=zkCMfh"><img src="http://feeds.feedburner.com/~f/fxposter?i=zkCMfh" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/fxposter?a=rdvYbH"><img src="http://feeds.feedburner.com/~f/fxposter?i=rdvYbH" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/fxposter/~4/284869999" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.fxposter.org/2008/05/06/symfony-project/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=fxposter&amp;itemurl=http%3A%2F%2Fblog.fxposter.org%2F2008%2F05%2F06%2Fsymfony-project%2F</feedburner:awareness><feedburner:origLink>http://blog.fxposter.org/2008/05/06/symfony-project/</feedburner:origLink></item>
		<item>
		<title>JQuery Dialogs == nyroModal</title>
		<link>http://feeds.feedburner.com/~r/fxposter/~3/284862040/</link>
		<comments>http://blog.fxposter.org/2008/05/06/jquery-dialogs-nyromodal/#comments</comments>
		<pubDate>Tue, 06 May 2008 19:52:37 +0000</pubDate>
		<dc:creator>FX Poster</dc:creator>
		
		<category><![CDATA[Web]]></category>

		<category><![CDATA[Программирование]]></category>

		<category><![CDATA[JavaScript]]></category>

		<category><![CDATA[jQuery]]></category>

		<category><![CDATA[nyroModal]]></category>

		<category><![CDATA[Thickbox]]></category>

		<guid isPermaLink="false">http://blog.fxposter.org/?p=414</guid>
		<description><![CDATA[Давно ничего не писал - как-то не о чем&#8230; Праздники, работа, учеба&#8230; Единственное, что реально интересно из этого списка - это работа, но&#8230; к сожалению, как раз она и &#8220;способствует&#8221; отсутствию статей в этом блоге - её много и на блог времени просто не остается&#8230; А написать, к счастью, есть о чем.  
Сегодня речь [...]]]></description>
			<content:encoded><![CDATA[<p>Давно ничего не писал - как-то не о чем&#8230; Праздники, работа, учеба&#8230; Единственное, что реально интересно из этого списка - это работа, но&#8230; к сожалению, как раз она и &#8220;способствует&#8221; отсутствию статей в этом блоге - её много и на блог времени просто не остается&#8230; А написать, к счастью, есть о чем. <img src='http://blog.fxposter.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Сегодня речь пойдет о так называемых dialog widget&#8217;ах (периодически, слышу, что их также называют js-popup&#8217;ами). Недавно понадобилось реализовать такой функционал в моём &#8220;рабочем&#8221; проекте и стал вопрос об использовании существующих решений.</p>
<p>В проекте я использую <a href="http://jquery.com/">jQuery</a> и, соответственно, выбирал системку, которая базировалась бы на нем. Всё началось с <a href="http://jquery.com/demo/thickbox/">Thickbox&#8217;а</a>, который я довольно долгое время и использовал, но&#8230; Кое-что мне в нем не нравилось изначально:</p>
<ul>
<li>Минимум настроек</li>
<li>Отличие от большинства плагинов jQuery</li>
<li>Отсутствие развития (последняя версия вышла в августе 2007-го года и зависела еще от jQuery 1.1x, хотя и с 1.2 тоже работала нормально)</li>
</ul>
<p>&#8230; в итоге эти недостатки привели ко вполне логичному концу - я не мог реализовать 2 разных &#8220;диалога&#8221; на одной странице не &#8220;вторгаясь&#8221; в сам код Thickbox&#8217;а, причем застрял на мелочи - удиалогов должны были различаться бэкграунды - у одного он должен был быть полностью залит определенным цветом, а второй должен был быть полупрозрачным. Причем в первом случае сделать фон непрозрачным мне пришлось через CSS, хотя гораздо логичнее было бы предоставить эту возможность самой функции создания диалога.</p>
<p>В общем, после недолгих поисков на свет был извлечен молодой, но очень быстро развивающийся<br />
проект &#8220;окошек&#8221; на jQuery, о котором я сегодня и хочу рассказать - это <a href="http://nyromodal.nyrodev.com/">nyroModal</a>. Проекту еще нет и месяца, но основная функциональность там уже реализована (а как по мне - так больше и не нужно), и что самое главное - им очень удобно пользоваться.</p>
<p>Подробное описание (а также демонтрацию возможностей nyroModal) можно посмотреть на <a href="http://nyromodal.nyrodev.com/">странице самого проекта</a>, а я здесь приведу лишь несколько примеров использования.</p>
<p>Самый простой способ, при котором даже не нужно лезть в JavaScript - это присвоение ссылкам класса nyroModal:</p>
<pre><code class="html">&lt;a href="demo.html" class="nyroModal"&gt;Ajax&lt;/a&gt;</code></pre>
<p>Эта ссылка откроет вам файл demo.html в &#8220;окошке&#8221;.</p>
<pre><code class="html">&lt;a href="demo.html#demo" class="nyroModal"&gt;Ajax&lt;/a&gt;</code></pre>
<p>Эта - сделает почти то же самое, только в окошке будет только инфа из блока с id == &#8220;test&#8221; из файла demo.html.</p>
<pre><code class="html">&lt;a href="#demo" class="nyroModal"&gt;No Ajax!&lt;/a&gt;</code></pre>
<p>А здесь у нас в окно попадет содержимое блока с id == &#8220;test&#8221; из текущей страницы.</p>
<p>Если же нужны какие-то дополнительные параметры (значения или callback-функции), то здесь уже без &#8220;ручного&#8221; JavaScript&#8217;а не обойтись:</p>
<pre><code class="html">&lt;a href="#demo" id="no-ajax"&gt;No Ajax!&lt;/a&gt;
&lt;script type="text/javascript"&gt;
$('#no-ajax').nyroModal({
  bgColor: '#FFFFFF',
  showBackground: function(elts, settings, callback) {
    // elts.bg.css({opacity:0}).fadeTo(500, 0.75, callback);
    callback();
  },
  hideBackground: function(elts, settings, callback) {
    // elts.bg.fadeOut(300, callback);
    callback();
  }
})
&lt;/script&gt;</code></pre>
<p>Таким образом мы заменим цвет фона на белый + уберем прозрачность и анимацию при появлении/исчезновении фона.</p>
<p>На этом, наверное, будем прощаться. Если остались вопросы - обращайтесь. <img src='http://blog.fxposter.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/fxposter?a=301EHH"><img src="http://feeds.feedburner.com/~f/fxposter?i=301EHH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/fxposter?a=xY56Uh"><img src="http://feeds.feedburner.com/~f/fxposter?i=xY56Uh" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/fxposter?a=vO3OLh"><img src="http://feeds.feedburner.com/~f/fxposter?i=vO3OLh" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/fxposter?a=YvOeMH"><img src="http://feeds.feedburner.com/~f/fxposter?i=YvOeMH" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/fxposter/~4/284862040" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.fxposter.org/2008/05/06/jquery-dialogs-nyromodal/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=fxposter&amp;itemurl=http%3A%2F%2Fblog.fxposter.org%2F2008%2F05%2F06%2Fjquery-dialogs-nyromodal%2F</feedburner:awareness><feedburner:origLink>http://blog.fxposter.org/2008/05/06/jquery-dialogs-nyromodal/</feedburner:origLink></item>
		<item>
		<title>Диалог в ICQ</title>
		<link>http://feeds.feedburner.com/~r/fxposter/~3/277852527/</link>
		<comments>http://blog.fxposter.org/2008/04/25/dialogue-in-icq/#comments</comments>
		<pubDate>Fri, 25 Apr 2008 20:44:19 +0000</pubDate>
		<dc:creator>FX Poster</dc:creator>
		
		<category><![CDATA[Разное]]></category>

		<guid isPermaLink="false">http://blog.fxposter.org/2008/04/25/dialogue-in-icq/</guid>
		<description><![CDATA[Диалог в аське с одногрупником:
 Чесноков (23:26:17 25/04/2008)
прив
fxposter (23:33:43 25/04/2008)
хай
Чесноков (23:33:54 25/04/2008)
проснулся.
fxposter (23:34:01 25/04/2008)
не ложился
Чесноков (23:34:05 25/04/2008)
спок. я дрыхнуть&#8230;.
Чесноков (23:34:07 25/04/2008)
ааа
После этого &#8220;Чесноков&#8221; отключился. Сижу, гадаю - что бы это всё значило.  
PS. Всех с праздничком! 
]]></description>
			<content:encoded><![CDATA[<p>Диалог в аське с одногрупником:</p>
<blockquote><p> Чесноков (23:26:17 25/04/2008)<br />
прив</p>
<p>fxposter (23:33:43 25/04/2008)<br />
хай</p>
<p>Чесноков (23:33:54 25/04/2008)<br />
проснулся.</p>
<p>fxposter (23:34:01 25/04/2008)<br />
не ложился</p>
<p>Чесноков (23:34:05 25/04/2008)<br />
спок. я дрыхнуть&#8230;.</p>
<p>Чесноков (23:34:07 25/04/2008)<br />
ааа</p></blockquote>
<p>После этого &#8220;Чесноков&#8221; отключился. Сижу, гадаю - что бы это всё значило. <img src='http://blog.fxposter.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><em><strong>PS</strong>. Всех с праздничком! </em></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/fxposter?a=coXhG2G"><img src="http://feeds.feedburner.com/~f/fxposter?i=coXhG2G" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/fxposter?a=aojBocg"><img src="http://feeds.feedburner.com/~f/fxposter?i=aojBocg" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/fxposter?a=ETQxW6g"><img src="http://feeds.feedburner.com/~f/fxposter?i=ETQxW6g" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/fxposter?a=JRLCAtG"><img src="http://feeds.feedburner.com/~f/fxposter?i=JRLCAtG" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/fxposter/~4/277852527" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.fxposter.org/2008/04/25/dialogue-in-icq/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=fxposter&amp;itemurl=http%3A%2F%2Fblog.fxposter.org%2F2008%2F04%2F25%2Fdialogue-in-icq%2F</feedburner:awareness><feedburner:origLink>http://blog.fxposter.org/2008/04/25/dialogue-in-icq/</feedburner:origLink></item>
		<item>
		<title>Ноутбук</title>
		<link>http://feeds.feedburner.com/~r/fxposter/~3/276407828/</link>
		<comments>http://blog.fxposter.org/2008/04/23/notebook-2/#comments</comments>
		<pubDate>Wed, 23 Apr 2008 20:31:11 +0000</pubDate>
		<dc:creator>FX Poster</dc:creator>
		
		<category><![CDATA[Разное]]></category>

		<category><![CDATA[Notebook]]></category>

		<guid isPermaLink="false">http://blog.fxposter.org/2008/04/23/notebook-2/</guid>
		<description><![CDATA[Купил я себе всё-таки ноут. С 4-й (четвертой!) попытки, но купил.

Да, это Acer. Да, вы мне можете говорить, что хотите (что Ацер - говно, что я лоханулся и т.д.). Время покажет. Да и не последний это мой ноутбук. 
]]></description>
			<content:encoded><![CDATA[<p>Купил я себе всё-таки ноут. С 4-й (четвертой!) попытки, но купил.</p>
<p><a href="http://blog.fxposter.org/wp-content/uploads/2008/04/notebook.jpg" title="Acer Aspire 4920G"><img src="http://blog.fxposter.org/wp-content/uploads/2008/04/notebooksmall.JPG" alt="Acer Aspire 4920G" /></a></p>
<p>Да, это Acer. Да, вы мне можете говорить, что хотите (что Ацер - говно, что я лоханулся и т.д.). Время покажет. Да и не последний это мой ноутбук. <img src='http://blog.fxposter.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/fxposter?a=OiUxmYG"><img src="http://feeds.feedburner.com/~f/fxposter?i=OiUxmYG" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/fxposter?a=NxToNvg"><img src="http://feeds.feedburner.com/~f/fxposter?i=NxToNvg" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/fxposter?a=ftoj5qg"><img src="http://feeds.feedburner.com/~f/fxposter?i=ftoj5qg" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/fxposter?a=ppKkD6G"><img src="http://feeds.feedburner.com/~f/fxposter?i=ppKkD6G" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/fxposter/~4/276407828" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.fxposter.org/2008/04/23/notebook-2/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=fxposter&amp;itemurl=http%3A%2F%2Fblog.fxposter.org%2F2008%2F04%2F23%2Fnotebook-2%2F</feedburner:awareness><feedburner:origLink>http://blog.fxposter.org/2008/04/23/notebook-2/</feedburner:origLink></item>
		<item>
		<title>Формы как обьекты, Zend_Form, MVC, Validation и многое другое</title>
		<link>http://feeds.feedburner.com/~r/fxposter/~3/273766940/</link>
		<comments>http://blog.fxposter.org/2008/04/20/programming-talks/#comments</comments>
		<pubDate>Sat, 19 Apr 2008 22:52:00 +0000</pubDate>
		<dc:creator>FX Poster</dc:creator>
		
		<category><![CDATA[Web]]></category>

		<category><![CDATA[Программирование]]></category>

		<category><![CDATA[Разное]]></category>

		<category><![CDATA[JavaScript]]></category>

		<category><![CDATA[MVC]]></category>

		<category><![CDATA[Validation]]></category>

		<category><![CDATA[Zend-Framework]]></category>

		<category><![CDATA[Zend_Form]]></category>

		<guid isPermaLink="false">http://blog.fxposter.org/2008/04/20/programming-talks/</guid>
		<description><![CDATA[Сегодня мы с Мишей разговорились в ICQ. Разговор получился ОЧЕНЬ длинный и офигительно интересный. Читаем под катом:

 fxposter (00:19:08 20/04/2008)
я немного о другом
fxposter (00:19:20 20/04/2008)
ты используешь отдельные классы ZF в CI
fxposter (00:19:32 20/04/2008)
у тебя основная логика - на CI
fxposter (00:19:36 20/04/2008)
а мне она не нравиться
mihailt (00:19:47 20/04/2008)
а чем?
fxposter (00:20:07 20/04/2008)
основная логика у ZF классная - [...]]]></description>
			<content:encoded><![CDATA[<p>Сегодня мы с <a href="http://mihailt.wordpress.com/">Мишей</a> разговорились в ICQ. Разговор получился ОЧЕНЬ длинный и офигительно интересный. Читаем под катом:<br />
<span id="more-409"></span></p>
<blockquote><p> fxposter (00:19:08 20/04/2008)<br />
я немного о другом</p>
<p>fxposter (00:19:20 20/04/2008)<br />
ты используешь отдельные классы ZF в CI</p>
<p>fxposter (00:19:32 20/04/2008)<br />
у тебя основная логика - на CI</p>
<p>fxposter (00:19:36 20/04/2008)<br />
а мне она не нравиться</p>
<p>mihailt (00:19:47 20/04/2008)<br />
а чем?</p>
<p>fxposter (00:20:07 20/04/2008)<br />
основная логика у ZF классная - Controller - просто зашибись и View&#8217;хи очень хорошие</p>
<p>fxposter (00:20:48 20/04/2008)<br />
но вот чтобы это всё скомпоновать (ZF) до уровня скомпонованности всего в симфе - нужно потратить прилично времени.</p>
<p>fxposter (00:21:22 20/04/2008)<br />
я тебе, кстати, могу сказать еще кое-что насчет CI</p>
<p>mihailt (00:21:28 20/04/2008)<br />
м?</p>
<p>fxposter (00:21:34 20/04/2008)<br />
вот ты используешь ZF с CI</p>
<p>fxposter (00:21:39 20/04/2008)<br />
потому что &#8220;удобно&#8221;</p>
<p>mihailt (00:21:48 20/04/2008)<br />
угу</p>
<p>fxposter (00:21:55 20/04/2008)<br />
использовать CI в дополнении к ZF ты бы не стал</p>
<p>fxposter (00:21:59 20/04/2008)<br />
потому что - фигня <img src='http://blog.fxposter.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>mihailt (00:22:12 20/04/2008)<br />
хех</p>
<p>fxposter (00:22:23 20/04/2008)<br />
ну не то, чтобы фигня</p>
<p>fxposter (00:22:30 20/04/2008)<br />
просто - не то</p>
<p>mihailt (00:22:38 20/04/2008)<br />
хелперы бы скорее всего стал бы</p>
<p>fxposter (00:22:48 20/04/2008)<br />
какие ?)</p>
<p>fxposter (00:23:34 20/04/2008)<br />
я, кстати, в ZF недавно просматривал View Helper&#8217;ы</p>
<p>mihailt (00:23:34 20/04/2008)<br />
да многие тот же form мне цишний больше нравится</p>
<p>fxposter (00:23:46 20/04/2008)<br />
формы в ZF такие же</p>
<p>fxposter (00:23:53 20/04/2008)<br />
как и в симфе 1.0 и CI</p>
<p>fxposter (00:24:04 20/04/2008)<br />
только они уже почти deprecated <img src='http://blog.fxposter.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>fxposter (00:24:19 20/04/2008)<br />
т.е. до появления Zend_Form такие хелперы там были</p>
<p>fxposter (00:24:23 20/04/2008)<br />
и пока еще есть</p>
<p>fxposter (00:24:52 20/04/2008)<br />
мне вот понравилось, что добавили<br />
partial partialLoop и action хелперы</p>
<p>fxposter (00:24:56 20/04/2008)<br />
в ZF</p>
<p>mihailt (00:25:15 20/04/2008)<br />
ну нифига не удобно мне кучу параметров в масиве передавать, удобней просто вызвать элемент формы и описать его</p>
<p>fxposter (00:25:36 20/04/2008)<br />
каких параметров?</p>
<p>fxposter (00:25:39 20/04/2008)<br />
а</p>
<p>fxposter (00:25:46 20/04/2008)<br />
так тебе и не нужно <img src='http://blog.fxposter.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>fxposter (00:25:52 20/04/2008)<br />
ты описываешь форму</p>
<p>fxposter (00:25:55 20/04/2008)<br />
как угодно</p>
<p>fxposter (00:26:03 20/04/2008)<br />
в том же ini-файле можно <img src='http://blog.fxposter.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>fxposter (00:26:52 20/04/2008)<br />
а потом пишешь<br />
$this-&gt;view-&gt;form = new MyForm();<br />
а во вьюхе:<br />
echo $this-&gt;form;</p>
<p>mihailt (00:26:53 20/04/2008)<br />
нее</p>
<p>mihailt (00:27:08 20/04/2008)<br />
вот именно это мне и не нравится</p>
<p>fxposter (00:27:12 20/04/2008)<br />
почему?</p>
<p>mihailt (00:27:20 20/04/2008)<br />
напоминает работу с XML</p>
<p>fxposter (00:27:29 20/04/2008)<br />
знаешь, чем это лучше</p>
<p>fxposter (00:27:30 20/04/2008)<br />
?</p>
<p>fxposter (00:27:41 20/04/2008)<br />
тем, что у тебя НИЧЕГО не дублируется</p>
<p>fxposter (00:27:49 20/04/2008)<br />
что ОЧЕНЬ хорошо по умолчанию</p>
<p>fxposter (00:28:10 20/04/2008)<br />
и что всё, что относится к данной форме описывается в одном месте</p>
<p>fxposter (00:28:16 20/04/2008)<br />
а не в нескольких</p>
<p>fxposter (00:28:33 20/04/2008)<br />
это - очень хорошо</p>
<p>mihailt (00:29:17 20/04/2008)<br />
ну хз мне форму рассматривать как объект почему-то не очень нравится</p>
<p>fxposter (00:29:29 20/04/2008)<br />
лучше привыкай сейчас <img src='http://blog.fxposter.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>fxposter (00:29:36 20/04/2008)<br />
или старайся привыкнуть</p>
<p>fxposter (00:29:58 20/04/2008)<br />
потому что такие системы очень помогают</p>
<p>fxposter (00:30:08 20/04/2008)<br />
и помогают отвлечься от рутины</p>
<p>fxposter (00:30:15 20/04/2008)<br />
от проверки валидности</p>
<p>fxposter (00:30:17 20/04/2008)<br />
и прочего</p>
<p>fxposter (00:31:18 20/04/2008)<br />
получается, что у тебя вместо этих доставших input-хелперов - формы строятся как единый обьект</p>
<p>fxposter (00:31:53 20/04/2008)<br />
все уже привыкли к фразе</p>
<p>fxposter (00:31:59 20/04/2008)<br />
&#8220;оно само себя рисует&#8221;</p>
<p>fxposter (00:32:05 20/04/2008)<br />
в ООП</p>
<p>fxposter (00:32:29 20/04/2008)<br />
только не все понимают, что это можно распространить на очень многое</p>
<p>fxposter (00:32:40 20/04/2008)<br />
опиши форму - и дай ей сделать остальное за тебя</p>
<p>fxposter (00:32:50 20/04/2008)<br />
пропадет куча рутинной работы</p>
<p>mihailt (00:33:00 20/04/2008)<br />
типа кодегенерация</p>
<p>fxposter (00:33:03 20/04/2008)<br />
нет</p>
<p>fxposter (00:33:14 20/04/2008)<br />
кодогенерация - это то, что ты input&#8217;ами пишешь</p>
<p>fxposter (00:33:15 20/04/2008)<br />
 <img src='http://blog.fxposter.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>fxposter (00:33:19 20/04/2008)<br />
только вручную</p>
<p>fxposter (00:33:28 20/04/2008)<br />
а тут оно просто &#8220;себя рисует&#8221;</p>
<p>mihailt (00:33:41 20/04/2008)<br />
ну сказать та что рисовать надо</p>
<p>fxposter (00:33:41 20/04/2008)<br />
когда ты на десктопе создаешь формочку</p>
<p>fxposter (00:33:46 20/04/2008)<br />
это кодогенерация?</p>
<p>fxposter (00:33:47 20/04/2008)<br />
 <img src='http://blog.fxposter.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>fxposter (00:33:52 20/04/2008)<br />
нет</p>
<p>mihailt (00:34:03 20/04/2008)<br />
да</p>
<p>fxposter (00:34:04 20/04/2008)<br />
это выполнение отрисовки в рантайме</p>
<p>mihailt (00:34:14 20/04/2008)<br />
хмм</p>
<p>fxposter (00:34:20 20/04/2008)<br />
вот с формами так же</p>
<p>fxposter (00:34:29 20/04/2008)<br />
т.е. - оно генерит HTML</p>
<p>fxposter (00:34:37 20/04/2008)<br />
но, подумай, - HTML</p>
<p>fxposter (00:34:37 20/04/2008)<br />
!</p>
<p>fxposter (00:34:43 20/04/2008)<br />
не php-код</p>
<p>fxposter (00:34:45 20/04/2008)<br />
ничего</p>
<p>fxposter (00:34:54 20/04/2008)<br />
оно ничего не eval&#8217;ит</p>
<p>fxposter (00:35:03 20/04/2008)<br />
оно выдает просто строку результата</p>
<p>mihailt (00:35:15 20/04/2008)<br />
хмм</p>
<p>fxposter (00:35:24 20/04/2008)<br />
хотя на самом деле - на это можно смотреть по разному <img src='http://blog.fxposter.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>fxposter (00:35:58 20/04/2008)<br />
но в любом случае - это не обычная статическая генерация кода</p>
<p>mihailt (00:36:03 20/04/2008)<br />
озадачил ты меня</p>
<p>fxposter (00:36:04 20/04/2008)<br />
это всё происходит в динамике</p>
<p>fxposter (00:36:11 20/04/2008)<br />
и это в рантайме можно менять</p>
<p>fxposter (00:36:18 20/04/2008)<br />
правда, к этому всему нужно привыкнуть</p>
<p>fxposter (00:36:34 20/04/2008)<br />
и для этого - использовать что-то типа Zend_Form</p>
<p>mihailt (00:36:44 20/04/2008)<br />
то есть больше нефига не скриптовый язык</p>
<p>fxposter (00:37:00 20/04/2008)<br />
если честно, я сталкивался с мыслью, что что-то подобное должно быть</p>
<p>fxposter (00:37:05 20/04/2008)<br />
когда делал много форм</p>
<p>fxposter (00:37:22 20/04/2008)<br />
но именно ZF открым мне глаза на то, как это можно красиво сделать <img src='http://blog.fxposter.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>fxposter (00:37:52 20/04/2008)<br />
вообще я под генерацией кода понимаю - генерируем что-то статически</p>
<p>fxposter (00:38:13 20/04/2008)<br />
и это потом используем отдельно</p>
<p>fxposter (00:38:24 20/04/2008)<br />
как в симфе - сделать CRUD для таблицы</p>
<p>mihailt (00:38:39 20/04/2008)<br />
ты програмист-прагматик читал?</p>
<p>fxposter (00:38:39 20/04/2008)<br />
оно накидает html и php-файлов - и вот и кодогенерация</p>
<p>fxposter (00:38:41 20/04/2008)<br />
нет</p>
<p>fxposter (00:39:00 20/04/2008)<br />
но собирался</p>
<p>mihailt (00:39:03 20/04/2008)<br />
так вот так кодегенерация описывалась по другому</p>
<p>mihailt (00:39:14 20/04/2008)<br />
почитай кстати интересная штука</p>
<p>fxposter (00:39:37 20/04/2008)<br />
это одна из самых советуемых книжек на programmingbooks раньше было</p>
<p>fxposter (00:39:39 20/04/2008)<br />
была</p>
<p>mihailt (00:40:30 20/04/2008)<br />
там люди для того чтобы не писать много однообразных программ написали программу которая принимала параматры и выдавала нужный код</p>
<p>fxposter (00:40:39 20/04/2008)<br />
угу</p>
<p>mihailt (00:41:04 20/04/2008)<br />
блин</p>
<p>mihailt (00:41:18 20/04/2008)<br />
не могу объяснит у меня получается тоже что ты написал</p>
<p>fxposter (00:41:35 20/04/2008)<br />
но тогда можно считать, что если Zend_Form делает кодогенерацию, то такую же кодогенерацию делает любая функция, которая что-то возвращает <img src='http://blog.fxposter.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>mihailt (00:41:50 20/04/2008)<br />
во</p>
<p>mihailt (00:41:53 20/04/2008)<br />
ты понял</p>
<p>fxposter (00:42:02 20/04/2008)<br />
я бы сказал так:</p>
<p>mihailt (00:42:05 20/04/2008)<br />
только не что-то</p>
<p>mihailt (00:42:12 20/04/2008)<br />
а код</p>
<p>fxposter (00:42:14 20/04/2008)<br />
нет</p>
<p>fxposter (00:42:16 20/04/2008)<br />
смотри</p>
<p>fxposter (00:42:34 20/04/2008)<br />
кодогенерация - это когда мы генерируем код на том же уровне, на котором был написан изначальный</p>
<p>fxposter (00:43:06 20/04/2008)<br />
ну или как-то так</p>
<p>mihailt (00:43:12 20/04/2008)<br />
ну типо того</p>
<p>fxposter (00:43:24 20/04/2008)<br />
а то получается, что<br />
echo &#8220;&lt;html&gt;&#8230;&#8221;;<br />
это тоже кодогенерация</p>
<p>mihailt (00:43:44 20/04/2008)<br />
неее</p>
<p>fxposter (00:43:47 20/04/2008)<br />
ага <img src='http://blog.fxposter.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>fxposter (00:44:06 20/04/2008)</p>
<p>echo &#8220;&lt;html&gt;&#8230;&#8221;;</p>
<p>это выражение генерирует html-код</p>
<p>fxposter (00:44:12 20/04/2008)<br />
как и Zend_Form</p>
<p>mihailt (00:45:01 20/04/2008)<br />
нее ну в принципе круто, только почему то все равно не цепляет</p>
<p>mihailt (00:45:05 20/04/2008)<br />
но хз</p>
<p>fxposter (00:45:07 20/04/2008)<br />
 <img src='http://blog.fxposter.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
<p>fxposter (00:45:09 20/04/2008)<br />
 <img src='http://blog.fxposter.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>mihailt (00:45:14 20/04/2008)<br />
может я передумаю</p>
<p>fxposter (00:45:23 20/04/2008)<br />
писец, вот это у нас матёро пошел разговор</p>
<p>mihailt (00:45:24 20/04/2008)<br />
говорю озадачил ты меня</p>
<p>mihailt (00:45:31 20/04/2008)<br />
да конкретно так</p>
<p>mihailt (00:45:42 20/04/2008)<br />
по гиковски</p>
<p>fxposter (00:45:48 20/04/2008)<br />
просто суть в чем</p>
<p>fxposter (00:45:57 20/04/2008)<br />
есть неправильный код</p>
<p>fxposter (00:46:05 20/04/2008)<br />
там много характеристик</p>
<p>fxposter (00:46:59 20/04/2008)<br />
но две из них:<br />
1. дублирование<br />
2. решение одной задачи во многих местах - расплылось решение по разным классам/функциям/файлам</p>
<p>fxposter (00:47:17 20/04/2008)<br />
вот оба эти недостатка в себе сочетает подход с input&#8217;ами</p>
<p>fxposter (00:47:26 20/04/2008)<br />
и устраняется form-обьектами</p>
<p>fxposter (00:48:03 20/04/2008)<br />
кстати</p>
<p>fxposter (00:48:06 20/04/2008)<br />
!!!</p>
<p>fxposter (00:48:10 20/04/2008)<br />
офигенный аналог</p>
<p>fxposter (00:48:18 20/04/2008)<br />
источник данных</p>
<p>fxposter (00:48:23 20/04/2008)<br />
ORM!</p>
<p>fxposter (00:48:31 20/04/2008)<br />
ну, или wrapper таблицы</p>
<p>fxposter (00:48:35 20/04/2008)<br />
или как в CI</p>
<p>fxposter (00:48:38 20/04/2008)<br />
непринципиально</p>
<p>mihailt (00:48:51 20/04/2008)<br />
ну,</p>
<p>fxposter (00:48:53 20/04/2008)<br />
вместо того, чтобы писать в разных местах селекты</p>
<p>fxposter (00:48:55 20/04/2008)<br />
и прочее</p>
<p>fxposter (00:49:06 20/04/2008)<br />
мы инкапсулируем это всё в одном обьекте</p>
<p>mihailt (00:49:11 20/04/2008)<br />
так</p>
<p>fxposter (00:49:13 20/04/2008)<br />
и работаем уже с ним</p>
<p>fxposter (00:49:21 20/04/2008)<br />
предварительно его настроив</p>
<p>fxposter (00:49:33 20/04/2008)<br />
указав имя таблицы, поля и т.д.</p>
<p>fxposter (00:49:40 20/04/2008)<br />
вот с формами - ТО ЖЕ САМОЕ</p>
<p>fxposter (00:49:41 20/04/2008)<br />
пипец</p>
<p>fxposter (00:49:44 20/04/2008)<br />
1 в 1 почти</p>
<p>mihailt (00:50:12 20/04/2008)<br />
забавно</p>
<p>mihailt (00:51:02 20/04/2008)<br />
н в принципе наверное так и должно быть</p>
<p>fxposter (00:51:14 20/04/2008)<br />
блин <img src='http://blog.fxposter.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>fxposter (00:51:21 20/04/2008)<br />
я этот разговор выложу на блог <img src='http://blog.fxposter.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>fxposter (00:51:32 20/04/2008)<br />
твоё имя упоминать? <img src='http://blog.fxposter.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>mihailt (00:51:47 20/04/2008)<br />
давай</p>
<p>mihailt (00:51:59 20/04/2008)<br />
дашь травки немного</p>
<p>mihailt (00:52:00 20/04/2008)<br />
)</p>
<p>fxposter (00:52:04 20/04/2008)<br />
ага <img src='http://blog.fxposter.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>mihailt (00:52:17 20/04/2008)<br />
продолжая</p>
<p>mihailt (00:52:29 20/04/2008)<br />
какая разница то, чего именно мы инкапсулируем?</p>
<p>fxposter (00:53:00 20/04/2008)<br />
в смысле?</p>
<p>fxposter (00:53:10 20/04/2008)<br />
я не совсем так выразился</p>
<p>mihailt (00:53:11 20/04/2008)<br />
есть объект и мы с ним работаем</p>
<p>fxposter (00:53:17 20/04/2008)<br />
не инкапсулируем</p>
<p>fxposter (00:53:24 20/04/2008)<br />
хотя и инкапсулируем то же</p>
<p>fxposter (00:53:27 20/04/2008)<br />
*тоже</p>
<p>mihailt (00:53:33 20/04/2008)<br />
нее погоди</p>
<p>mihailt (00:53:38 20/04/2008)<br />
я щас</p>
<p>fxposter (00:54:04 20/04/2008)<br />
мы убираем дублирование пряча в один обьект функции/данные и т.д., которые отвечают за нечто общее</p>
<p>mihailt (00:54:13 20/04/2008)<br />
во</p>
<p>mihailt (00:54:30 20/04/2008)<br />
а что общее нам обсолютно пофиг</p>
<p>mihailt (00:54:38 20/04/2008)<br />
абсолютно</p>
<p>fxposter (00:54:43 20/04/2008)<br />
ну естественно <img src='http://blog.fxposter.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>fxposter (00:55:03 20/04/2008)<br />
опять же - два недостатка:</p>
<p>1. дублирование<br />
2. решение одной задачи во многих местах - расплылось решение по разным классам/функциям/файлам</p>
<p>fxposter (00:55:09 20/04/2008)<br />
вот они во всей красе</p>
<p>mihailt (00:55:36 20/04/2008)<br />
так а чего дублируется то?</p>
<p>fxposter (00:55:46 20/04/2008)<br />
возьмем select</p>
<p>mihailt (00:56:06 20/04/2008)<br />
я кароче походу врубился что зенд_форм хорошая вещь</p>
<p>mihailt (00:56:11 20/04/2008)<br />
 <img src='http://blog.fxposter.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>fxposter (00:56:25 20/04/2008)<br />
возьмем селект</p>
<p>fxposter (00:56:56 20/04/2008)<br />
function select(table, array columns, where)</p>
<p>fxposter (00:57:02 20/04/2008)<br />
можно еще добавить всего</p>
<p>fxposter (00:57:09 20/04/2008)<br />
order там и прочее</p>
<p>fxposter (00:57:32 20/04/2008)<br />
если у нас на каждую таблицу 1 класс - то мы и table убираем</p>
<p>mihailt (00:57:58 20/04/2008)<br />
ну и где дублирование?</p>
<p>fxposter (00:58:06 20/04/2008)<br />
и получается, чтобы вместо &#8220;SELECT columns FROM TABLE WHERE&#8221; и т.д. мы вызываем одну функцию</p>
<p>mihailt (00:58:25 20/04/2008)<br />
угу ты придумал хелпер</p>
<p>fxposter (00:58:32 20/04/2008)<br />
 <img src='http://blog.fxposter.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>fxposter (00:58:42 20/04/2008)<br />
я придумал active record еще скажи <img src='http://blog.fxposter.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>fxposter (00:58:59 20/04/2008)<br />
это обычный table gateway (есть такой паттерн)</p>
<p>mihailt (00:59:39 20/04/2008)<br />
у банды в четырёх он есть?</p>
<p>fxposter (00:59:42 20/04/2008)<br />
нет</p>
<p>fxposter (00:59:47 20/04/2008)<br />
он у фаулера есть</p>
<p>mihailt (00:59:52 20/04/2008)<br />
ок</p>
<p>fxposter (00:59:53 20/04/2008)<br />
в Patterns of EEA</p>
<p>fxposter (00:59:55 20/04/2008)<br />
или EAA</p>
<p>fxposter (00:59:58 20/04/2008)<br />
 <img src='http://blog.fxposter.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>fxposter (01:00:12 20/04/2008)<br />
или AAE</p>
<p>fxposter (01:00:15 20/04/2008)<br />
блие</p>
<p>fxposter (01:00:17 20/04/2008)<br />
блин</p>
<p>mihailt (01:00:18 20/04/2008)<br />
типа ентерпрайз чего-то там?</p>
<p>fxposter (01:00:23 20/04/2008)<br />
ага</p>
<p>mihailt (01:00:29 20/04/2008)<br />
понял</p>
<p>fxposter (01:00:31 20/04/2008)<br />
EAA</p>
<p>fxposter (01:00:35 20/04/2008)<br />
всё-таки</p>
<p>mihailt (01:00:51 20/04/2008)<br />
не суть давай дальше</p>
<p>fxposter (01:00:55 20/04/2008)<br />
далее - насчет дублирования</p>
<p>fxposter (01:01:06 20/04/2008)<br />
тебе нужно выбрать N статей</p>
<p>fxposter (01:01:10 20/04/2008)<br />
в нескольких местах</p>
<p>fxposter (01:01:20 20/04/2008)<br />
пишешь sql - вот тебе дублирование</p>
<p>fxposter (01:01:30 20/04/2008)<br />
делаешь функцию с параметром N - вот его и нет</p>
<p>fxposter (01:01:46 20/04/2008)<br />
+ код, который работает с бд обьединен в одном месте</p>
<p>mihailt (01:01:54 20/04/2008)<br />
extends млин</p>
<p>fxposter (01:02:01 20/04/2008)<br />
 <img src='http://blog.fxposter.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>mihailt (01:02:56 20/04/2008)<br />
а ZF начинает такое делать для ХНТМL</p>
<p>fxposter (01:03:05 20/04/2008)<br />
в смысле?</p>
<p>mihailt (01:03:23 20/04/2008)<br />
в смысле зенд_форм</p>
<p>fxposter (01:03:50 20/04/2008)<br />
там, кстати, насколько я помню еще и html поддерживается <img src='http://blog.fxposter.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>fxposter (01:04:03 20/04/2008)<br />
по крайней мере что-то с хелперами проскакивало</p>
<p>fxposter (01:04:13 20/04/2008)<br />
типа - есть поле isXhtml</p>
<p>fxposter (01:04:34 20/04/2008)<br />
и в зависимости от него оно input-хелперы раньше генерировало</p>
<p>mihailt (01:04:38 20/04/2008)<br />
в итоге получаем что пхп деву с хтмл  вобще работать не нужно будет</p>
<p>fxposter (01:04:51 20/04/2008)<br />
не совсем</p>
<p>fxposter (01:05:00 20/04/2008)<br />
вот форму нужно выводить</p>
<p>mihailt (01:05:16 20/04/2008)<br />
не смотри</p>
<p>fxposter (01:05:16 20/04/2008)<br />
ты можешь описать в самой форме -как ты её будешь выводить</p>
<p>fxposter (01:05:25 20/04/2008)<br />
таблицами</p>
<p>fxposter (01:05:29 20/04/2008)<br />
списками и т.д.</p>
<p>mihailt (01:05:36 20/04/2008)<br />
погоди</p>
<p>fxposter (01:05:40 20/04/2008)<br />
в каком-нибудь From_View</p>
<p>fxposter (01:05:44 20/04/2008)</p>
<p>mihailt (01:05:50 20/04/2008)<br />
смотри</p>
<p>fxposter (01:05:57 20/04/2008)<br />
экземпляр которого будет храниться в Zend_From</p>
<p>fxposter (01:05:58 20/04/2008)<br />
lf</p>
<p>fxposter (01:05:59 20/04/2008)<br />
да</p>
<p>mihailt (01:06:35 20/04/2008)<br />
у нас есть код который берет чего нить из бд и создаёт структуру докумунта</p>
<p>mihailt (01:06:47 20/04/2008)<br />
семантически правилный</p>
<p>fxposter (01:07:00 20/04/2008)<br />
это ты к Zend_Form</p>
<p>fxposter (01:07:06 20/04/2008)<br />
или вообще</p>
<p>fxposter (01:07:07 20/04/2008)<br />
?</p>
<p>mihailt (01:07:23 20/04/2008)<br />
вобще более глобально</p>
<p>fxposter (01:07:26 20/04/2008)<br />
ага</p>
<p>fxposter (01:07:27 20/04/2008)<br />
ну</p>
<p>mihailt (01:07:38 20/04/2008)<br />
делаем это так</p>
<p>mihailt (01:07:51 20/04/2008)<br />
после того как получили пишем</p>
<p>mihailt (01:08:14 20/04/2008)<br />
$output = new $html;</p>
<p>mihailt (01:08:40 20/04/2008)<br />
а дальше appendChild</p>
<p>fxposter (01:08:49 20/04/2008)<br />
гм</p>
<p>fxposter (01:09:00 20/04/2008)<br />
тебя куда-то не туда понесло</p>
<p>fxposter (01:09:03 20/04/2008)<br />
ты о чем?)</p>
<p>mihailt (01:09:21 20/04/2008)<br />
ну смотри что делает зенд_форм?</p>
<p>mihailt (01:09:27 20/04/2008)<br />
генерит форму</p>
<p>fxposter (01:09:41 20/04/2008)<br />
смотри</p>
<p>fxposter (01:09:46 20/04/2008)<br />
в общем случае</p>
<p>fxposter (01:09:57 20/04/2008)<br />
ты, например, наследуешь от зенд-форм</p>
<p>mihailt (01:10:00 20/04/2008)<br />
а в чем проблема сделать класс который будет весь документ генерит?</p>
<p>fxposter (01:10:13 20/04/2008)<br />
и указываешь ему, какие поля и что должно там быть</p>
<p>fxposter (01:10:29 20/04/2008)<br />
проблемы нет</p>
<p>fxposter (01:10:38 20/04/2008)<br />
тебе View&#8217;ха его и генерит по сути</p>
<p>fxposter (01:10:39 20/04/2008)</p>
<p>fxposter (01:11:23 20/04/2008)<br />
а вообще - да, можно на всё делать обьекты</p>
<p>fxposter (01:11:30 20/04/2008)<br />
собственно, DOM - это оно и есть</p>
<p>mihailt (01:11:32 20/04/2008)<br />
мне это почему то XSLT очень силно напоминает</p>
<p>mihailt (01:11:54 20/04/2008)<br />
правда я с ним не работал</p>
<p>fxposter (01:11:55 20/04/2008)<br />
только не очень удобно работать на этом уровне с тегами</p>
<p>fxposter (01:11:58 20/04/2008)<br />
я тоже</p>
<p>fxposter (01:12:07 20/04/2008)<br />
вот что-то типа такого</p>
<p>mihailt (01:13:06 20/04/2008)<br />
но в принципе получается правилно, программист занят своим делом а именно составлением программы и обработкой данных а остальное его не касается</p>
<p>fxposter (01:13:28 20/04/2008)<br />
$doc = new Document($content); // content - то, что получили из базы<br />
$doc-&gt;setSidebar($sidebar); // если нам нужно использовать не default&#8217;ный sidebar, например</p>
<p>fxposter (01:13:54 20/04/2008)<br />
давай опустимся несколько ниже</p>
<p>fxposter (01:13:58 20/04/2008)<br />
на уровень MVC</p>
<p>mihailt (01:14:05 20/04/2008)<br />
давай</p>
<p>fxposter (01:14:17 20/04/2008)<br />
есть модель, есть её вьюха, есть контроллер</p>
<p>mihailt (01:14:28 20/04/2008)<br />
кастати мне его в последнее время не хватает</p>
<p>mihailt (01:14:40 20/04/2008)<br />
ок</p>
<p>fxposter (01:14:52 20/04/2008)<br />
пойми, что то, что реализовано в фреймворках - это не единое применение</p>
<p>fxposter (01:15:00 20/04/2008)<br />
берем Zend_Form</p>
<p>fxposter (01:15:13 20/04/2008)<br />
модель - это поля, валидаторы и прочее</p>
<p>fxposter (01:15:21 20/04/2008)<br />
именно логически</p>
<p>mihailt (01:15:40 20/04/2008)<br />
ну</p>
<p>fxposter (01:15:44 20/04/2008)<br />
контроллер - какие-нибудь внутренние события, обработчики и т.д.</p>
<p>fxposter (01:15:56 20/04/2008)<br />
в данном случае мне придмать что-то сложно</p>
<p>fxposter (01:16:12 20/04/2008)<br />
а view&#8217;ха - это то, что из себя эта форма представляет в html</p>
<p>mihailt (01:16:32 20/04/2008)<br />
погоди ты к чему? типа куда зенд_форм?</p>
<p>fxposter (01:16:36 20/04/2008)<br />
т.е. мы разделили сам Zend_Form на MVC-составляющие</p>
<p>mihailt (01:16:42 20/04/2008)<br />
аа ну</p>
<p>fxposter (01:17:00 20/04/2008)<br />
&gt; но в принципе получается правилно, программист занят своим делом а именно составлением программы и обработкой данных а остальное его не касается</p>
<p>fxposter (01:17:24 20/04/2008)<br />
программист даже в Zend_Form может заняться моделью и контроллером</p>
<p>fxposter (01:17:35 20/04/2008)<br />
оставив вьюху верстальщику</p>
<p>mihailt (01:17:47 20/04/2008)<br />
именно</p>
<p>fxposter (01:17:50 20/04/2008)<br />
т.е. всё так же, как и с обычными страницами</p>
<p>fxposter (01:18:02 20/04/2008)<br />
только на следующем уровне</p>
<p>fxposter (01:18:07 20/04/2008)<br />
внутри самой страницы</p>
<p>fxposter (01:18:18 20/04/2008)<br />
и так можно описывать любые элементы страницы</p>
<p>fxposter (01:18:26 20/04/2008)<br />
хедер, футер, меню, логотип</p>
<p>fxposter (01:18:31 20/04/2008)<br />
как тебе удобно</p>
<p>fxposter (01:18:37 20/04/2008)<br />
но это в теории</p>
<p>mihailt (01:18:37 20/04/2008)<br />
ну это уже NMVC получается, нет?</p>
<p>fxposter (01:18:46 20/04/2008)<br />
что такое N?</p>
<p>mihailt (01:18:56 20/04/2008)<br />
типа nested</p>
<p>fxposter (01:18:57 20/04/2008)<br />
на практике такое вряд ли будет</p>
<p>fxposter (01:19:01 20/04/2008)</p>
<p>fxposter (01:19:13 20/04/2008)<br />
я такой терминологии не слышал, но так сказать можно</p>
<p>mihailt (01:19:46 20/04/2008)<br />
ну компонетный подход где каздй компонет проектируется по MVC</p>
<p>fxposter (01:20:01 20/04/2008)<br />
честно?</p>
<p>mihailt (01:20:08 20/04/2008)<br />
?</p>
<p>fxposter (01:20:08 20/04/2008)<br />
я с таким подходом не знаком</p>
<p>mihailt (01:20:19 20/04/2008)<br />
гм</p>
<p>fxposter (01:20:25 20/04/2008)<br />
т.е. я представляю, что оно такое</p>
<p>fxposter (01:20:34 20/04/2008)<br />
но никогда в лоб не сталкивался</p>
<p>fxposter (01:20:41 20/04/2008)<br />
почему формы сюда попали (в категорию выделяемых в отдельный обьект), а остальные компоненты - нет</p>
<p>fxposter (01:21:24 20/04/2008)<br />
ну во первых, формы - это более общее понятие, типа Page, Document и т.д., ккоторые уже на MVC как раз разделены. А еще потому, что формы нужно обрабатывать</p>
<p>fxposter (01:21:30 20/04/2008)<br />
на сервере</p>
<p>mihailt (01:22:11 20/04/2008)<br />
кстати про валидацию</p>
<p>mihailt (01:22:37 20/04/2008)<br />
в последнее время не вижу смысла в ней на стороне клиента</p>
<p>fxposter (01:22:42 20/04/2008)</p>
<p>fxposter (01:23:01 20/04/2008)<br />
ну у меня к валидации смешанные чувства</p>
<p>mihailt (01:23:08 20/04/2008)<br />
осjбенно при работе с ajax</p>
<p>fxposter (01:23:09 20/04/2008)<br />
стараюсь делать код валидным</p>
<p>fxposter (01:23:19 20/04/2008)<br />
но в принципе - не гонюсь за этим</p>
<p>mihailt (01:23:29 20/04/2008)<br />
нее</p>
<p>mihailt (01:23:37 20/04/2008)<br />
я про валидацию данных</p>
<p>mihailt (01:23:43 20/04/2008)<br />
из формы</p>
<p>fxposter (01:23:56 20/04/2008)<br />
а</p>
<p>fxposter (01:24:06 20/04/2008)<br />
я её никогда не делал</p>
<p>fxposter (01:24:14 20/04/2008)<br />
смысл вижу явно</p>
<p>fxposter (01:24:20 20/04/2008)<br />
но не делал</p>
<p>mihailt (01:24:34 20/04/2008)<br />
стандартная хрен форма-валидация(клиент)-валидация(сервер)</p>
<p>fxposter (01:24:39 20/04/2008)<br />
смысл - БЫСТРО, реально БЫСТРО сказать пользователю, что он ввел фигню</p>
<p>mihailt (01:25:30 20/04/2008)<br />
при использовани ajax  все равно не вижу</p>
<p>fxposter (01:25:50 20/04/2008)<br />
пройдет пол секунды, пока ты получишь ответ с сервера</p>
<p>fxposter (01:25:56 20/04/2008)<br />
в лучшем случае - меньше</p>
<p>fxposter (01:26:06 20/04/2008)<br />
но не абсолютно быстро</p>
<p>mihailt (01:26:34 20/04/2008)<br />
зато не будет безумных алёртов</p>
<p>fxposter (01:26:42 20/04/2008)<br />
+ нет дополнительных запросов к серваку, но для меня это на данный момент пока что не главный фактоп</p>
<p>fxposter (01:26:45 20/04/2008)<br />
фактор</p>
<p>fxposter (01:27:05 20/04/2008)<br />
&gt; зато не будет безумных алёртов<br />
не обязательно делать алерты</p>
<p>mihailt (01:27:16 20/04/2008)<br />
а если так же апдейтит див то вобще пофиг запрос всё равно есть</p>
<p>fxposter (01:27:27 20/04/2008)<br />
можно сделать сообщения об ошибках неотличимыми при серверной проверке и клиентской</p>
<p>fxposter (01:28:02 20/04/2008)<br />
я тебе могу сказать одно</p>
<p>mihailt (01:28:11 20/04/2008)<br />
типа генерить хтмл во внутрь елемента по ид?</p>
<p>fxposter (01:28:13 20/04/2008)<br />
валидация на клиенте не необходима</p>
<p>fxposter (01:28:15 20/04/2008)<br />
но удобна</p>
<p>fxposter (01:28:21 20/04/2008)<br />
да</p>
<p>fxposter (01:28:25 20/04/2008)<br />
или просто по селектору</p>
<p>fxposter (01:28:29 20/04/2008)<br />
непринципиально</p>
<p>mihailt (01:28:46 20/04/2008)<br />
ну допустим</p>
<p>mihailt (01:28:47 20/04/2008)<br />
но</p>
<p>mihailt (01:28:58 20/04/2008)<br />
получается тоже саме дублирование</p>
<p>fxposter (01:29:05 20/04/2008)<br />
ага</p>
<p>fxposter (01:29:11 20/04/2008)<br />
но на разных уровнях</p>
<p>fxposter (01:29:18 20/04/2008)<br />
это раз</p>
<p>fxposter (01:29:50 20/04/2008)<br />
и два - в теории никто не запрещает делать так, чтобы тот же Zend_From генерировал код с проверками на клиенте</p>
<p>fxposter (01:30:04 20/04/2008)<br />
т.е. описываем мы форму 1 раз</p>
<p>fxposter (01:30:13 20/04/2008)<br />
а проверки оно всё само делает</p>
<p>mihailt (01:30:36 20/04/2008)<br />
хрено получается на мой взгляд, код смешивается</p>
<p>fxposter (01:30:48 20/04/2008)<br />
нет</p>
<p>mihailt (01:30:54 20/04/2008)<br />
в смысле в самом зенд_форм</p>
<p>fxposter (01:30:57 20/04/2008)<br />
нет</p>
<p>fxposter (01:31:04 20/04/2008)<br />
Zend_Form_View</p>
<p>fxposter (01:31:11 20/04/2008)<br />
такого класса, наверное, нет</p>
<p>fxposter (01:31:16 20/04/2008)<br />
но суть понятна</p>
<p>mihailt (01:31:21 20/04/2008)<br />
 <img src='http://blog.fxposter.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>fxposter (01:31:23 20/04/2008)<br />
ты наследуешься от него</p>
<p>fxposter (01:31:45 20/04/2008)<br />
и в зависимости от валидаторов серверных - делаешь js-проверки</p>
<p>mihailt (01:32:13 20/04/2008)<br />
придумали новый класс в zf&#8217;е осталось только написать и заккомитить</p>
<p>mihailt (01:32:19 20/04/2008)<br />
 <img src='http://blog.fxposter.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>fxposter (01:32:22 20/04/2008)<br />
не думаю</p>
<p>fxposter (01:32:42 20/04/2008)<br />
всё равно там zend-form разделено на модель и представление</p>
<p>fxposter (01:32:44 20/04/2008)<br />
или нет?</p>
<p>fxposter (01:32:54 20/04/2008)<br />
я не знаю, я zend-form не использовал</p>
<p>fxposter (01:33:05 20/04/2008)<br />
я больше по symfony 1.1 forms сужу</p>
<p>fxposter (01:33:12 20/04/2008)<br />
но суть работы та же</p>
<p>fxposter (01:33:55 20/04/2008)<br />
т.е. можешь считать, что я тут говорил о неком Zend_Form, который в чем-то от настоящего Zend_Form отличается</p>
<p>fxposter (01:34:06 20/04/2008)<br />
но суть не меняет</p>
<p>mihailt (01:34:39 20/04/2008)<br />
setAction(&#8217;/usr/login&#8217;)<br />
-&gt;setMethod(&#8217;post&#8217;);</p>
<p>// Create and configure username element:<br />
$username = $form-&gt;createElement(&#8217;text&#8217;, &#8216;username&#8217;);<br />
$username-&gt;addValidator(&#8217;alnum&#8217;)<br />
-&gt;addValidator(&#8217;regex&#8217;, false, array(&#8217;/^[a-z]+/&#8217;))<br />
-&gt;addValidator(&#8217;stringLength&#8217;, false, array(6, 20))<br />
-&gt;setRequired(true)<br />
-&gt;addFilter(&#8217;StringToLower&#8217;);</p>
<p>// Create and configure password element:<br />
$password = $form-&gt;createElement(&#8217;password&#8217;, &#8216;password&#8217;);<br />
$password-&gt;addValidator(&#8217;StringLength&#8217;, false, array(6))<br />
-&gt;setRequired(true);</p>
<p>// Add elements to form:<br />
$form-&gt;addElement($username)<br />
-&gt;addElement($password)<br />
// use addElement() as a factory to create &#8216;Login&#8217; button:<br />
-&gt;addElement(&#8217;submit&#8217;, &#8216;login&#8217;, array(&#8217;label&#8217; =&gt; &#8216;Login&#8217;));<br />
?&gt;</p>
<p>fxposter (01:34:56 20/04/2008)<br />
мм</p>
<p>fxposter (01:35:08 20/04/2008)<br />
я бы всё это сделал в наследние Zend_Form&#8217;а</p>
<p>fxposter (01:35:30 20/04/2008)<br />
и мог бы потом reuse&#8217;ить такую форму логина во многих местах</p>
<p>mihailt (01:35:58 20/04/2008)<br />
ну это нормально</p>
<p>mihailt (01:36:26 20/04/2008)<br />
я про клентскую часть</p>
<p>mihailt (01:36:40 20/04/2008)<br />
$username-&gt;addValidator(&#8217;alnum&#8217;)</p>
<p>mihailt (01:37:00 20/04/2008)<br />
$username-&gt;addValidator(&#8217;alnum&#8217;,'clientside&#8217;)</p>
<p>mihailt (01:37:11 20/04/2008)<br />
ну или что то типо того</p>
<p>mihailt (01:37:30 20/04/2008)<br />
по моему нормально</p>
<p>fxposter (01:38:22 20/04/2008)<br />
да</p>
<p>fxposter (01:38:36 20/04/2008)<br />
в зенде есть zend_from_decorator</p>
<p>fxposter (01:38:47 20/04/2008)<br />
который отвечает за отрисовку этого всего в html</p>
<p>fxposter (01:38:55 20/04/2008)<br />
судя по всему</p>
<p>mihailt (01:40:00 20/04/2008)<br />
угу принимет 3 аргумента</p>
<p>mihailt (01:40:39 20/04/2008)<br />
содержимое, элемент и параметры</p>
<p>mihailt (01:40:50 20/04/2008)<br />
смотрю на ман</p>
<p>mihailt (01:41:35 20/04/2008)<br />
в принципе его для такого дела тоже можно заюзать</p>
<p>fxposter (01:43:01 20/04/2008)<br />
ну вот он и должен в зависимости от валидаторов серверных, добавленных к элементу писать дополнительный js-код</p>
<p>fxposter (01:44:41 20/04/2008)<br />
отдельные валидаторы для клиента прописывать - имхо, не есть хорошо. хотя - всё может быть.</p>
<p>fxposter (01:44:44 20/04/2008)<br />
ы</p>
<p>mihailt (01:44:51 20/04/2008)<br />
хмм</p>
<p>mihailt (01:45:01 20/04/2008)<br />
во</p>
<p>mihailt (01:45:03 20/04/2008)<br />
Zend_Form_Decorator_Errors</p>
<p>fxposter (01:45:05 20/04/2008)<br />
кстати, еще хорошо бы в валидаторы добавить<br />
Zend_Validator_View</p>
<p>fxposter (01:45:07 20/04/2008)<br />
)))))))))0</p>
<p>mihailt (01:45:12 20/04/2008)<br />
вот он должен</p>
<p>fxposter (01:45:25 20/04/2008)<br />
нет</p>
<p>fxposter (01:45:30 20/04/2008)<br />
он выводит ошибки</p>
<p>fxposter (01:45:33 20/04/2008)<br />
просто выводит</p>
<p>fxposter (01:45:38 20/04/2008)<br />
если они уже найдены</p>
<p>mihailt (01:46:46 20/04/2008)<br />
хмм</p>
<p>mihailt (01:46:49 20/04/2008)<br />
тоже верно</p>
<p>fxposter (01:46:49 20/04/2008)<br />
в общем, тут долго можно размышлять</p>
<p>fxposter (01:47:00 20/04/2008)<br />
но вряд ли это будет сделано в таком виде</p>
<p>mihailt (01:47:13 20/04/2008)<br />
даа ZF можно очень долго копать</p>
<p>fxposter (01:47:23 20/04/2008)</p>
<p>fxposter (01:47:25 20/04/2008)<br />
угу</p>
<p>fxposter (01:47:42 20/04/2008)<br />
ладно, пойду я спать</p>
<p>mihailt (01:47:57 20/04/2008)<br />
даа, чего то я тоже засиделся</p>
<p>mihailt (01:48:03 20/04/2008)<br />
но поговорили хорошо</p>
<p>fxposter (01:48:09 20/04/2008)<br />
ага</p></blockquote>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/fxposter?a=4I5S4jG"><img src="http://feeds.feedburner.com/~f/fxposter?i=4I5S4jG" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/fxposter?a=mj6Dnwg"><img src="http://feeds.feedburner.com/~f/fxposter?i=mj6Dnwg" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/fxposter?a=3FKEmeg"><img src="http://feeds.feedburner.com/~f/fxposter?i=3FKEmeg" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/fxposter?a=B7acA2G"><img src="http://feeds.feedburner.com/~f/fxposter?i=B7acA2G" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/fxposter/~4/273766940" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.fxposter.org/2008/04/20/programming-talks/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=fxposter&amp;itemurl=http%3A%2F%2Fblog.fxposter.org%2F2008%2F04%2F20%2Fprogramming-talks%2F</feedburner:awareness><feedburner:origLink>http://blog.fxposter.org/2008/04/20/programming-talks/</feedburner:origLink></item>
		<item>
		<title>PHP CMS: Joomla, Drupal, etc…</title>
		<link>http://feeds.feedburner.com/~r/fxposter/~3/273680679/</link>
		<comments>http://blog.fxposter.org/2008/04/19/php-cms-joomla-drupal-etc/#comments</comments>
		<pubDate>Sat, 19 Apr 2008 19:11:00 +0000</pubDate>
		<dc:creator>FX Poster</dc:creator>
		
		<category><![CDATA[Web]]></category>

		<category><![CDATA[Программирование]]></category>

		<category><![CDATA[CMS]]></category>

		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.fxposter.org/2008/04/19/php-cms-joomla-drupal-etc/</guid>
		<description><![CDATA[Никогда не использовал CMS&#8217;ки при разработке сайтов. И не смотрел на них никогда. Всегда пользовался фреймворками, библиотеками, либо сам всё писал (да, был маленький, глупый). Сейчас вот стал задумываться над этим фактом. Посему назрел вопрос, который я хочу задать своим читателям - стоит ли изучать какую-либо CMS на PHP (на данный момент, я бы выбрал, [...]]]></description>
			<content:encoded><![CDATA[<p>Никогда не использовал CMS&#8217;ки при разработке сайтов. И не смотрел на них никогда. Всегда пользовался фреймворками, библиотеками, либо сам всё писал (да, был маленький, глупый). Сейчас вот стал задумываться над этим фактом. Посему назрел вопрос, который я хочу задать своим читателям - стоит ли изучать какую-либо CMS на PHP (на данный момент, я бы выбрал, скорее всего, Drupal) или &#8220;ну это всё нафиг&#8221;?  Если бы у меня была куча времени - вопрос бы не стоял, а так - стоит ли оно того?</p>
<p><em><strong>PS</strong>. Одна из причин, по которой хочется посмотреть на Drupal - мне интересно, как такой очень некрасивый, на мой взгляд, код можно поддерживать, развивать и т.д. <img src='http://blog.fxposter.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </em></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/fxposter?a=XWZ3KtG"><img src="http://feeds.feedburner.com/~f/fxposter?i=XWZ3KtG" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/fxposter?a=nPhnXIg"><img src="http://feeds.feedburner.com/~f/fxposter?i=nPhnXIg" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/fxposter?a=XteHwrg"><img src="http://feeds.feedburner.com/~f/fxposter?i=XteHwrg" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/fxposter?a=Yc1DubG"><img src="http://feeds.feedburner.com/~f/fxposter?i=Yc1DubG" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/fxposter/~4/273680679" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.fxposter.org/2008/04/19/php-cms-joomla-drupal-etc/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=fxposter&amp;itemurl=http%3A%2F%2Fblog.fxposter.org%2F2008%2F04%2F19%2Fphp-cms-joomla-drupal-etc%2F</feedburner:awareness><feedburner:origLink>http://blog.fxposter.org/2008/04/19/php-cms-joomla-drupal-etc/</feedburner:origLink></item>
		<item>
		<title>РИТ 2008</title>
		<link>http://feeds.feedburner.com/~r/fxposter/~3/273562368/</link>
		<comments>http://blog.fxposter.org/2008/04/19/rit-2008/#comments</comments>
		<pubDate>Sat, 19 Apr 2008 14:36:46 +0000</pubDate>
		<dc:creator>FX Poster</dc:creator>
		
		<category><![CDATA[Web]]></category>

		<category><![CDATA[Программирование]]></category>

		<category><![CDATA[Разное]]></category>

		<category><![CDATA[Symfony]]></category>

		<category><![CDATA[РИТ]]></category>

		<guid isPermaLink="false">http://blog.fxposter.org/2008/04/19/rit-2008/</guid>
		<description><![CDATA[Прошла выставка&#8230; Никто практически ничего про неё не написал, по крайней мере из тех, кого я читаю сейчас - написал только Юра Артюх. Больше никаких отчетов я не видел, хотя может и пропустил что-то. Надеюсь, кстати, на следующей неделе пересечься всё-таки с человеком, который там был, послушать впечатления.
Пока же - вот здесь выложены видеозаписи выступлений [...]]]></description>
			<content:encoded><![CDATA[<p>Прошла выставка&#8230; Никто практически ничего про неё не написал, по крайней мере из тех, кого я читаю сейчас - написал только <a href="http://cssing.org.ua/2008/04/18/rit-2008-moscow/">Юра Артюх</a>. Больше никаких отчетов я не видел, хотя может и пропустил что-то. Надеюсь, кстати, на следующей неделе пересечься всё-таки с человеком, который там был, послушать впечатления.</p>
<p>Пока же - <a href="http://rutube.ru/search.html?search=%F2%E9%F4+2008">вот здесь</a> выложены видеозаписи выступлений с конференции (не все, но посмотреть есть на что). Выступления, как по мне, очень интересные. Особенно (естественно!) хочется отметить <a href="http://rutube.ru/tracks/617351.html?v=f465fd9bbbe25d3e9d779980c76d6757">выступление о моей любимой Symfony</a>.</p>
<p><em><strong>PS</strong>. Что-то не везет мне с ноутами. Заказал у знакомых HP Compaq 6720s. Обещали привезти сегодня до 12-ти из Киева. Приезжаю в час в магазин - &#8220;машина Автолюкса (служба доставки) сломалась по дороге, ноута пока нет&#8221;. </em></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/fxposter?a=aveJfOG"><img src="http://feeds.feedburner.com/~f/fxposter?i=aveJfOG" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/fxposter?a=Y6ziuFg"><img src="http://feeds.feedburner.com/~f/fxposter?i=Y6ziuFg" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/fxposter?a=X9PO3bg"><img src="http://feeds.feedburner.com/~f/fxposter?i=X9PO3bg" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/fxposter?a=OS4gC7G"><img src="http://feeds.feedburner.com/~f/fxposter?i=OS4gC7G" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/fxposter/~4/273562368" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.fxposter.org/2008/04/19/rit-2008/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=fxposter&amp;itemurl=http%3A%2F%2Fblog.fxposter.org%2F2008%2F04%2F19%2Frit-2008%2F</feedburner:awareness><feedburner:origLink>http://blog.fxposter.org/2008/04/19/rit-2008/</feedburner:origLink></item>
		<item>
		<title>Задачка по моделированию</title>
		<link>http://feeds.feedburner.com/~r/fxposter/~3/270987797/</link>
		<comments>http://blog.fxposter.org/2008/04/16/task-of-modelling/#comments</comments>
		<pubDate>Tue, 15 Apr 2008 21:38:57 +0000</pubDate>
		<dc:creator>FX Poster</dc:creator>
		
		<category><![CDATA[Универ]]></category>

		<category><![CDATA[Комбинаторика]]></category>

		<category><![CDATA[Моделлирование]]></category>

		<guid isPermaLink="false">http://blog.fxposter.org/2008/04/16/task-of-modelling/</guid>
		<description><![CDATA[Только что 2 часа убил на &#8220;простенькую задачку по комбинаторике&#8221;, как сказала наша преподаватель по моделированию. Если кто хочет поломать немного мозги, то вот сама задачка (исходного задания у меня нет, так что это моя интерпретация задания):
Бросаем симметричную монетку n раз. Она может упать либо орлом, либо решкой вверх. Найти вероятность выпадения двух решек (ну, [...]]]></description>
			<content:encoded><![CDATA[<p>Только что 2 часа убил на &#8220;простенькую задачку по комбинаторике&#8221;, как сказала наша преподаватель по моделированию. Если кто хочет поломать немного мозги, то вот сама задачка (исходного задания у меня нет, так что это моя интерпретация задания):</p>
<blockquote><p>Бросаем симметричную монетку n раз. Она может упать либо орлом, либо решкой вверх. Найти вероятность выпадения двух решек (ну, или орлов, не суть важно) подряд.</p></blockquote>
<p>Если перефразировать в более удобный вид, получаем:</p>
<blockquote><p>Есть массив, состоящий из нулей и единиц, размером в n элементов. Какова вероятность того, что в массиве есть два нуля, стоящие рядом.</p></blockquote>
<p>Задача просто бешенная, как бы проста она не казалась. У меня ответ получился только через рекурсию, а в конце в нём всплыл еще и дополнительный ряд Фибоначчи:</p>
<pre><code>q(n) = p(n) / (2 ^ n)
p(n)  = 2 * p(n - 1) + f(n - 1)
p(1)  = 0
f(1) = 1, f(2)  = 1, f(3) = 2, ...
f(n) - ряд Фибоначчи
q(n) - конечная вероятность, которую нужно найти</code></pre>
<p>Это просто пипец&#8230; Мне вот интересно, что такое &#8220;сложненькая&#8221; задача, если эта - &#8220;простенькая&#8221;.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/fxposter?a=FIQVNMG"><img src="http://feeds.feedburner.com/~f/fxposter?i=FIQVNMG" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/fxposter?a=A7K9Nrg"><img src="http://feeds.feedburner.com/~f/fxposter?i=A7K9Nrg" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/fxposter?a=qiAN9pg"><img src="http://feeds.feedburner.com/~f/fxposter?i=qiAN9pg" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/fxposter?a=QcAaTQG"><img src="http://feeds.feedburner.com/~f/fxposter?i=QcAaTQG" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/fxposter/~4/270987797" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.fxposter.org/2008/04/16/task-of-modelling/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=fxposter&amp;itemurl=http%3A%2F%2Fblog.fxposter.org%2F2008%2F04%2F16%2Ftask-of-modelling%2F</feedburner:awareness><feedburner:origLink>http://blog.fxposter.org/2008/04/16/task-of-modelling/</feedburner:origLink></item>
		<item>
		<title>5 игр наиболее запомнившихся игр, на которые я убивал своё время</title>
		<link>http://feeds.feedburner.com/~r/fxposter/~3/270861981/</link>
		<comments>http://blog.fxposter.org/2008/04/15/5-games/#comments</comments>
		<pubDate>Mon, 14 Apr 2008 21:55:43 +0000</pubDate>
		<dc:creator>FX Poster</dc:creator>
		
		<category><![CDATA[Разное]]></category>

		<category><![CDATA[Игры]]></category>

		<guid isPermaLink="false">http://blog.fxposter.org/2008/04/15/5-%d0%b8%d0%b3%d1%80-%d0%bd%d0%b0%d0%b8%d0%b1%d0%be%d0%bb%d0%b5%d0%b5-%d0%b7%d0%b0%d0%bf%d0%be%d0%bc%d0%bd%d0%b8%d0%b2%d1%88%d0%b8%d1%85%d1%81%d1%8f-%d0%b8%d0%b3%d1%80-%d0%bd%d0%b0-%d0%ba%d0%be%d1%82/</guid>
		<description><![CDATA[Забираю у Юры эстафетную палочку&#8230; Итак, поехали:

Мой первый компьютер у меня появился в далеком 1996-м году&#8230; Мне тогда было 8 или 9 лет, и в те времена такое явление, как &#8220;Домашний ПК&#8221; было распространено ну очень слабо (по крайней мере у нас во дворе и на квартале :)). С тех пор мы с моими друзьями [...]]]></description>
			<content:encoded><![CDATA[<p>Забираю у Юры <a href="http://blog.sribna.com/5-igr-kotoryie-zabrali-u-menya-ochen-mnogo-vremeni.htm">эстафетную палочку</a>&#8230; Итак, поехали:</p>
<ol>
<li>Мой первый компьютер у меня появился в далеком 1996-м году&#8230; Мне тогда было 8 или 9 лет, и в те времена такое явление, как &#8220;Домашний ПК&#8221; было распространено ну очень слабо (по крайней мере у нас во дворе и на квартале :)). С тех пор мы с моими друзьями стали периодически собираться у меня и&#8230; играть в разные игры&#8230; Игр было много, все были разные, каждая была по своему интересна, но&#8230; Больше всего запомнились две&#8230; И одна из них - незабываемый<strong> Duke Nukem 3D</strong>. Помню я, еще мой отец его проходил&#8230; Я в те времена к 3D-Action&#8217;ам относился очень хладнокровно - предпочитал всяческие стратегии и квесты. Но Дюка, его ногу, и его выражения я не забуду, наверное, никогда<em>. &#8220;Damn, those alien bastards are gonna pay for shooting up my ride!&#8221;</em>. Yeap. That&#8217;s it! That&#8217;s the real Duke Nukem! Долго ждал появление Duke Nukem Forever&#8230; Но&#8230; Увы и ах. Не суждено. Я буду помнить тебя, о, Дюк!</li>
<li>Вторая игра, которая дожила в моей голове до дня сегодняшнего - это первый <strong>Red Alert</strong>. Тогда он только появился. Это было нечто! Юниты, харвестеры, поддержка электричества в сети&#8230; Ах&#8230; Это было просто замечательно! Днями я мог сидеть и изничтожать жалкие компьютерные умы, игравшие против меня&#8230; А после&#8230; Во второй Red Alert я не играл&#8230; 3-й - не прошел полностью&#8230; Не зацепили&#8230;</li>
<li>Третьей, пожалуй, будет игра, за которой я провел больше всего времени, хотя сейчас она меня уже слабо привлекает. Это игра из жанра пошаговых стратегий, и, как вы уже наверное догадались, это - <strong>Heroes Of Might And Magic</strong>. Сначала вторая часть, потом третья, потом четвертая. Красиво, интересно, неожиданно - вот главные компоненты игры&#8230; Сначала игра на прохождение, а потом - дни и ночи долгих баталий с компьютером и с друзьями на огромном количестве разнообразнейших карт, подготовленных разработчиками&#8230;</li>
<li>Вот где-то после третьих &#8220;героев&#8221; я и перестал интересоваться стратегиями&#8230; Нет, не полностью, некоторые стратегии, вышедшие в это время я до сих пор помню - чего только стоят Демиурги (Nival&#8217;у респект), но как жанр -  меня они интересовать перестали. Почему? А потому что на день рождения (я уже и не помню, на какой) мне подарили одну офигеннейшую игру, которая перевернула все мои мысли о 3D-Action&#8217;ах&#8230; <strong>No One Lives Forever</strong>&#8230; Кейт Арчер просто пленила меня&#8230; Нет тупому наступлению и изничтожению врагов. Мы будем делать всё по умному - тихо, мирно, аккуратно! Вы думаете, что Splinter Cell - это круто? Вы не знаете ничего! Вот Кейт Арчер - это самое оно!</li>
<li>Здесь я бы мог вставить еще с десяток разных игр&#8230; Как новых, так и старых&#8230; Но, если я напишу здесь одну - это, по-моему, будет несправедливо по отношению к остальным&#8230; Хотя&#8230; Есть еще одна игра, которая может объединить и старые и новые мои воспоминания об играх на PC. Это <strong>Half-Life</strong>. Да, да. Те самые &#8220;пол жизни&#8221;, или, если по правильному - &#8220;полураспад&#8221;. В него я играл, как очень давно, так и недавно, причем, что самое интересное - первый халф я так до сих пор полностью и не прошел - я прошел Half-Life 2 и Half-Life Day One. Half-Life Day One&#8230; Именно так, насколько я помню, назывался диск, который был у меня, и в который мне так нравилось играть&#8230; Потом у меня, конечно, появилась полная версия первой части&#8230; Но играть в нее я уже не имел желания - не хотел портить те чувства, которые у меня оставил тот &#8220;первый день&#8221;.</li>
</ol>
<p>Эх&#8230; Интересно вспомнить былые времена, особенно, если чувствуешь, что они прошли&#8230; Окончательно и бесповоротно. Сейчас я могу иногда поиграть в какую-нибудь игру, но&#8230; С целью убить время, с целью просто пройти до конца&#8230; Без цели получить огромное удовольствие от прохождения&#8230; Из всех тех игр, которые сейчас выходят, в единицы мне действительно хочется играть (упомянутый выше второй халф)&#8230; В общем, на этом точка.</p>
<p><em><strong>PS</strong>. Эстафету забирайте&#8230; Я всё, что хотел, уже сказал&#8230;</em></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/fxposter?a=b9Oo7oG"><img src="http://feeds.feedburner.com/~f/fxposter?i=b9Oo7oG" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/fxposter?a=MjIUxog"><img src="http://feeds.feedburner.com/~f/fxposter?i=MjIUxog" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/fxposter?a=OvP2gvg"><img src="http://feeds.feedburner.com/~f/fxposter?i=OvP2gvg" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/fxposter?a=jKtlFQG"><img src="http://feeds.feedburner.com/~f/fxposter?i=jKtlFQG" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/fxposter/~4/270861981" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.fxposter.org/2008/04/15/5-games/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=fxposter&amp;itemurl=http%3A%2F%2Fblog.fxposter.org%2F2008%2F04%2F15%2F5-games%2F</feedburner:awareness><feedburner:origLink>http://blog.fxposter.org/2008/04/15/5-games/</feedburner:origLink></item>
	<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetFeedData?uri=fxposter</feedburner:awareness></channel>
</rss>
