<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ignar&#039;s log</title>
	<atom:link href="http://blog.ignar.name/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.ignar.name</link>
	<description></description>
	<lastBuildDate>Fri, 18 Jun 2010 12:20:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Ликвидация аварии на ЧАЭС</title>
		<link>http://blog.ignar.name/2010/06/18/%d0%bb%d0%b8%d0%ba%d0%b2%d0%b8%d0%b4%d0%b0%d1%86%d0%b8%d1%8f-%d0%b0%d0%b2%d0%b0%d1%80%d0%b8%d0%b8-%d0%bd%d0%b0-%d1%87%d0%b0%d1%8d%d1%81/</link>
		<comments>http://blog.ignar.name/2010/06/18/%d0%bb%d0%b8%d0%ba%d0%b2%d0%b8%d0%b4%d0%b0%d1%86%d0%b8%d1%8f-%d0%b0%d0%b2%d0%b0%d1%80%d0%b8%d0%b8-%d0%bd%d0%b0-%d1%87%d0%b0%d1%8d%d1%81/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 12:20:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Не профильное]]></category>

		<guid isPermaLink="false">http://blog.ignar.name/?p=1312</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.ignar.name/wp-content/uploads/2010/06/demotix5.jpg"><img src="http://blog.ignar.name/wp-content/uploads/2010/06/demotix5.jpg" alt="" title="Ликвидация аварии на ЧАЭС" width="700" height="601" class="aligncenter size-full wp-image-1313" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ignar.name/2010/06/18/%d0%bb%d0%b8%d0%ba%d0%b2%d0%b8%d0%b4%d0%b0%d1%86%d0%b8%d1%8f-%d0%b0%d0%b2%d0%b0%d1%80%d0%b8%d0%b8-%d0%bd%d0%b0-%d1%87%d0%b0%d1%8d%d1%81/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Я стал свободным человеком</title>
		<link>http://blog.ignar.name/2010/06/14/%d1%8f-%d1%81%d1%82%d0%b0%d0%bb-%d1%81%d0%b2%d0%be%d0%b1%d0%be%d0%b4%d0%bd%d1%8b%d0%bc-%d1%87%d0%b5%d0%bb%d0%be%d0%b2%d0%b5%d0%ba%d0%be%d0%bc/</link>
		<comments>http://blog.ignar.name/2010/06/14/%d1%8f-%d1%81%d1%82%d0%b0%d0%bb-%d1%81%d0%b2%d0%be%d0%b1%d0%be%d0%b4%d0%bd%d1%8b%d0%bc-%d1%87%d0%b5%d0%bb%d0%be%d0%b2%d0%b5%d0%ba%d0%be%d0%bc/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 19:24:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Не профильное]]></category>
		<category><![CDATA[О жизни]]></category>

		<guid isPermaLink="false">http://blog.ignar.name/?p=1258</guid>
		<description><![CDATA[Я окончил пятый курс Сегодня я стал свободным человеком, пройден последний экзамен, закрыты все предметы. Я окончил пятый курс, впереди только дипломная работа. За моими плечами пять лет образования по специальности «Аэронавигационные системы». Краткое резюме моего обучения Я не был отличником, у меня нет красного диплома, средний бал за последние три курса едва дотянет до [...]]]></description>
			<content:encoded><![CDATA[<p style="clear:both;">
<h2>Я окончил пятый курс</h2>
<p><strong>Сегодня я стал свободным человеком</strong>, пройден последний экзамен, закрыты все предметы. Я окончил пятый курс, впереди только дипломная работа.</p>
<p>За моими плечами пять лет образования по специальности «Аэронавигационные системы». </p>
<h2>Краткое резюме моего обучения</h2>
<p><a href="http://nau.edu.ua"><img src="http://blog.ignar.name/wp-content/uploads/2010/06/logo.gif" alt="" title="logo" width="139" height="115" class="alignleft size-full wp-image-1302" /></a><br />
Я не был отличником, у меня нет красного диплома, средний бал за последние три курса едва дотянет до твердой четверки, в общем, я весьма посредственный студент, если оценивать меня с точки зрения ценностей нашего отечественного образования.
</p>
<p><span id="more-1258"></span></p>
<p style="clear:both;">
<h2>Проблематика украинского образования</h2>
<p>Думаю, проблема украинского образования остро стоит перед каждым закончившим ВУЗ, <strong>студенты не готовы к жизни за пределами его дверей,</strong> особенно приезжие, у которых нет иного места проживания кроме общежития.</p>
<p>У студентов нет опыта работы и что самое проблемное, нет реальных навыков, с которыми можно было бы устраиваться на рентабельную работу.</p>
<p><strong>80%</strong> приезжих студентов вернется домой, <strong>10%</strong> устроится на низко оплачиваемую работу, остальные же <strong>10%</strong> найдут хорошую работу. Оценить количество молодых людей, которые будут работать по специальности, я не берусь и думаю их мало.</p>
<p><em>Эти цифры взяты мною из головы, и я говорю сейчас только о Киевском Национальном Авиационном Университете</em>. </p>
<p>На сайте НАУ можно увидеть красивые фотографии студентов в форме, которые сидят возле приборов (скорей всего уже морально устаревших), за мониторами с открытыми программами красивыми и сложными на первый взгляд. На это очень хорошо клюют абитуриенты и их мамы.</p>
<p class="alignleft">
<a href="http://www.ian.nau.edu.ua/index.php?page=ian"><img src="http://blog.ignar.name/wp-content/uploads/2010/06/ian1.jpg" alt="" title="ian1" width="206" height="156" class="size-full wp-image-1268" style="padding: 0 20px 20px 0" /></a><br />
<a href="http://www.ian.nau.edu.ua/index.php?page=ian"><img src="http://blog.ignar.name/wp-content/uploads/2010/06/ian2.jpg" alt="" title="ian2" width="203" height="149" class="size-full wp-image-1269" style="padding: 0 20px 20px 0" /></a><br />
<a href="http://www.ian.nau.edu.ua/index.php?page=ian"><img src="http://blog.ignar.name/wp-content/uploads/2010/06/ian3.jpg" alt="" title="ian3" width="208" height="156" class="size-full wp-image-1270" style="padding: 0 20px 20px 0" /></a>
</p>
<p><em>К сожалению это только показательный процесс. </em></p>
<blockquote style="color:#222;background-color:#eee"><p>Кадры университета стареют, обучения проходит иногда на ламповых образцах, новое поколение преподавателей на половину состоит из людей, которые не смогли найти для себя лучшей участи, вторая половина искренне верит полезность сделанного ими выбора (им я желаю терпения и больше сознательного молодого поколения).</p></blockquote>
<p><strong>Наша система образования это большой бизнес и быть ученым сейчас не модно</strong>. <strong>Модно &#8211; зарабатывать много денег</strong>, думаю этой фразой можно завершить критику нашего высшего образования, продолжать можно до бесконечности.
</p>
<p>
На самом деле не все так плохо, как я мог описать, бреши этой системы дают возможность работать на полный рабочий день, что я успешно делал третий и четвертый курс, найти и снять себе достойное место проживания, высыпаться и хорошо питаться. И самое главное выйти из стен университета с определенным опытом.</p>
<p>За эти пять лет, я прошел путь от веб-мастера до программиста, освоил <strong>PHP</strong>, <strong>Python</strong>, <strong>Ruby</strong> и  <strong>JavaScript</strong> в той или иной мере. Не могу сказать, что это мало, но точно и не много.</p>
<p>На ближайшее будущее я уже построил себе планы, теперь у меня будет достаточно времени на их реализацию, теперь меня надвигающейся сессией не запугаешь.
</p>
<h2>Мои пожелания</h2>
<p>
<strong>Я желаю</strong>, всем, кому еще предстоит учиться &#8211; <strong>выбирать осторожно</strong> и не строить солнечных планов относительно корочки о законченном образовании. </p>
<p><strong>Университет в нашем государстве, прежде всего только шанс</strong>, это хороший и настоящий шанс, остаться в чужом городе, найти свое любимое, или не любимое, дело, откосить от армии или просто хорошо погулять.</p>
<p><strong>Я желаю удачи</strong>, всем кто еще что-то сдает – сдавать, скоро лето и каникулы, скоро конец вашим бессонным ночам.</p>
<blockquote><p>Все сказанное выше мое субъективное мнение, не стоит остро реагировать на спорные моменты, исключения есть всегда.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.ignar.name/2010/06/14/%d1%8f-%d1%81%d1%82%d0%b0%d0%bb-%d1%81%d0%b2%d0%be%d0%b1%d0%be%d0%b4%d0%bd%d1%8b%d0%bc-%d1%87%d0%b5%d0%bb%d0%be%d0%b2%d0%b5%d0%ba%d0%be%d0%bc/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Что нужно знать про Eye Tracking?</title>
		<link>http://blog.ignar.name/2010/06/06/eye-tracking/</link>
		<comments>http://blog.ignar.name/2010/06/06/eye-tracking/#comments</comments>
		<pubDate>Sun, 06 Jun 2010 08:40:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[О работе]]></category>
		<category><![CDATA[Слайды]]></category>
		<category><![CDATA[slides]]></category>

		<guid isPermaLink="false">http://blog.ignar.name/?p=1256</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<object width="570" height="467"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=uxlx-eyetracking-presentation-hb-9-100513110626-phpapp02"/><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=uxlx-eyetracking-presentation-hb-9-100513110626-phpapp02"  type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="570" height="467"></embed></object>
]]></content:encoded>
			<wfw:commentRss>http://blog.ignar.name/2010/06/06/eye-tracking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MongoMapper &#8211; Mapping Ruby to and from Mongo</title>
		<link>http://blog.ignar.name/2010/06/05/mongomapper-mapping-ruby-to-and-from-mongo/</link>
		<comments>http://blog.ignar.name/2010/06/05/mongomapper-mapping-ruby-to-and-from-mongo/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 11:59:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ruby]]></category>
		<category><![CDATA[MongoDB]]></category>
		<category><![CDATA[NoSQL]]></category>
		<category><![CDATA[Ruby On Rails]]></category>

		<guid isPermaLink="false">http://blog.ignar.name/?p=1254</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<object width="570" height="467"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=mongomapper-100430155022-phpapp02"/><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=mongomapper-100430155022-phpapp02"  type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="570" height="467"></embed></object>
]]></content:encoded>
			<wfw:commentRss>http://blog.ignar.name/2010/06/05/mongomapper-mapping-ruby-to-and-from-mongo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Бенчмарк от RailsLab на 25 мая</title>
		<link>http://blog.ignar.name/2010/05/26/benchmarking-report-railslab-on-25-may/</link>
		<comments>http://blog.ignar.name/2010/05/26/benchmarking-report-railslab-on-25-may/#comments</comments>
		<pubDate>Wed, 26 May 2010 07:43:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[О работе]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[Ruby On Rails]]></category>

		<guid isPermaLink="false">http://blog.ignar.name/?p=1246</guid>
		<description><![CDATA[RailsLab представила наглядные графики использования различных версий Ruby, версий Ruby on Rails, плагинов и Gem&#8217;ов. Статистика собиралась из 4000 организаций, которые используют New Relic RPM Источник RailsLab]]></description>
			<content:encoded><![CDATA[<p>RailsLab представила наглядные графики использования различных версий Ruby, версий Ruby on Rails, плагинов и Gem&#8217;ов. Статистика собиралась из 4000 организаций, которые используют <a href="http://www.newrelic.com/" rel="nofollow">New Relic RPM</a><br />
<span id="more-1246"></span><br />
<div class="wp-caption alignnone" style="width: 430px"><img alt="Наиболее используемые версии Ruby" src="http://content.newrelic.com/railslab/images/RailsBench-Ruby-052510.png" title="Наиболее используемые версии Ruby" width="420" height="420" /><p class="wp-caption-text">Наиболее используемые версии Ruby</p></div><br />
<div class="wp-caption alignnone" style="width: 430px"><img alt="Наиболее используемые версии Ruby On Rails" src="http://content.newrelic.com/railslab/images/RailsBench-Rails-052510.png" title="Наиболее используемые версии Ruby On Rails" width="420" height="420" /><p class="wp-caption-text">Наиболее используемые версии Ruby On Rails</p></div><br />
<div class="wp-caption alignnone" style="width: 430px"><img alt="Наиболее используемые Gem&#039;ы" src="http://content.newrelic.com/railslab/images/RailsBench-Gems-052510.png" title="Наиболее используемые Gem&#039;ы" width="420" height="1082" /><p class="wp-caption-text">Наиболее используемые Gem&#039;ы</p></div><br />
<div class="wp-caption alignnone" style="width: 430px"><img alt="Наиболее используемые версии RPM&#039;ов" src="http://content.newrelic.com/railslab/images/RailsBench-Plugins-052510.png" title="Наиболее используемые версии RPM&#039;ов" width="420" height="1130" /><p class="wp-caption-text">Наиболее используемые версии RPM&#039;ов</p></div></p>
<p><em>Источник <a rel="nofollow" href="http://railslab.newrelic.com/2010/05/25/state-of-the-stack-a-ruby-on-rails-benchmarking-report-25-may-2010">RailsLab</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ignar.name/2010/05/26/benchmarking-report-railslab-on-25-may/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ну очень классно и наглядно про MongoDB и Ruby On Rails</title>
		<link>http://blog.ignar.name/2010/05/23/%d0%bd%d1%83-%d0%be%d1%87%d0%b5%d0%bd%d1%8c-%d0%ba%d0%bb%d0%b0%d1%81%d1%81%d0%bd%d0%be-%d0%b8-%d0%bd%d0%b0%d0%b3%d0%bb%d1%8f%d0%b4%d0%bd%d0%be-%d0%bf%d1%80%d0%be-mongodb/</link>
		<comments>http://blog.ignar.name/2010/05/23/%d0%bd%d1%83-%d0%be%d1%87%d0%b5%d0%bd%d1%8c-%d0%ba%d0%bb%d0%b0%d1%81%d1%81%d0%bd%d0%be-%d0%b8-%d0%bd%d0%b0%d0%b3%d0%bb%d1%8f%d0%b4%d0%bd%d0%be-%d0%bf%d1%80%d0%be-mongodb/#comments</comments>
		<pubDate>Sun, 23 May 2010 14:05:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Без рубрики]]></category>
		<category><![CDATA[О работе]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[Слайды]]></category>
		<category><![CDATA[DB]]></category>
		<category><![CDATA[MongoDB]]></category>
		<category><![CDATA[NoSQL]]></category>
		<category><![CDATA[Ruby On Rails]]></category>
		<category><![CDATA[slides]]></category>

		<guid isPermaLink="false">http://blog.ignar.name/?p=1235</guid>
		<description><![CDATA[.prezi-player { width: 550px; } .prezi-player-links { text-align: center; } MongoDB on Prezi &#160; .prezi-player { width: 550px; } .prezi-player-links { text-align: center; } RedDirt2010_MongoDB on Prezi]]></description>
			<content:encoded><![CDATA[<div class="prezi-player">
<style type="text/css" media="screen">.prezi-player { width: 550px; } .prezi-player-links { text-align: center; }</style>
<p><object id="prezi_vdulzxiww0xa" name="prezi_vdulzxiww0xa" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="550" height="400"><param name="movie" value="http://prezi.com/bin/preziloader.swf"/><param name="allowfullscreen" value="true"/><param name="allowscriptaccess" value="always"/><param name="bgcolor" value="#ffffff"/><param name="flashvars" value="prezi_id=vdulzxiww0xa&amp;lock_to_path=1&amp;color=ffffff&amp;autoplay=no"/><embed id="preziEmbed_vdulzxiww0xa" name="preziEmbed_vdulzxiww0xa" src="http://prezi.com/bin/preziloader.swf" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="550" height="400" bgcolor="#ffffff" flashvars="prezi_id=vdulzxiww0xa&amp;lock_to_path=1&amp;color=ffffff&amp;autoplay=no"></embed></object>
<div class="prezi-player-links">
<p><a title="description" href="http://prezi.com/vdulzxiww0xa/mongodb/">MongoDB</a> on <a href="http://prezi.com">Prezi</a></p>
</div>
</div>
<p>&nbsp;</p>
<div class="prezi-player">
<style type="text/css" media="screen">.prezi-player { width: 550px; } .prezi-player-links { text-align: center; }</style>
<p><object id="prezi_rmdddyumkijs" name="prezi_rmdddyumkijs" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="550" height="400"><param name="movie" value="http://prezi.com/bin/preziloader.swf"/><param name="allowfullscreen" value="true"/><param name="allowscriptaccess" value="always"/><param name="bgcolor" value="#ffffff"/><param name="flashvars" value="prezi_id=rmdddyumkijs&amp;lock_to_path=1&amp;color=ffffff&amp;autoplay=no"/><embed id="preziEmbed_rmdddyumkijs" name="preziEmbed_rmdddyumkijs" src="http://prezi.com/bin/preziloader.swf" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="550" height="400" bgcolor="#ffffff" flashvars="prezi_id=rmdddyumkijs&amp;lock_to_path=1&amp;color=ffffff&amp;autoplay=no"></embed></object>
<div class="prezi-player-links">
<p><a title="MongoDB presentation at Red Dirt Ruby Conf 2010;  Jim Mulholland &#038; John Taber" href="http://prezi.com/rmdddyumkijs/reddirt2010_mongodb/">RedDirt2010_MongoDB</a> on <a href="http://prezi.com">Prezi</a></p>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.ignar.name/2010/05/23/%d0%bd%d1%83-%d0%be%d1%87%d0%b5%d0%bd%d1%8c-%d0%ba%d0%bb%d0%b0%d1%81%d1%81%d0%bd%d0%be-%d0%b8-%d0%bd%d0%b0%d0%b3%d0%bb%d1%8f%d0%b4%d0%bd%d0%be-%d0%bf%d1%80%d0%be-mongodb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Доходчиво про MongoDB</title>
		<link>http://blog.ignar.name/2010/05/23/about-mongodb/</link>
		<comments>http://blog.ignar.name/2010/05/23/about-mongodb/#comments</comments>
		<pubDate>Sun, 23 May 2010 13:51:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[О работе]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[DB]]></category>
		<category><![CDATA[MongoDB]]></category>
		<category><![CDATA[NoSQL]]></category>
		<category><![CDATA[redis]]></category>

		<guid isPermaLink="false">http://blog.ignar.name/?p=1233</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<object width="570" height="467"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=whymongodbisawesome-100515164014-phpapp01"/><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=whymongodbisawesome-100515164014-phpapp01"  type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="570" height="467"></embed></object>
]]></content:encoded>
			<wfw:commentRss>http://blog.ignar.name/2010/05/23/about-mongodb/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Redis &#8211; введение</title>
		<link>http://blog.ignar.name/2010/05/20/redis-start-tutorial/</link>
		<comments>http://blog.ignar.name/2010/05/20/redis-start-tutorial/#comments</comments>
		<pubDate>Thu, 20 May 2010 08:18:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[О работе]]></category>
		<category><![CDATA[Программирование]]></category>
		<category><![CDATA[DB]]></category>
		<category><![CDATA[NoSQL]]></category>
		<category><![CDATA[redis]]></category>

		<guid isPermaLink="false">http://blog.ignar.name/?p=1197</guid>
		<description><![CDATA[Эта статья частичный перевод официальной документации с Google Code Пишу я ее, как минимальные необходимые знания, которые должны быть под рукой. Почему Redis? Redis &#8211; это NoSQL база данных, которая содержит только пары ключ &#8211; значение. Это не новая мода, а следующий ход в развитии нагруженных систем. Ключевая БД работает быстрее чем SQL БД, но [...]]]></description>
			<content:encoded><![CDATA[<p>Эта статья частичный перевод официальной документации с <a href="http://code.google.com/p/redis/">Google Code</a></p>
<p>Пишу я ее, как минимальные необходимые знания, которые должны быть под рукой.</p>
<h2>Почему Redis?</h2>
<p>Redis &#8211; это NoSQL база данных, которая содержит только пары ключ &#8211; значение.</p>
<p>Это не новая мода, а следующий ход в развитии нагруженных систем. Ключевая БД работает быстрее чем SQL БД, но и накладывает свои ограничения в работе, ни о каких join&#8217;ах и where речи быть не может.<br />
<span id="more-1197"></span><br />
Основные типы поддерживаемые Redis:</p>
<ul>
<li>Строка</li>
<li>Список</li>
<li>Сет</li>
<li>Сортируемый сет</li>
</ul>
<p>Детальней про типы данных <a href="http://code.google.com/p/redis/wiki/IntroductionToRedisDataTypes">A fifteen minutes introduction to Redis data types</a></p>
<p>Каждый тип данных имеет свой набор команд, так к примеру, список можно обновлять с помощью LPUSH и RPUSH, чего нельзя сделать с строкой. С полным списком команд можно ознакомиться <a href="http://code.google.com/p/redis/wiki/CommandReference">Redis Command Reference</a></p>
<p>Все данные находятся в памяти, но сохраняются на диск. Таким образом редис стойкий к перезагрузки сервера.</p>
<p>Есть два режима работы, один из них &#8211; сохранение своего состояния время от времени, условия такого сохранение настраиваются в зависимости от ваших нужд (это может происходить по определенным интервалам, или количеству операций).</p>
<p>Для старта сервера необходимо выполнить команду `make` и стартовать сервер `./redis-server`. Детальней можно почитать тут &#8211; <a href="http://code.google.com/p/redis/wiki/QuickStart">Quick Start</a></p>
<p>Получить доступ в окружение и попробовать Redis можно с помощью `./redis-cli`</p>
<pre name="code" class="php">
$ ./redis-cli set mykey somevalue
OK
$ ./redis-cli get mykey
somevalue
</pre>
<p>Спецификация задания ключей:</p>
<p>Ключи это фактически строки не содержащие пробела.</p>
<p>Несколько правил </p>
<ul>
<li>Слишком длинные ключи &#8211; плохая идея, старайтесь, что бы они не были длиннее 1024 байтов</li>
<li>Слишком короткие ключи не принесут вам пользы, к примеру разницы между `u:1000:pwd` и `user:1000:password` &#8211; нет никакой, прироста в производительности они вам не дадут, а только ухудшат читаемость.</li>
<li>Общее правило хорошего тона лучше всего показать на примере `object-type:id:field`  &#8211; это хорошо заданный ключ, так же ,как и `user:1000:password`</li>
</ul>
<h3>Тип <strong>String</strong></h3>
<pre name="code" class="php">
$ ./redis-cli set mykey "my binary safe value"
OK
$ ./redis-cli get mykey
my binary safe value

$ ./redis-cli set counter 100
OK
$ ./redis-cli incr counter
(integer) 101
$ ./redis-cli incr counter
(integer) 102
$ ./redis-cli incrby counter 10
(integer) 112
</pre>
<p>Операция `<em>incr</em>` &#8211; одна из отличительных и замечательных особенностей Redis, которая сильно отличает ее от MemCache или ему подобных.</p>
<h3>Тип <strong>Список</strong></h3>
<p>Список, как можно было догадаться &#8211; это упорядоченный набор элементов. Отличающие его команды это <em>LPUSH</em>, <em>RPUSH</em>, <em>LRANGE</em> и тд.</p>
<p>Наглядный пример</p>
<pre name="code" class="php">
$ ./redis-cli rpush messages "Hello how are you?"
OK
$ ./redis-cli rpush messages "Fine thanks. I'm having fun with Redis"
OK
$ ./redis-cli rpush messages "I should look into this NOSQL thing ASAP"
OK
$ ./redis-cli lrange messages 0 2
1. Hello how are you?
2. Fine thanks. I'm having fun with Redis
3. I should look into this NOSQL thing ASAP
</pre>
<p>Удобной возможностью является возможность задания ID вместо непосредственно данных</p>
<pre name="code" class="php">
$ ./redis-cli incr next.news.id
(integer) 1
$ ./redis-cli set news:1:title "Redis is simple"
OK
$ ./redis-cli set news:1:url "http://code.google.com/p/redis"
OK
$ ./redis-cli lpush submitted.news 1
OK
</pre>
<p>Мы получаем уникальный инкрементированный ID новости и используем его для задания ее атрибутов.</p>
<h3>Тип <strong>Сет</strong></h3>
<p>Сет &#8211; это не упорядоченный набор элементов, отсутствие сохранение порядка демонстрируется на примере:</p>
<pre name="code" class="php">
$ ./redis-cli sadd myset 1
(integer) 1
$ ./redis-cli sadd myset 2
(integer) 1
$ ./redis-cli sadd myset 3
(integer) 1
$ ./redis-cli smembers myset
1. 3
2. 1
3. 2
</pre>
<p>Сет имеет возможность проверки вхождения элемента в него </p>
<pre name="code" class="php">
$ ./redis-cli sismember myset 3
(integer) 1
$ ./redis-cli sismember myset 30
(integer) 0
</pre>
<p>Хорошей идеей использования сетов может быть отображение связей между объектами, к примеру отношения тега к статье:</p>
<pre name="code" class="php">
$ ./redis-cli sadd news:1000:tags 1
(integer) 1
$ ./redis-cli sadd news:1000:tags 2
(integer) 1
$ ./redis-cli sadd news:1000:tags 5
(integer) 1
$ ./redis-cli sadd news:1000:tags 77
(integer) 1
$ ./redis-cli sadd tag:1:objects 1000
(integer) 1
$ ./redis-cli sadd tag:2:objects 1000
(integer) 1
$ ./redis-cli sadd tag:5:objects 1000
(integer) 1
$ ./redis-cli sadd tag:77:objects 1000
(integer) 1
</pre>
<p>Так если ID нашей новости 1000, мы можем прикрепить к ней теги с ID 1,2,5 и 77 или наоборот теги закрепить за новостью 1000.</p>
<p>Получить полный списко тегов становиться тривиально просто</p>
<pre name="code" class="php">
$ ./redis-cli smembers news:1000:tags 1. 5 2. 1 3. 77 4. 2
</pre>
<p>Есть полезная команда и возможность в Redis, которая достаточно не тривиальна в своем исполнении. К примеру, если необходимо получить новости, которые содержат теги 1, 2, 10, и 27 одновременно.</p>
<pre name="code" class="php">
$ ./redis-cli sinter tag:1:objects tag:2:objects tag:10:objects tag:27:objects
... no result in our dataset composed of just one object ...
</pre>
<p><em>sinter</em> &#8211; составляем пересечение нескольких сетов.</p>
<p>Небольшое отклонение от темы, как получить уникальный идентификатор для строки?</p>
<p>В примерах выше мы задавали ID тегов, не оглядываясь, на то, существует ли уже такой.<br />
Фактически, для каждого такого тега необходимо иметь один уникальный идентификатор, и точно знать, что такой уже где-то и кем-то не задан ранее, если же такой тег существует получить его ID и продолжать работу дальше, иначе создать.</p>
<p>Верным решением такой проблемы будет следующая последовательность:</p>
<ul>
<li>Составить sha1 хеш тега: SHA1(redis) = b840fc02d524045429941cc15f59e41cb7be6c52</li>
<li>Попытаться его найти GET tag:b840fc02d524045429941cc15f59e41cb7be6c52:id</li>
<li>Если нам что-то будет возвращено работать с этим ID, поскольку такой тег уже существует</li>
<li>В другом случае создать идентификатор INCR next.tag.id, который, к примеру, вернет 123456</li>
<li>Ассоциировать новый ID SETNX tag:b840fc02d524045429941cc15f59e41cb7be6c52:id 123456, SETNX возвращает 1 в случае успеха.</li>
<li>Теперь у нас есть в распоряжении уникальный ID тега, если же вернет 0 продолжить работу GET tag:b840fc02d524045429941cc15f59e41cb7be6c52:id.</li>
</ul>
<p>Использовать в данном случае SET не верно, если в этот момент другой клиент добавит такой же тег, вам вернет уникальный идентификатор который продублирует тег (под другим ID).</p>
<h3>Сортированный <strong>Сет</strong></h3>
<p>Сортированный сет более удобен и функционален чем простой, фактически, это эквивалент индексов в SQL базах данных. </p>
<p>Пример работы с Sorted Set</p>
<pre name="code" class="php">
$ ./redis-cli zadd hackers 1940 "Alan Kay"
(integer) 1
$ ./redis-cli zadd hackers 1953 "Richard Stallman"
(integer) 1
$ ./redis-cli zadd hackers 1965 "Yukihiro Matsumoto"
(integer) 1
$ ./redis-cli zadd hackers 1916 "Claude Shannon"
(integer) 1
$ ./redis-cli zadd hackers 1969 "Linus Torvalds"
(integer) 1
$ ./redis-cli zadd hackers 1912 "Alan Turing"
(integer) 1
</pre>
<p>Redis очень быстро выводит данные в нужном порядке, это происходит в связи с тем, что ключи заранее отсортированы, каждый раз, когда вы добавляет новый элемент, Redis производит O(log(N)) операцию, в следствии которой данных хранятся отсортированные.</p>
<pre name="code" class="php">
$ ./redis-cli zrange hackers 0 -1
1. Alan Turing
2. Claude Shannon
3. Alan Kay
4. Richard Stallman
5. Yukihiro Matsumoto
6. Linus Torvalds
</pre>
<p>в возрастающем или спадающем порядке</p>
<pre name="code" class="php">
$ ./redis-cli zrevrange hackers 0 -1
1. Linus Torvalds
2. Yukihiro Matsumoto
3. Richard Stallman
4. Alan Kay
5. Claude Shannon
6. Alan Turing
</pre>
<p>Важная поправка, ZSets выводит данные в своем, определенном по умолчанию, порядке, но вы можете использовать команду <a href="http://code.google.com/p/redis/wiki/SortCommand">SORT</a>, которая изменит правило сортировки. Конечно, это влечет за собой нагрузку на систему, альтернативным решением является использование нескольких с разными правилами.</p>
<p>Сортированные сеты гораздо более функциональны чем кажутся, они дают возможность оперировать интервалами:</p>
<pre name="code" class="php">
$ ./redis-cli zrangebyscore hackers -inf 1950
1. Alan Turing
2. Claude Shannon
3. Alan Kay
</pre>
<pre name="code" class="php">
$ ./redis-cli zremrangebyscore hackers 1940 1960
(integer) 2
</pre>
<p>Обязательно для чтения при использовании Redis &#8211; <a href="http://simonwillison.net/static/2010/redis-tutorial/">Redis tutorial</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ignar.name/2010/05/20/redis-start-tutorial/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Слайды &#8211; избранные возможности HTML5</title>
		<link>http://blog.ignar.name/2010/04/28/slides-html5/</link>
		<comments>http://blog.ignar.name/2010/04/28/slides-html5/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 13:29:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[О работе]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[slides]]></category>

		<guid isPermaLink="false">http://blog.ignar.name/?p=1188</guid>
		<description><![CDATA[HTML5 Essentials]]></description>
			<content:encoded><![CDATA[<p>HTML5 Essentials<br />
<object width="570" height="467"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=html5-essentials-100225033212-phpapp01"/><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=html5-essentials-100225033212-phpapp01"  type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="570" height="467"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ignar.name/2010/04/28/slides-html5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>30 уроков создания дизайна в Photoshop</title>
		<link>http://blog.ignar.name/2010/04/26/30-photoshop-layout-design-tutorials/</link>
		<comments>http://blog.ignar.name/2010/04/26/30-photoshop-layout-design-tutorials/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 07:00:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Photoshop]]></category>

		<guid isPermaLink="false">http://blog.ignar.name/?p=1139</guid>
		<description><![CDATA[1. Carbon Fiber Layout 2.Business WordPress PSD Layout 3. Watercolored Background Web Portfolio Design 4. Clean and Colorful Web Layout 5. Creative Studio Web Page 6. Dark Portfolio Pixel Layout 7. Awesome Portfolio Layout 8. Create A Clean Blog Theme In Photoshop 9. Design A Creative Unusual Layout 10. Design a Layout for a Non-Profit [...]]]></description>
			<content:encoded><![CDATA[<p class="clearfix">
<h3>1. Carbon Fiber Layout</h3>
<p><a href="http://psdlearning.com/2008/08/carbon-fiber-layout/"><img src="http://blog.ignar.name/wp-content/uploads/2010/04/carbon-fiber-layout.jpg" alt="" title="carbon-fiber-layout" width="500" height="362" class="alignleft size-full wp-image-1140" /></a>
</p>
<p><span id="more-1139"></span></p>
<p class="clearfix">
<h3>2.Business WordPress PSD Layout</h3>
<p><a href="http://www.grafpedia.com/tutorials/create-business-wordpress-psd-layout"><img src="http://blog.ignar.name/wp-content/uploads/2010/04/business-wordpress-psd.jpg" alt="" title="business-wordpress-psd" width="500" height="469" class="alignleft size-full wp-image-1141" /></a>
</p>
<p class="clearfix">
<h3>3. Watercolored Background Web Portfolio Design</h3>
<p><a href="http://www.pvmgarage.com/en/2009/06/create-a-nice-web-portfolio-design-with-a-watercolored-background-in-photoshop/"><img src="http://blog.ignar.name/wp-content/uploads/2010/04/watercolored-background-portfolio-design.jpg" alt="" title="watercolored-background-portfolio-design" width="500" height="375" class="alignleft size-full wp-image-1142" /></a>
</p>
<p class="clearfix">
<h3>4. Clean and Colorful Web Layout</h3>
<p><a href="http://www.tutorial9.net/photoshop/create-a-clean-and-colorful-web-layout-in-photoshop/"><img src="http://blog.ignar.name/wp-content/uploads/2010/04/clean-colorful-web-layout.jpg" alt="" title="clean-colorful-web-layout" width="500" height="312" class="alignleft size-full wp-image-1143" /></a>
</p>
<p class="clearfix">
<h3>5. Creative Studio Web Page</h3>
<p><a href="http://www.adobetutorialz.com/articles/3017/1/Creative-Studio-Web-Page"><img src="http://blog.ignar.name/wp-content/uploads/2010/04/creative-studio-web-page.jpg" alt="" title="creative-studio-web-page" width="500" height="522" class="alignleft size-full wp-image-1144" /></a>
</p>
<p class="clearfix">
<h3>6. Dark Portfolio Pixel Layout</h3>
<p><a href="http://www.grafpedia.com/tutorials/create-dark-portfolio-pixel-layout"><img src="http://blog.ignar.name/wp-content/uploads/2010/04/dark-portfolio-pixel-layout.jpg" alt="" title="dark-portfolio-pixel-layout" width="500" height="469" class="alignleft size-full wp-image-1145" /></a>
</p>
<p class="clearfix">
<h3>7. Awesome Portfolio Layout</h3>
<p><a href="http://www.grafpedia.com/tutorials/2073"><img src="http://blog.ignar.name/wp-content/uploads/2010/04/awesome-portfolio-layout.jpg" alt="" title="awesome-portfolio-layout" width="500" height="469" class="alignleft size-full wp-image-1146" /></a>
</p>
<p class="clearfix">
<h3>8. Create A Clean Blog Theme In Photoshop</h3>
<p><a href="http://www.grafpedia.com/tutorials/design-a-clean-blog-theme-in-photoshop"><img src="http://blog.ignar.name/wp-content/uploads/2010/04/clean-blog-theme.jpg" alt="" title="clean-blog-theme" width="500" height="469" class="alignleft size-full wp-image-1147" /></a>
</p>
<p class="clearfix">
<h3>9. Design A Creative Unusual Layout</h3>
<p><a href="http://www.grafpedia.com/tutorials/design-creative-unusual-layout"><img src="http://blog.ignar.name/wp-content/uploads/2010/04/creative-unusual-layout.jpg" alt="" title="creative-unusual-layout" width="500" height="469" class="alignleft size-full wp-image-1148" /></a>
</p>
<p class="clearfix">
<h3>10. Design a Layout for a Non-Profit Organization in Photoshop</h3>
<p><a href="http://designm.ag/tutorials/non-profit-photoshop-layout/"><img src="http://blog.ignar.name/wp-content/uploads/2010/04/non-profit-organization.jpg" alt="" title="non-profit-organization" width="500" height="375" class="alignleft size-full wp-image-1149" /></a>
</p>
<p class="clearfix">
<h3>11. Professional Looking Design Studio Web Page Layout</h3>
<p><a href="http://www.designers-chair.com/2009/02/design-studio-web-page-layout/"><img src="http://blog.ignar.name/wp-content/uploads/2010/04/professional-looking-design-studio-layout.jpg" alt="" title="professional-looking-design-studio-layout" width="500" height="531" class="alignleft size-full wp-image-1150" /></a>
</p>
<p class="clearfix">
<h3>12. Graphic Design Studio Web Layout</h3>
<p><a href="http://www.grafpedia.com/tutorials/graphic-design-studio-web-layout"><img src="http://blog.ignar.name/wp-content/uploads/2010/04/graphic-design-studio-web-layout.jpg" alt="" title="graphic-design-studio-web-layout" width="500" height="469" class="alignleft size-full wp-image-1151" /></a>
</p>
<p class="clearfix">
<h3>13. Design a premium WordPress blog with Photoshop</h3>
<p><a href="http://www.grafpedia.com/tutorials/design-premium-wordpress-blog-photoshop"><img src="http://blog.ignar.name/wp-content/uploads/2010/04/premium-wordpress-blog-with-photoshop.jpg" alt="" title="premium-wordpress-blog-with-photoshop" width="500" height="534" class="alignleft size-full wp-image-1152" /></a>
</p>
<p class="clearfix">
<h3>14. Website Gallery Layout Design</h3>
<p><a href="http://psdvibe.com/2009/02/16/website-gallery-layout-design/"><img src="http://blog.ignar.name/wp-content/uploads/2010/04/website-gallery-layout-design.jpg" alt="" title="website-gallery-layout-design" width="500" height="487" class="alignleft size-full wp-image-1153" /></a>
</p>
<p class="clearfix">
<h3>15. How to Create a “Worn Paper” Web Layout Using Photoshop</h3>
<p><a href="http://sixrevisions.com/tutorials/photoshop-tutorials/how-to-create-a-worn-paper-web-layout-using-photoshop/"><img src="http://blog.ignar.name/wp-content/uploads/2010/04/worn-paper-web-layout.jpg" alt="" title="worn-paper-web-layout" width="500" height="513" class="alignleft size-full wp-image-1154" /></a>
</p>
<p class="clearfix">
<h3>16. Design an awesome colorful layout</h3>
<p><a href="http://www.grafpedia.com/tutorials/design-an-awesome-colorful-layout"><img src="http://blog.ignar.name/wp-content/uploads/2010/04/awesome-colorful-layout.jpg" alt="" title="awesome-colorful-layout" width="500" height="469" class="alignleft size-full wp-image-1155" /></a>
</p>
<p class="clearfix">
<h3>17. Design Studio Layout</h3>
<p><a href="http://psdvibe.com/2009/05/19/design-studio-layout-2/"><img src="http://blog.ignar.name/wp-content/uploads/2010/04/design-studio-layout.jpg" alt="" title="design-studio-layout" width="500" height="379" class="alignleft size-full wp-image-1156" /></a>
</p>
<p class="clearfix">
<h3>18. Freelance Portfolio Design</h3>
<p><a href="http://www.adobetutorialz.com/articles/3075/1/Freelancer-portfolio-design"><img src="http://blog.ignar.name/wp-content/uploads/2010/04/freelancer-portfolio-design.jpg" alt="" title="freelancer-portfolio-design" width="500" height="350" class="alignleft size-full wp-image-1157" /></a>
</p>
<p class="clearfix">
<h3>19. Design a trendy business &#038; finance layout</h3>
<p><a href="http://www.grafpedia.com/tutorials/design-trendy-business-finance-layout"><img src="http://blog.ignar.name/wp-content/uploads/2010/04/trendy-business-finance-layout.jpg" alt="" title="trendy-business-finance-layout" width="500" height="469" class="alignleft size-full wp-image-1158" /></a>
</p>
<p class="clearfix">
<h3>20. GreenPress WordPress Theme Design</h3>
<p><a href="http://psdvibe.com/2009/03/02/greenpress-wordpress-theme-design/"><img src="http://blog.ignar.name/wp-content/uploads/2010/04/greenpress-wordpress-theme-design.jpg" alt="" title="greenpress-wordpress-theme-design" width="500" height="722" class="alignleft size-full wp-image-1159" /></a>
</p>
<p class="clearfix">
<h3>21. Design a Web Template using the “960 Grid System”</h3>
<p><a href="http://photoshoptutorials.ws/photoshop-tutorials/layouts/design-a-web-template-using-the-960-grid-system.html"><img src="http://blog.ignar.name/wp-content/uploads/2010/04/web-template-using-960-grid-system.jpg" alt="" title="web-template-using-960-grid-system" width="500" height="500" class="alignleft size-full wp-image-1160" /></a>
</p>
<p class="clearfix">
<h3>22. Design a realistic website layout in photoshop</h3>
<p><a href="http://www.grafpedia.com/tutorials/design-a-realistic-website-layout-in-photoshop"><img src="http://blog.ignar.name/wp-content/uploads/2010/04/realistic-website-layout.jpg" alt="" title="realistic-website-layout" width="500" height="469" class="alignleft size-full wp-image-1161" /></a>
</p>
<p class="clearfix">
<h3>23. Create a Vibrant Modern Blog Design in Photoshop</h3>
<p><a href="http://www.blog.spoongraphics.co.uk/tutorials/create-a-vibrant-modern-blog-design-in-adobe-photoshop"><img src="http://blog.ignar.name/wp-content/uploads/2010/04/vibrant-modern-blog-design.jpg" alt="" title="vibrant-modern-blog-design" width="500" height="305" class="alignleft size-full wp-image-1162" /></a>
</p>
<p class="clearfix">
<h3>24. Create a Sleek, High-End Web Design from Scratch</h3>
<p><a href="http://psd.tutsplus.com/interface-tutorials/create-a-sleek-high-end-web-design-from-scratch/"><img src="http://blog.ignar.name/wp-content/uploads/2010/04/sleek-high-end-web-design.jpg" alt="" title="sleek-high-end-web-design" width="500" height="466" class="alignleft size-full wp-image-1163" /></a>
</p>
<p class="clearfix">
<h3>25. How to Create an Illustrative Web Design in Photoshop</h3>
<p><a href="http://sixrevisions.com/tutorials/photoshop-tutorials/how-to-create-an-illustrative-web-design-in-photoshop/"><img src="http://blog.ignar.name/wp-content/uploads/2010/04/illustrative-web-design.jpg" alt="" title="illustrative-web-design" width="500" height="672" class="alignleft size-full wp-image-1164" /></a>
</p>
<p class="clearfix">
<h3>26. How to Create a Stunning Grunge Portfolio</h3>
<p><a href="http://desizntech.info/2009/05/how-to-create-a-stunning-grunge-portfolio/"><img src="http://blog.ignar.name/wp-content/uploads/2010/04/stunning-grunge-portfolio.jpg" alt="" title="stunning-grunge-portfolio" width="500" height="354" class="alignleft size-full wp-image-1165" /></a>
</p>
<p class="clearfix">
<h3>27. How to Design a Web 2.0 Website Template-Seller Photoshop Mockup</h3>
<p><a href="http://blog.jakerocheleau.com/2009/05/30/how-to-design-a-web-20-website-template-seller-photoshop-mockup/"><img src="http://blog.ignar.name/wp-content/uploads/2010/04/web20-website-template-seller.jpg" alt="" title="web20-website-template-seller" width="500" height="439" class="alignleft size-full wp-image-1166" /></a>
</p>
<p class="clearfix">
<h3>28. Chocolate Pro WordPress Style Layout</h3>
<p><a href="http://psdvibe.com/2009/02/08/chocolate-pro-wordpress-style-layout/"><img src="http://blog.ignar.name/wp-content/uploads/2010/04/chocolate-pro-wordpress-style-layout.jpg" alt="" title="chocolate-pro-wordpress-style-layout" width="500" height="487" class="alignleft size-full wp-image-1167" /></a>
</p>
<p class="clearfix">
<h3>29. Web 2.0 photoshop layout tutorial</h3>
<p><a href="http://www.grafpedia.com/tutorials/web-20-photoshop-layout-tutorial"><img src="http://blog.ignar.name/wp-content/uploads/2010/04/web20-photoshop-layout-tutorial.jpg" alt="" title="web20-photoshop-layout-tutorial" width="500" height="469" class="alignleft size-full wp-image-1168" /></a>
</p>
<p class="clearfix">
<h3>30. Portfolio Gallery Layout</h3>
<p><a href="http://psdvibe.com/2009/01/26/portfolio-gallery-layout/"><img src="http://blog.ignar.name/wp-content/uploads/2010/04/portfolio-gallery-layout.jpg" alt="" title="portfolio-gallery-layout" width="500" height="487" class="alignleft size-full wp-image-1169" /></a>
</p>
<p class="clearfix">
<h3>31. Photoshop tutorial to design a clean business layout</h3>
<p><a href="http://www.grafpedia.com/tutorials/photoshop-tutorial-to-design-a-clean-business-layout"><img src="http://blog.ignar.name/wp-content/uploads/2010/04/clean-business-layout.jpg" alt="" title="clean-business-layout" width="500" height="469" class="alignleft size-full wp-image-1170" /></a>
</p>
<p class="clearfix">
]]></content:encoded>
			<wfw:commentRss>http://blog.ignar.name/2010/04/26/30-photoshop-layout-design-tutorials/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
