<?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>Мастерская интернет-разработчика &#187; Блоггерам</title>
	<atom:link href="http://adw0rd.ru/category/bloggers/feed/" rel="self" type="application/rss+xml" />
	<link>http://adw0rd.ru</link>
	<description>Блог Михаила Андреева (aka adw0rd)</description>
	<lastBuildDate>Fri, 11 May 2012 12:49:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Плагин для WordPress&#160;&#8212; Яндекс.Фотки 2.0</title>
		<link>http://adw0rd.ru/2009/yandex-fotki-2/</link>
		<comments>http://adw0rd.ru/2009/yandex-fotki-2/#comments</comments>
		<pubDate>Fri, 19 Jun 2009 00:00:13 +0000</pubDate>
		<dc:creator>adw0rd</dc:creator>
				<category><![CDATA[Wordpress и плагины]]></category>
		<category><![CDATA[Блоггерам]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Яндекс]]></category>

		<guid isPermaLink="false">http://adw0rd.ru/?p=1411</guid>
		<description><![CDATA[Наконец-то я собрался с силами и переписал плагин &#171;Яндекс.Фотки&#187;! В новой версии все переписано буквально с нуля и работает на основе &#171;API Яндекс.Фоток&#187;, поэтому версия именуется 2.0. Для работы с AtomPub (&#171;API Яндекс.Фоток&#187; работает по этой технологии) использую библиотеку SimpleXML. Возможности Выводить все фотографии пользователя Выводить фотографии в выбранном вами альбоме Как и ранее можно [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://adw0rd.ru/2009/yandex-fotki-2/" ><img src="http://adw0rd.ru/wp-content/uploads/2009/01/yandexfotki10.png" alt="yandex-fotki-20" title="yandex-fotki-20" width="166" height="177" class="alignright size-full wp-image-420" /></a></p>
<p>Наконец-то я собрался с силами и переписал плагин <strong>&laquo;Яндекс.Фотки&raquo;</strong>! В новой версии все переписано буквально с нуля и работает на основе &laquo;<noindex><a rel="nofollow" href="http://api.yandex.ru/fotki/" >API Яндекс.Фоток</a></noindex>&raquo;, поэтому версия именуется 2.0.</p>
<p>Для работы с <strong>AtomPub</strong> (&laquo;API Яндекс.Фоток&raquo; работает по этой технологии) использую библиотеку <strong>SimpleXML</strong>.</p>
<h3>Возможности</h3>
<ul>
<li>Выводить все фотографии пользователя</li>
<li>Выводить фотографии в выбранном вами альбоме</li>
<li>Как и ранее можно указывать количество результатов выдачи, но теперь НЕ ограничено 20-ю</li>
<li>Выводить названия фотографий</li>
<li>Указывать размер превью фотографии</li>
</ul>
<h3>Требования</h3>
<ul>
<li>PHP5</li>
<li>SimpleXML (в PHP5 по умолчанию установлен)</li>
</ul>
<p><br clear="all" /></p>
<p>Добавил плагин в <noindex><a rel="nofollow" href="http://mywordpress.ru/plugins/add-plugin/" >каталог сайта MyWordPress</a></noindex>. Также попробовал залить на <noindex><a rel="nofollow" href="http://wordpress.org" >официальный сайт WordPress</a></noindex>, но к сожалению запарился читать инструкции, может как-нибудь позже добавлю.</p>
<h3>Что не вошло в релиз, но планируется</h3>
<ol>
<li>Вывод всех альбомов пользователя (вам это надо?)</li>
<li>Выводить количество фотографий в альбоме и комментариев для фотографии</li>
<li>Просматривать защищенные приватностью фотографии (требуется ввод пароля)</li>
<li>Просмотр фотографий с помощью &laquo;lightbox&raquo; (посоветуйте что-нибудь на его роль, желательно что-нибудь нативное для WordPress) </li>
<li>Кеширование результатов выдачи, чтобы лишний раз не обращаться к &laquo;Яндексу&raquo; за фотографиями (посоветуйте средства кеширования, желательно нативные для WordPress)</li>
<li>Шорттеги, для вставки галереи или фотографии в пост (Примеры: [yf]album_1234[/yf]&nbsp;&mdash; галерея, [yf]photo_1234[/yf]&nbsp;&mdash; фотография)</li>
</ol>
<h3>Скриншоты</h3>
<p><a href="http://adw0rd.ru/wp-content/uploads/2009/06/wp-yandefotki-2-adminpanel.png" ><img src="http://adw0rd.ru/wp-content/uploads/2009/06/wp-yandefotki-2-adminpanel-300x218.png" alt="Панель управления опциями" title="Панель управления опциями" width="300" height="218" class="alignleft size-medium wp-image-3582" style="border: dotted  #c4c4c4 2px;padding:3px;" /></a></p>
<p><a href="http://adw0rd.ru/wp-content/uploads/2009/06/wp-yandefotki-2-sidebar.png" ><img src="http://adw0rd.ru/wp-content/uploads/2009/06/wp-yandefotki-2-sidebar-161x300.png" alt="Результат вывода фотографий" title="Результат вывода фотографий" width="161" height="300" class="alignleft size-medium wp-image-3583" style="border: dotted  #c4c4c4 2px;padding:3px;margin-left:20px;" /></a></p>
<p><br clear="all" /></p>
<h3>Использование</h3>
<div class="codecolorer-container html4strict default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:650px;"><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">h2</span>&gt;</span>Яндекс.Фотки<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">h2</span>&gt;</span><br />
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">ul</span>&gt;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;?php yandexFotki<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>; ?&gt;</span><br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">ul</span>&gt;</span></div></div>
<p><br clear="all" /><br />
Я себе уже установил новую версию и все работает замечательно, если заметите баги, то пишите о них в комментарии.</p>
<blockquote class="download">
<p>
Скачать плагин: <a href="http://adw0rd.ru/files/yandex-fotki-2.zip" >Яндекс.Фотки 2.0</a>
</p>
</blockquote>
<p><strong>P.S.</strong> Так же создал отдельную страницу <a href="http://adw0rd.ru/ext/wp-yandex-fotki/" >http://adw0rd.ru/ext/wp-yandex-fotki/</a> там будут публиковаться свежие версии, однако пост в блог тоже будет.</p>
]]></content:encoded>
			<wfw:commentRss>http://adw0rd.ru/2009/yandex-fotki-2/feed/</wfw:commentRss>
		<slash:comments>73</slash:comments>
		</item>
		<item>
		<title>Эффективная защита блога от спама в WordPress</title>
		<link>http://adw0rd.ru/2009/antispam/</link>
		<comments>http://adw0rd.ru/2009/antispam/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 22:54:31 +0000</pubDate>
		<dc:creator>adw0rd</dc:creator>
				<category><![CDATA[Wordpress и плагины]]></category>
		<category><![CDATA[Блоггерам]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Спам]]></category>

		<guid isPermaLink="false">http://adw0rd.ru/?p=3162</guid>
		<description><![CDATA[Мне ежедневно приходит порядка 10-30 комментариев, из них большинство&#160;&#8212; спам (90%), меня это очень сильно достало! Akismet не спасает, пропускает спам как решето, а иногда и нормальные комментарии помещает в спам! Вообще работает отвратительно! Ставил и другие плагины для WordPress, которые использовали общую базу спамеров или которые вписывали куки. У первого глючила база, у второго [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://adw0rd.ru/2009/antispam-wordpress/"><img src="http://adw0rd.ru/wp-content/uploads/2009/06/spam.jpg" alt="Лангольер" title="Лангольер" width="179" height="184" class="alignright size-full wp-image-3164" /></a></p>
<p>Мне ежедневно приходит порядка 10-30 комментариев, из них большинство&nbsp;&mdash; спам (90%), меня это очень сильно достало! <a href="http://akismet.com/">Akismet</a> не спасает, пропускает спам как решето, а иногда и нормальные комментарии помещает в спам! Вообще работает отвратительно!</p>
<p>Ставил и другие плагины для WordPress, которые использовали общую базу спамеров или которые вписывали куки. У первого глючила база, у второго не ставились куки!</p>
<p>На днях, <a href="http://blgo.ru/">Григорьев Олег aka vasa_c</a> затеял борьбу со спамерами и написал статью <a href="http://blgo.ru/blog/2009/06/05/antispam/">Антиспам своими руками</a>. И только после этого, я решил тоже начать борьбу со спамерами, и всетаки нашел активную спам-защиту! Теперь в блог не проходят спам-сообщения, вообще не одного!</p>
<p>В чем же секрет? Приступим...</p>
<h3>Теория</h3>
<p>В теории мы просто переименовываем нормальные поля формы, создаем фейковые поля для спам-ботов и скрываем их, что бы только спам-боты могли их заполнить, а человек их не увидит. Далее проверяем, если заполнены фейковые поля&nbsp;&mdash; то помечаем как спам или вовсе не добавляем эти комментарии!</p>
<p>В теории это годится для любого сайта, а сейчас расскажу подробнее о практической части применимой к WordPress!<br />
<span id="more-3162"></span></p>
<h3>Практика</h3>
<h4>Вносим правки в тему вордпресса</h4>
<p>Правим форму в вашей wordpress-теме (файл <strong>comments.php</strong>):</p>
<ol>
<li><strong>переименовываем &laquo;input с емайлом&raquo;</strong> из &laquo;email&raquo; в &laquo;WoRd1&raquo;</li>
<li>создаем <strong>новый &laquo;input&raquo;</strong> и называем его &laquo;email&raquo;</li>
<li><strong>Переименовываем &laquo;textarea&raquo;</strong> с именем &laquo;comment&raquo; в &laquo;WorD2&raquo;</li>
</ol>
<div class="codecolorer-container html4strict default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:650px;"><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">form</span> <span style="color: #000066;">action</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;/wp-comments-post.php&quot;</span> <span style="color: #000066;">method</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;post&quot;</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;commentform&quot;</span>&gt;</span> <br />
&nbsp;<br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> &nbsp; &nbsp;<span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;author&quot;</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;author&quot;</span> <span style="color: #000066;">tabindex</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;1&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span> <br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> &nbsp; &nbsp;<span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;email&quot;</span> &nbsp;<span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;emailh&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span> <br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> &nbsp; &nbsp;<span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;WoRd1&quot;</span> &nbsp;<span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;email&quot;</span> &nbsp;<span style="color: #000066;">tabindex</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;2&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span> <br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> &nbsp; &nbsp;<span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;url&quot;</span> &nbsp; &nbsp;<span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;url&quot;</span> &nbsp; &nbsp;<span style="color: #000066;">tabindex</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;3&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span> <br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">textarea</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;WoRd2&quot;</span> &nbsp;<span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;comment&quot;</span> <span style="color: #000066;">cols</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;100%&quot;</span> <span style="color: #000066;">rows</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;10&quot;</span> <span style="color: #000066;">tabindex</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;4&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">textarea</span>&gt;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> &nbsp; &nbsp;<span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;submit&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;submit&quot;</span> <span style="color: #000066;">tabindex</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;5&quot;</span> <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Отправить&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span> <br />
&nbsp; &nbsp; <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">input</span> &nbsp; &nbsp;<span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;comment_post_ID&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;hidden&quot;</span> <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;775&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span> <br />
<br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">form</span>&gt;</span></div></div>
<blockquote class="info">
<p>Вместо &laquo;WoRd1&raquo; и &laquo;WoRd2&raquo;&nbsp;&mdash; по возможности вставьте свои имена!</p>
</blockquote>
<p>Теперь надо скрыть созданный нами <strong>фейковый input</strong> &laquo;email&raquo;, но не через <strong>type=hidden</strong>, ибо могут заметить боты, а <strong>через CSS-стиль</strong> (труднее ботам, вряд ли они будут париться).</p>
<div class="codecolorer-container css default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:650px;"><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #cc00cc;">#emailh</span> <span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">none</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span></div></div>
<h4>Вносим правки в обработчик комментариев</h4>
<p>Далее, открываем файл <strong>wp-comments-post.php</strong> и добавляем в самом начале файла  наши созданные и измененные поля на обработку.</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:650px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
<span style="color: #009933; font-style: italic;">/**<br />
&nbsp;* Handles Comment Post to WordPress and prevents duplicate comment posting.<br />
&nbsp;*<br />
&nbsp;* @package WordPress<br />
&nbsp;*/</span><br />
<br />
<span style="color: #666666; font-style: italic;">// Подменяем comment (textarea)</span><br />
<span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'comment'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'WoRd2'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// Подменяем email и если заполнено поле &quot;email&quot;, помечаем &quot;автора&quot; как &quot;author_name [SPAM]&quot;.</span><br />
<span style="color: #666666; font-style: italic;">// Тут вы можете вызвать return; или exit; например!</span><br />
<span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'author'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'email'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> ? <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'author'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">:</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'author'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">' [SPAM]'</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'email'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'WoRd1'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span></div></div>
<p>Вот и все, антиспам защита готова!</p>
<p>Я протестил это решение в течении 3-х дней, НЕ ОДНОГО СПАМ КОММЕНТАРИЯ!</p>
<p><strong>upd:</strong> В течении 1 месяца и 7 дней по прежнему НЕ ОДНОГО СПАМ КОММЕНТАРИЯ!<br />
<strong>upd:</strong> В течении 1-го года и 1-го дня по прежнему НЕ ОДНОГО СПАМ КОММЕНТАРИЯ!</p>
]]></content:encoded>
			<wfw:commentRss>http://adw0rd.ru/2009/antispam/feed/</wfw:commentRss>
		<slash:comments>71</slash:comments>
		</item>
		<item>
		<title>Оптимизация сайта при помощи Google Page Speed и Dust-Me Selectors</title>
		<link>http://adw0rd.ru/2009/blog-optimization/</link>
		<comments>http://adw0rd.ru/2009/blog-optimization/#comments</comments>
		<pubDate>Sat, 06 Jun 2009 23:54:42 +0000</pubDate>
		<dc:creator>adw0rd</dc:creator>
				<category><![CDATA[Блоггерам]]></category>
		<category><![CDATA[Инструменты]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[FireFox]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[Кеш]]></category>
		<category><![CDATA[Оптимизация]]></category>

		<guid isPermaLink="false">http://adw0rd.ru/?p=3040</guid>
		<description><![CDATA[Расскажу про два замечательных плагина для FireFox, которые помогли мне оптимизировать клиентскую часть, это Google Page Speed и Dust-Me Selectors, о которых я узнал от Александра Макарова (тут и тут). Google Page Speed Сначала разберемся с Google Page Speed, плагин сходен YSlow и показывает узкие места, например &#171;не кешированный контент&#187; и &#171;график загрузки сайта&#187;. Плагин [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://adw0rd.ru/2009/blog-optimization/" ><img src="http://adw0rd.ru/wp-content/uploads/2009/06/blog-optimization.png" alt="blog-optimization" title="blog-optimization" width="239" height="70" class="alignright size-full wp-image-3098" /></a></p>
<p>Расскажу про два замечательных плагина для <strong>FireFox</strong>, которые помогли мне оптимизировать клиентскую часть, это <noindex><a rel="nofollow" href="http://code.google.com/intl/ru/speed/page-speed/" >Google Page Speed</a></noindex> и <noindex><a rel="nofollow" href="http://www.sitepoint.com/dustmeselectors/" >Dust-Me Selectors</a></noindex>, о которых я узнал от Александра Макарова (<noindex><a rel="nofollow" href="http://rmcreative.ru/blog/post/google-page-speed" >тут</a></noindex> и <noindex><a rel="nofollow" href="http://rmcreative.ru/blog/post/dust-me-selectors" >тут</a></noindex>).</p>
<h3>Google Page Speed</h3>
<p>Сначала разберемся с <strong>Google Page Speed</strong>, плагин сходен <strong>YSlow</strong> и показывает узкие места, например &laquo;не кешированный контент&raquo; и &laquo;график загрузки сайта&raquo;.</p>
<p>Плагин работает в <strong>FireBug</strong> и доступны две утилиты:</p>
<ol>
<li><strong>Page Speed</strong></li>
<li><strong>Page Speed Activity</strong></li>
</ol>
<p>Мы будем использовать первую утилиту &laquo;Page Speed&raquo;, которая покажет нам:</p>
<ul>
<li>Какой контент НЕ кеширован</li>
<li>Какие файлы JS и CSS не минимизированы</li>
<li>Какие картинки надо оптимизировать (пожать)</li>
<li>Какие CSS и JS файлы надо объединить в один файл</li>
<li>Какие CSS-стили не используются</li>
<li>Сколько занимают куки</li>
<li>Активированно ли Gzip-сжатие</li>
</ul>
<p>и т.д... А также даст полную информацию по каждой процедуре!</p>
<p>После того как определили узкие места, перейдем непосредственно к оптимизации вашего сайта:<br />
<span id="more-3040"></span></p>
<h4>Активированно ли Gzip-сжатие</h4>
<p>Как включить gzip-сжатие в Nginx, я рассказывал в статье &laquo;<a href="http://adw0rd.ru/2009/nginx-gzip/" >Настройка Gzip в Nginx</a>&raquo;.</p>
<h4>Какие CSS и JS файлы надо объединить в один файл</h4>
<p>Хотя я и понимаю проблему в создании соединений для каждого файла, объединять CSS или JS -файлы в один файл я не буду по причине зависимости от архитектуры движка моего блога.</p>
<p>Можно конечно заюзать <noindex><a rel="nofollow" href="http://webo.in/articles/habrahabr/87-web-optimizer-installation/" >Web Optimizer</a></noindex> или <noindex><a rel="nofollow" href="http://dklab.ru/lib/HTTP_StaticMerger/" >HTTP_StaticMerger</a></noindex>. Первое предпочтительней, имхо.</p>
<h4>Какой контент НЕ кеширован</h4>
<p>Перейдем к кешированию, это более важно для меня, посмотрите на рисунок:<br />
<a href="http://adw0rd.ru/wp-content/uploads/2009/06/pagespeed.png" ><img src="http://adw0rd.ru/wp-content/uploads/2009/06/pagespeed-300x257.png" alt="pagespeed" title="pagespeed" width="300" height="257" class="alignnone size-medium wp-image-3051" style="border: dotted #c4c4c4 2px; padding:3px;" /></a></p>
<p>Как видно, у меня множество картинок не кешированно... Точнее все картинки не кешированы :)</p>
<p>Исправим эту проблему путем внесения в конфиг Nginx параметра &laquo;expires&raquo;, установленного в &laquo;max&raquo; (максимальное кеширование, на долгие годы):</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:650px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; &nbsp; server_name adw0rd.ru www.adw0rd.ru;<br />
<br />
&nbsp; &nbsp; location ~<span style="color: #000000; font-weight: bold;">*</span> \.<span style="color: #7a0874; font-weight: bold;">&#40;</span>jpg<span style="color: #000000; font-weight: bold;">|</span>jpeg<span style="color: #000000; font-weight: bold;">|</span>gif<span style="color: #000000; font-weight: bold;">|</span>png<span style="color: #000000; font-weight: bold;">|</span>ico<span style="color: #7a0874; font-weight: bold;">&#41;</span>$ <span style="color: #7a0874; font-weight: bold;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; expires max;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; root <span style="color: #000000; font-weight: bold;">/</span>home<span style="color: #000000; font-weight: bold;">/</span>adw0rd.ru<span style="color: #000000; font-weight: bold;">/</span>www;<br />
&nbsp; &nbsp; <span style="color: #7a0874; font-weight: bold;">&#125;</span></div></div>
<p>Далее, перезагрузим <strong>Nginx</strong>:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:650px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666;"># </span><span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>rc.d<span style="color: #000000; font-weight: bold;">/</span>nginx restart</div></div>
<p>Вот и все. заходим в Nginx и видим что файлы теперь отдаются с заголовком:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:650px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Cache-Control: max-age=315360000</div></div>
<p>Что означает, что будет сохранен кеш в браузере на 10 лет :)</p>
<h4>Какие CSS-стили не используются</h4>
<p>Можно конечно посмотреть какие стили НЕ используются в самом <strong>Google Page Speed</strong>, однако хочу представить более наглядную утилиту <b>Dust-Me Selectors</b>, речь о которой пойдет далее... :)</p>
<h3>Dust-Me Selectors</h3>
<p>Позволяет проанализировать страницу и показать сколько и главное какие стили не используются на странице сайта, а также укажет в каком файле стилей они прописаны и номера строк в файле!</p>
<p><a href="http://adw0rd.ru/wp-content/uploads/2009/06/dustmeselectors.png" ><img src="http://adw0rd.ru/wp-content/uploads/2009/06/dustmeselectors-256x300.png" alt="dustmeselectors" title="dustmeselectors" width="256" height="300" class="alignnone size-medium wp-image-3073" style="border: dotted #c4c4c4 2px; padding:3px;" /></a></p>
<p>Далее, проходим этим плагином по основным страницам и делаем выводы&nbsp;&mdash; какие стили необходимо удалить из CSS-файла.</p>
<p>После этого я рекомендую воспользоваться сервисом <noindex><a rel="nofollow" href="http://www.codebeautifier.com/" >Code Beautifier</a></noindex>, для минимизации CSS. Об этом вы можете почитать в моей статье: <a href="http://adw0rd.ru/2008/css-code-beautifier/" >Сжимаем и минимизируем CSS при помощи Code Beautifier</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://adw0rd.ru/2009/blog-optimization/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Делаем правильный robots.txt и sitemap.xml</title>
		<link>http://adw0rd.ru/2009/robotstxt-and-sitemapxml/</link>
		<comments>http://adw0rd.ru/2009/robotstxt-and-sitemapxml/#comments</comments>
		<pubDate>Fri, 29 May 2009 00:08:36 +0000</pubDate>
		<dc:creator>adw0rd</dc:creator>
				<category><![CDATA[Wordpress и плагины]]></category>
		<category><![CDATA[Блоггерам]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Поисковые системы]]></category>
		<category><![CDATA[Яндекс]]></category>

		<guid isPermaLink="false">http://adw0rd.ru/?p=1410</guid>
		<description><![CDATA[Задача состоит в том, чтобы запретить некоторые каталоги для индексации поисковым системам, для того, чтобы избавится от дублированного контента. Например, на одну и ту же статью можно попасть как с /tag/ так и с /category/. Почему дублирующийся контент это плохо? Вот, что говорит по этому поводу Google (перевод), можно так же найти информацию по поводу [...]]]></description>
			<content:encoded><![CDATA[<p>Задача состоит в том, чтобы запретить некоторые каталоги для индексации поисковым системам, для того, чтобы избавится от дублированного контента. Например, на одну и ту же статью можно попасть как с <strong>/tag/</strong> так и с <strong>/category/</strong>.</p>
<h3>Почему дублирующийся контент это плохо?</h3>
<p>Вот, что <a href="http://googlewebmastercentral.blogspot.com/2006/12/deftly-dealing-with-duplicate-content.html">говорит по этому поводу Google</a> (<a href="http://gutorov.ru/blog/post_1166515450.html">перевод</a>), можно так же найти информацию по поводу поисковой системы Яндекс, где говорится что их алгоритмы банят сайты с дублирующимся контентом. Не знаю так это или нет, я не специалист в области SEO (если есть спецы&nbsp;&mdash; отпишите в камменты), но на всякий случай прикрою дубляжи!</p>
<p>Воспользуйтесь поиском от <strong>Google</strong> или <strong>Яндекс</strong> и вы найдете море информации по этой теме.</p>
<p><strong>UPD:</strong> <a href="http://www.xela.ru/2009/08/pro-dubliruyushhijsya-kontent-v-wordpress/">Про дублирующийся контент в WordPress</a>.</p>
<h3>Robots.txt</h3>
<blockquote>
<p>robots.txt — файл ограничения доступа к содержимому роботам на http-сервере. Файл должен находиться в корне сайта (т.е. иметь путь относительно имени сайта /robots.txt). При наличии нескольких субдоменов файл должен располагаться в корневом каталоге каждого из них. Данный файл дополняет стандарт Sitemaps, который служит прямо противоположной цели: облегчать роботам доступ к содержимому.</p>
<p><a href="http://ru.wikipedia.org/wiki/Robots.txt">http://ru.wikipedia.org/wiki/Robots.txt</a>
</p>
</blockquote>
<p>Также есть немного информации на форуме <strong>MasterTalk</strong>: <a href="http://mastertalk.ru/topic6726.html">Что такое robots.txt и для чего он нужен</a>, а также есть сайт посвященный этому файлу&nbsp;&mdash; <a href="http://robotstxt.org.ru/">Все о файле robots.txt по-русски</a>.</p>
<p>Вот еще эксперименты Дениса Болтикова по идеальному роботсу для WordPress: <a href="http://denis.boltikov.ru/2009/01/12/idealnyjj-robotstxt-dlya-wordpress/">Идеальный robots.txt для WordPress</a> и <a href="http://denis.boltikov.ru/2009/01/23/robots-txt-for-wordpress-2/">Идеальный robots.txt для WordPress — 2</a>.<br />
<span id="more-1410"></span></p>
<h3>Мой Robots.txt</h3>
<p>Так вот выглядит мой роботс:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:650px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">User-agent: *<br />
Disallow: /wp-<br />
Disallow: /xmlrpc.php<br />
Disallow: /category/<br />
Disallow: /page/<br />
Disallow: /trackback/<br />
Disallow: /feed<br />
Disallow: /comments/<br />
Disallow: */trackback/<br />
Disallow: */feed/<br />
Disallow: */comments/<br />
Disallow: /?feed=<br />
Disallow: /?s=<br />
Allow: /wp-content/uploads/<br />
Sitemap: http://adw0rd.ru/sitemap.xml</div></div>
<p>Я разрешил поисковым ботам индексировать меня только по <strong>&laquo;Тегам&raquo; и &laquo;Архиву&raquo;</strong>. Обратите внимание, я использую маску <strong>/wp- </strong>, для того чтобы URL&#39;ы <strong>wp-login.php, wp-register.php, wp-admin</strong> и т.д. попали под запрет индексации (Disallow).</p>
<p>Также я разрешил индексировать мой <strong>&laquo;/wp-content/uploads/&raquo;</strong> для сервисов <strong>&laquo;Яндекс.Картинки&raquo; и &laquo;Google Картинки&raquo;</strong>, так как там хранятся в основном картинки. И расшарил файл <strong>&laquo;sitemap.xml&raquo;</strong> для лучшей индексации.</p>
<p>Для проверки синтаксиса и структуры файла robots.txt существует ряд специализированных онлайн-служб:</p>
<ul>
<li><a href="http://www.yandex.ru/cgi-bin/test-robots">Служба Яндекса (выполняет только проверку синтаксиса)</a></li>
<li><a href="https://www.google.com/webmasters/tools/siteoverview?hl=ru">Google webmasters tools (позволяет проверить разрешения для каждой отдельной страницы)</a></li>
</ul>
<h3>Sitemaps</h3>
<p>Так же следует не забыть о файле <strong>sitemap.xml</strong></p>
<blockquote>
<p>Sitemaps — это XML-файл с информацией для поисковых систем (таких как Google, Yahoo, Ask.com, MSN, Яндекс) о страницах веб-сайта, которые подлежат индексации. Sitemaps может помочь поисковикам определить местонахождение страниц сайта, время их последнего обновления, частоту обновления и важность относительно других страниц сайта для того, чтобы поисковая машина смогла более разумно индексировать сайт.</p>
<p><a href="http://ru.wikipedia.org/wiki/Sitemaps">http://ru.wikipedia.org/wiki/Sitemaps</a>
</p>
</blockquote>
<p>Сайтмап не обязателен и поисковые системы не гарантируют его использование, он лишь помогает поисковым ботам проводить индексацию, однако я считаю что это очень полезным!</p>
<p>Для <strong>WordPress</strong> существует плагин&nbsp;&mdash; <a href="http://www.arnebrachhold.de/redir/sitemap-home/">Google XML Sitemaps</a> (другие <a href="http://adw0rd.ru/2009/blog-refactoring/">полезные плагины для WordPress используемые мной</a>). Этот плагин генерирует за вас файл <strong>sitemap.xml</strong>, в котором и содержится информация для поисковых ботов по индексации сайта. Вы сами можете его настроить и указать проценты приоритета для статей, страниц и т.д.</p>
<h3>Центры веб-мастеров Google и Яндекс</h3>
<p>Для ускорения индексации рекомендуется оповестить <strong>Google и Яндек</strong>с о ваших файлах <strong>robots.txt и sitemap.xml</strong>, для этого существуют специальные сервисы:</p>
<ul>
<li><a href="https://www.google.com/webmasters/tools/">Инструменты Google для веб-мастеров</a></li>
<li><a href="http://webmaster.yandex.ru">Яндекс.Вебмастер</a> (после добавления сайта вы сможете прикрепить <strong>sitemap.xml</strong>)</li>
</ul>
<h3>Использование http-пингов для уведомления поисковых систем о обновлениях в sitemaps</h3>
<p>Можно указать поисковым системам местонахождение файла Sitemap при помощи HTTP-запроса:</p>
<blockquote>
<p><strong>Google</strong></p>
<p>http://google.com/webmasters/sitemaps/ping?sitemap=&lt;sitemap_location&gt;</p>
<p><strong>Яндекс</strong></p>
<p>http://webmaster.yandex.ru/wmconsole/sitemap_list.xml?host=&lt;sitemap_location&gt;</p>
<p><strong>Yahoo!</strong></p>
<p>http://search.yahooapis.com/SiteExplorerService/V1/updateNotification?appid=SitemapWriter&#038;url=&lt;sitemap_location&gt;</p>
<p>http://search.yahooapis.com/SiteExplorerService/V1/ping?sitemap=&lt;sitemap_location&gt;</p>
<p><strong>Ask.com</strong></p>
<p>http://submissions.ask.com/ping?sitemap=&lt;sitemap_location&gt;</p>
<p><strong>Live Search</strong></p>
<p>http://webmaster.live.com/ping.aspx?siteMap=&lt;sitemap_location&gt;</p>
</blockquote>
<p>Где <strong>&lt;sitemap_location&gt;</strong> необходимо заменить на полный URL файла Sitemap. Например, чтобы добавить файл <em>http://www.example.com/sitemap.xml</em> в поисковик <strong>Google</strong>, нужно отправить HTTP-запрос <em>http://www.google.com/webmasters/sitemaps/ping?sitemap=http://www.example.com/sitemap.xml</em>.</p>
<p>Информация по пингам взята с <a href="http://ru.wikipedia.org/wiki/Sitemaps">http://ru.wikipedia.org/wiki/Sitemaps</a></p>
<p><strong>Google</strong> не рекомендует чаще чем раз в час его пинговать, вот <a href="http://www.google.com/support/webmasters/bin/answer.py?hl=ru&#038;answer=34609">пруфлинк</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://adw0rd.ru/2009/robotstxt-and-sitemapxml/feed/</wfw:commentRss>
		<slash:comments>103</slash:comments>
		</item>
		<item>
		<title>Плашечка для загрузок, дэмок и сносок в блоге</title>
		<link>http://adw0rd.ru/2009/download-layer-for-blog/</link>
		<comments>http://adw0rd.ru/2009/download-layer-for-blog/#comments</comments>
		<pubDate>Wed, 06 May 2009 22:34:38 +0000</pubDate>
		<dc:creator>adw0rd</dc:creator>
				<category><![CDATA[Wordpress и плагины]]></category>
		<category><![CDATA[Блоггерам]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://adw0rd.ru/?p=2322</guid>
		<description><![CDATA[Решил сделать плашечки для блога, потому что надоело рисовать вручную картинку для загрузки и т.д. Короче, терять время на персональное оформление каждой записи надоело мне и я решил сэкономить! Вот так выглядит плашечка для &#171;загрузок&#187;: Делается очень легко, в CSS файле надо добавить: blockquote.download &#160;&#123; &#160; &#160; color: #666; &#160; &#160; background: #D4FFC6 url&#40;'путь до [...]]]></description>
			<content:encoded><![CDATA[<p>Решил сделать плашечки для блога, потому что надоело рисовать вручную картинку для загрузки и т.д.<br />
Короче, терять время на персональное оформление каждой записи надоело мне и я решил сэкономить!</p>
<p>Вот так выглядит плашечка для &laquo;загрузок&raquo;:<br />
<a href="http://adw0rd.ru/wp-content/uploads/2009/05/blockquote-download.png" ><img src="http://adw0rd.ru/wp-content/uploads/2009/05/blockquote-download-mini.png" alt="blockquote-download-mini" title="blockquote-download-mini" width="493" height="63" class="alignnone size-full wp-image-2324" style="border:dotted #c4c4c4 1px;"/></a></p>
<p>Делается очень легко, в CSS файле надо добавить:</p>
<div class="codecolorer-container css default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:650px;"><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">blockquote<span style="color: #6666ff;">.download</span> &nbsp;<span style="color: #00AA00;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#666</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#D4FFC6</span> <span style="color: #993333;">url</span><span style="color: #00AA00;">&#40;</span><span style="color: #ff0000;">'путь до файла с фоновой картинкой'</span><span style="color: #00AA00;">&#41;</span> <span style="color: #993333;">no-repeat</span> <span style="color: #993333;">center</span> <span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">padding</span><span style="color: #00AA00;">:</span> <span style="color: #933;">5px</span> <span style="color: #933;">10px</span> <span style="color: #933;">3px</span> <span style="color: #933;">50px</span><span style="color: #00AA00;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span> <span style="color: #933;">2px</span> <span style="color: #993333;">solid</span> <span style="color: #cc00cc;">#c4c4c4</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span></div></div>
<p>А далее, в редакторе записей просто обрамляете необходимый текст в:</p>
<div class="codecolorer-container html4strict default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:650px;"><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">blockquote</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;download&quot;</span>&gt;</span><br />
&nbsp; &nbsp; Ссылки на скачку!<br />
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">blockquote</span>&gt;</span></div></div>
<p>И получаете:</p>
<blockquote class="download">
<p>Ссылки на скачку!</p>
</blockquote>
<p>То же самое проделываем для плашек &laquo;демка&raquo;, &laquo;дополнительна информация&raquo; и т.д.<br />
У меня они просто отличаются цветом фона и рисунком.</p>
]]></content:encoded>
			<wfw:commentRss>http://adw0rd.ru/2009/download-layer-for-blog/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Что такое Google Локатор?</title>
		<link>http://adw0rd.ru/2009/google-latitude/</link>
		<comments>http://adw0rd.ru/2009/google-latitude/#comments</comments>
		<pubDate>Wed, 04 Mar 2009 10:40:26 +0000</pubDate>
		<dc:creator>adw0rd</dc:creator>
				<category><![CDATA[Блоггерам]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://adw0rd.ru/?p=994</guid>
		<description><![CDATA[Google Локатор – это новый сервис Google для поиска друзей на карте, который поддерживается следующими типами мобильных устройств: устройства на платформе Android, например T-Mobile G1 (в ближайшее время); сенсорные устройства iPhone и iPod (в ближайшее время); большинство устройств BlackBerry с цветным экраном; большинство устройств под управлением ОС Windows Mobile 5.0; большинство устройств под управлением ОС Symbian [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-995" src="http://adw0rd.ru/wp-content/uploads/2009/03/google-latitude-logo.png" alt="google-latitude-logo" width="198" height="192" />Google Локатор – это новый сервис Google для поиска друзей на карте, который поддерживается следующими типами мобильных устройств:</p>
<div class="willItWork">
<ul>
<li>устройства на платформе Android, например T-Mobile G1 (в ближайшее время);</li>
<li>сенсорные устройства iPhone и iPod (в ближайшее время);</li>
<li>большинство устройств BlackBerry с цветным экраном;</li>
<li>большинство устройств под управлением ОС Windows Mobile 5.0;</li>
<li>большинство устройств под управлением ОС Symbian (смартфоны Nokia);</li>
<li>мобильные телефоны с поддержкой Java (J2ME), например Sony Ericsson (в ближайшее время).</li>
</ul>
</div>
<p><span id="more-994"></span>
</p>
<div class="willItWork" style="text-align:center;">
</div>
<p>
Подробнее <noindex><a rel="nofollow" href="http://www.google.ru/latitude/intro.html" >http://www.google.ru/latitude/intro.html</a></noindex></p>
]]></content:encoded>
			<wfw:commentRss>http://adw0rd.ru/2009/google-latitude/feed/</wfw:commentRss>
		<slash:comments>33</slash:comments>
		</item>
		<item>
		<title>FreeBSD. Резервирование данных при помощи fsbackup</title>
		<link>http://adw0rd.ru/2009/freebsd-fsbackup/</link>
		<comments>http://adw0rd.ru/2009/freebsd-fsbackup/#comments</comments>
		<pubDate>Tue, 03 Mar 2009 23:01:28 +0000</pubDate>
		<dc:creator>adw0rd</dc:creator>
				<category><![CDATA[Блоггерам]]></category>
		<category><![CDATA[Операционные системы]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[FTP]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Pyha]]></category>
		<category><![CDATA[Бэкап]]></category>

		<guid isPermaLink="false">http://adw0rd.ru/?p=924</guid>
		<description><![CDATA[После истории с rm -rf / я озаботился всетаки каждодневным бэкапом данных, сначала планировал написть свой shell-скриптик, но потом всетаки решил поискать готовое решение... Цель Резервное копирование файлов проектов Дамп базы данных проектов (MySQL) Выгрузка дампов на удаленный FTP сервер Средства В качестве средства для резвного копирования был выбран fsbackup, в силу того, что отвечал [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://adw0rd.ru/2009/freebsd-fsbackup/" ><img class="alignright size-full wp-image-971" src="http://adw0rd.ru/wp-content/uploads/2009/03/safe.png" alt="safe" width="249" height="229" /></a><br />
После истории с <a href="http://adw0rd.ru/2009/rm-rf/" ><strong>rm -rf /</strong></a> я озаботился всетаки <strong>каждодневным бэкапом данных</strong>, сначала планировал написть свой shell-скриптик, но потом всетаки решил поискать <strong>готовое решение</strong>...</p>
<h3>Цель</h3>
<ul>
<li> Резервное <strong>копирование файлов проектов</strong></li>
<li> <strong>Дамп базы данных</strong> проектов (MySQL)</li>
<li> Выгрузка дампов на <strong>удаленный FTP сервер</strong></li>
</ul>
<h3>Средства</h3>
<p>В качестве средства для резвного копирования был выбран <strong>fsbackup</strong>, в силу того, что отвечал нашим целям.</p>
<blockquote>
<p>Система <noindex><a rel="nofollow" href="http://www.opennet.ru/dev/fsbackup/" >fsbackup</a></noindex> была создана для обеспечения резервного копирования серверов разного масштаба на специально отведенном сервере бэкапа.</p>
</blockquote>
<h3>Установка</h3>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:650px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>ports<span style="color: #000000; font-weight: bold;">/</span>sysutils<span style="color: #000000; font-weight: bold;">/</span>fsbackup<br />
<span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span></div></div>
<p>Более подробно о работе с <a href="http://adw0rd.ru/2009/freebsd-ports-and-pkg/" >Портами и пакетами во FreeBSD</a>, а так же о <a href="http://adw0rd.ru/2009/freebsd-ports-and-pkg/" >обновлении дерева портов и установленных пакетов</a>.<br />
<span id="more-924"></span></p>
<h3>Настройка</h3>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:650px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>fsbackup</div></div>
<p>Создаем директорию для архивов</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:650px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">mkdir</span> .<span style="color: #000000; font-weight: bold;">/</span>archive</div></div>
<p>Сделаем резервную копию и отредактируем конфигурационный файл</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:650px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">cp</span> cfg_example server_backup.conf<br />
<span style="color: #c20cb9; font-weight: bold;">vi</span> server_backup.conf</div></div>
<p>Там все просто, да еще и на русском :)<br />
Теперь укажите используемый конфигурационный файл в <strong>create_backup.sh</strong></p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:650px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">config_files=&quot;server_backup.conf&quot;</div></div>
<h4>Настройки для FTP</h4>
<p>Файл <strong>server_backup.conf</strong></p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:650px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;"># Тип хранилища</span><br />
<span style="color: #007800;">$cfg_type</span> = <span style="color: #ff0000;">&quot;remote_ftp&quot;</span>;<br />
<br />
<span style="color: #666666; font-style: italic;"># Сервер на который будет копироваться бэкап.</span><br />
<span style="color: #007800;">$cfg_remote_host</span> = <span style="color: #ff0000;">&quot;server.remote.ru:21&quot;</span>;<br />
<br />
<span style="color: #666666; font-style: italic;"># Логин под которым будет сохранятся бэкап.</span><br />
<span style="color: #007800;">$cfg_remote_login</span> = <span style="color: #ff0000;">&quot;backup_login&quot;</span>;<br />
<br />
<span style="color: #666666; font-style: italic;"># Директория куда должны помещаться файлы бэкапа, директория должна присутствовать.</span><br />
<span style="color: #007800;">$cfg_remote_path</span> = <span style="color: #ff0000;">&quot;/home/backup_login/backup&quot;</span>;<br />
<br />
<span style="color: #666666; font-style: italic;"># пароль для входа по ftp.</span><br />
<span style="color: #007800;">$cfg_remote_password</span> = <span style="color: #ff0000;">&quot;backup_password&quot;</span>;</div></div>
<h4>Указываем директории и файлы для бэкапа</h4>
<p>Доходим до <strong>$cfg_root_path</strong> и указываем корневую директорию, относительно которой описаны пути для помещения файлов (См. __DATA__).</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:650px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666;">$</span>cfg_root_path = <span style="color: #ff0000;">&quot;/&quot;</span>;</div></div>
<p>Указываем директории и файлы для бэкапа (директива __DATA__)</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:650px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">__DATA__<br />
<br />
<span style="color: #666666; font-style: italic;"># Fsbackup</span><br />
<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>fsbackup<br />
<span style="color: #000000; font-weight: bold;">!/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>fsbackup<span style="color: #000000; font-weight: bold;">/</span>cache<br />
f<span style="color: #000000; font-weight: bold;">!</span>.core$<br />
f<span style="color: #000000; font-weight: bold;">!</span>^core$<br />
f<span style="color: #000000; font-weight: bold;">!</span>.o$<br />
f<span style="color: #000000; font-weight: bold;">!</span>.log$<br />
<br />
<span style="color: #666666; font-style: italic;"># BSD</span><br />
<span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>db<span style="color: #000000; font-weight: bold;">/</span>pkg<br />
<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src<span style="color: #000000; font-weight: bold;">/</span>sys<span style="color: #000000; font-weight: bold;">/</span>i386<span style="color: #000000; font-weight: bold;">/</span>conf<br />
<br />
<span style="color: #666666; font-style: italic;"># Users and PROJECT's</span><br />
<span style="color: #000000; font-weight: bold;">/</span>home<br />
<span style="color: #000000; font-weight: bold;">/</span>root<br />
<span style="color: #000000; font-weight: bold;">!/</span>home<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">ftp</span><br />
=<span style="color: #000000; font-weight: bold;">!</span>.netscape<span style="color: #000000; font-weight: bold;">/</span>cache<span style="color: #000000; font-weight: bold;">/</span><br />
=<span style="color: #000000; font-weight: bold;">!</span>.mozilla<span style="color: #000000; font-weight: bold;">/</span>.<span style="color: #000000; font-weight: bold;">*/</span>Cache<span style="color: #000000; font-weight: bold;">/</span><br />
=<span style="color: #000000; font-weight: bold;">!</span>.mozilla<span style="color: #000000; font-weight: bold;">/</span>.<span style="color: #000000; font-weight: bold;">*/</span>NewCache<span style="color: #000000; font-weight: bold;">/</span><br />
=<span style="color: #000000; font-weight: bold;">!</span>.mozilla<span style="color: #000000; font-weight: bold;">/</span>.<span style="color: #000000; font-weight: bold;">*/</span>News<span style="color: #000000; font-weight: bold;">/</span><br />
f<span style="color: #000000; font-weight: bold;">!</span>.<span style="color: #000000; font-weight: bold;">*</span>.avi$<br />
f<span style="color: #000000; font-weight: bold;">!</span>.<span style="color: #000000; font-weight: bold;">*</span>.mpeg$<br />
f<span style="color: #000000; font-weight: bold;">!</span>.<span style="color: #000000; font-weight: bold;">*</span>.mpg$<br />
f<span style="color: #000000; font-weight: bold;">!</span>.<span style="color: #000000; font-weight: bold;">*</span>.mp3$<br />
<br />
<span style="color: #666666; font-style: italic;"># System configuration</span><br />
<span style="color: #000000; font-weight: bold;">/</span>etc<br />
<span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>cron<span style="color: #000000; font-weight: bold;">/</span>tabs<br />
<span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>spool<span style="color: #000000; font-weight: bold;">/</span>cron<br />
<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>etc</div></div>
<h4>MySQL бэкап</h4>
<p>Для бэкапа MySQL надо отредактировать <strong>./scripts/mysql_backup.sh</strong></p>
<p>Указываем логин, пароль, указываем какие БД нам дампить.</p>
<p>А также необходимо отредактировать стартовый файл <strong>./create_backup.sh</strong> и указать что нам нужен бэкап MySQL!</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:650px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">backup_mysql=1</div></div>
<h4>Далее, добавляем в крон запись</h4>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:650px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">crontab <span style="color: #660033;">-e</span><br />
<span style="color: #000000;">0</span> <span style="color: #000000;">4</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>fsbackup<span style="color: #000000; font-weight: bold;">/</span>create_backup.sh<span style="color: #000000; font-weight: bold;">|</span> mail <span style="color: #660033;">-s</span><span style="color: #ff0000;">&quot;<span style="color: #780078;">`uname -n`</span> backup report&quot;</span> root</div></div>
<p>Краткая <noindex><a rel="nofollow" href="http://ru.wikipedia.org/wiki/Cron" >справка по крону</a></noindex> и <a href="http://adw0rd.ru/files/cron.png" >шпаргалка</a>.</p>
<h3>Секурность!</h3>
<p>По поводу шифрования бэкапа смотрите <noindex><a rel="nofollow" href="http://www.opennet.ru/dev/fsbackup/#shi" >http://www.opennet.ru/dev/fsbackup/#shi</a></noindex></p>
<h3>Восстановление данных</h3>
<p>Для полного восстановления данных из инкрементального бэкапа  может использоваться скрипт <strong>./scripts/fsrestore.sh</strong>,  для восстановления просто отредактируйте пути внутри скрипта и запустите его.</p>
]]></content:encoded>
			<wfw:commentRss>http://adw0rd.ru/2009/freebsd-fsbackup/feed/</wfw:commentRss>
		<slash:comments>57</slash:comments>
		</item>
		<item>
		<title>Обновился до WordPress 2.7.1</title>
		<link>http://adw0rd.ru/2009/obnovilsya-do-wordpress-271/</link>
		<comments>http://adw0rd.ru/2009/obnovilsya-do-wordpress-271/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 11:04:22 +0000</pubDate>
		<dc:creator>adw0rd</dc:creator>
				<category><![CDATA[Wordpress и плагины]]></category>
		<category><![CDATA[Блоггерам]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Релизы]]></category>

		<guid isPermaLink="false">http://adw0rd.ru/?p=745</guid>
		<description><![CDATA[Сегодня обновил свой WordPress, как всегда по старинке, через консоль. Вот парочка новостей о релизе: Спешу сообщить приятную новость, вышел WordPress 2.7.1 Новая версия WordPress 2.7.1 Были проблемы у CharnaD с производительностью... А я дампнул базу и затарил директорию с блогом, все работает корретно, видимого снижения производительности не выявлено! :) # cd /home/user/ # fetch [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-746 alignright" src="http://adw0rd.ru/wp-content/uploads/2009/02/wordpress.png" alt="wordpress" width="250" height="68" /></p>
<p>Сегодня обновил свой WordPress, как всегда по старинке, через консоль. Вот парочка новостей о релизе:</p>
<ul>
<li><noindex><a rel="nofollow" href="http://wp-skins.info/2009/02/11/speshu-soobschit-priyatnuyu-novost-vyishel-wordpress-271.html" >Спешу сообщить приятную новость, вышел WordPress 2.7.1</a></noindex></li>
<li><noindex><a rel="nofollow" href="http://blogproblog.com/novaya-versiya-wordpress-271/" title="Постоянная ссылка: Новая версия WordPress 2.7.1" rel="bookmark" >Новая версия WordPress 2.7.1 </a></noindex></li>
</ul>
<p>Были проблемы у <noindex><a rel="nofollow" href="http://www.charnad.com/blog/wordpress-271/" >CharnaD</a></noindex> с производительностью... А я дампнул базу и затарил директорию с блогом, все работает корретно, видимого снижения производительности не выявлено! :)</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:650px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;"># cd /home/user/</span><br />
<span style="color: #666666; font-style: italic;"># fetch http://ru.wordpress.org/wordpress-2.7.1-ru_RU.zip</span><br />
<span style="color: #666666; font-style: italic;"># cd ./backups/</span><br />
<span style="color: #666666; font-style: italic;"># mysqldump -udb_user -p db_name &gt; db_name_090212.sql</span><br />
<span style="color: #666666; font-style: italic;"># gzip db_name_090212.sql</span><br />
<span style="color: #666666; font-style: italic;"># tar -czf example.com_090212.tar.gz /home/user/example.com/wp_dir/*</span><br />
<span style="color: #666666; font-style: italic;"># cd ../</span><br />
<span style="color: #666666; font-style: italic;"># unzip ./wordpress-2.7.1-ru_RU.zip -d /home/user/example.com/</span><br />
<span style="color: #666666; font-style: italic;"># cd /home/user/example.com/</span><br />
<span style="color: #666666; font-style: italic;"># cp -R wordpress/* ../wp_dir/</span><br />
<span style="color: #666666; font-style: italic;"># rm -rf wordpress/</span></div></div>
<p><strong>P.S.</strong> Поменял адрес <noindex><a rel="nofollow" href="http://feeds2.feedburner.com/adw0rd" >http://feeds2.feedburner.com/adw0rd</a></noindex>, если не трудно переподпишитесь :)<span id="more-745"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://adw0rd.ru/2009/obnovilsya-do-wordpress-271/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Моделирование успешных блогов</title>
		<link>http://adw0rd.ru/2009/modelirovanie-uspeshnyx-blogov/</link>
		<comments>http://adw0rd.ru/2009/modelirovanie-uspeshnyx-blogov/#comments</comments>
		<pubDate>Fri, 06 Feb 2009 00:28:03 +0000</pubDate>
		<dc:creator>adw0rd</dc:creator>
				<category><![CDATA[Блоггерам]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://adw0rd.ru/?p=701</guid>
		<description><![CDATA[→ Сергей Жуковский&#160;&#8212; Моделирование успешных блогов]]></description>
			<content:encoded><![CDATA[<p><object width="470" height="353"><param name="movie" value="http://video.rutube.ru/6a6d248f014c01bc25e184d012d95ad5"></param><param name="wmode" value="window"></param><param name="allowFullScreen" value="true"></param><embed src="http://video.rutube.ru/6a6d248f014c01bc25e184d012d95ad5" type="application/x-shockwave-flash" wmode="window" width="470" height="353" allowFullScreen="true" ></embed></object><br />
<noindex><a rel="nofollow" href="http://z.codeby.net/2009/02/05/video-modelirovanie-uspeshnyx-blogov/" ><strong>→</strong> Сергей Жуковский&nbsp;&mdash; Моделирование успешных блогов</a></noindex></p>
]]></content:encoded>
			<wfw:commentRss>http://adw0rd.ru/2009/modelirovanie-uspeshnyx-blogov/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Подкасты, которые я слушаю!</title>
		<link>http://adw0rd.ru/2009/podcasting/</link>
		<comments>http://adw0rd.ru/2009/podcasting/#comments</comments>
		<pubDate>Fri, 23 Jan 2009 18:31:13 +0000</pubDate>
		<dc:creator>adw0rd</dc:creator>
				<category><![CDATA[Блоггерам]]></category>
		<category><![CDATA[Podcasting]]></category>

		<guid isPermaLink="false">http://adw0rd.ru/?p=663</guid>
		<description><![CDATA[Radio-T Еженедельный Hi-Tech подкаст. Авторы и приглашенные гости импровизируют на околокомпьютерные темы. Как правило, не залезая в глубокие дебри, однако иногда заносит... Слушаю фоном, удовольствия давно уже нет, чем больше они растягивают подкаст, тем больше не охота слушать. Поэтому в основном слушаю фоном, но иногда очень интересные бывают темы и даже целые выпуски, как например [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-665 alignright" src="http://adw0rd.ru/wp-content/uploads/2009/01/podcasting-50.png" alt="podcasting-50" width="222" height="222" /></p>
<p><noindex><a rel="nofollow" href="http://radio-t.com" ><img class="size-full wp-image-669 alignleft" src="http://adw0rd.ru/wp-content/uploads/2009/01/radion-t.gif" alt="radion-t" width="124" height="48" />Radio-T</a></noindex></p>
<p>Еженедельный Hi-Tech подкаст. Авторы и приглашенные гости импровизируют на околокомпьютерные темы. Как правило, не залезая в глубокие дебри, однако иногда заносит...</p>
<p>Слушаю фоном, удовольствия давно уже нет, чем больше они растягивают подкаст, тем больше не охота слушать. Поэтому в основном слушаю фоном, но иногда очень интересные бывают темы и даже целые выпуски, как например <noindex><a rel="nofollow" href="http://radio-t.com/wp-content/uploads/2008/11/picture-31.png" >Радио–Т #114 </a></noindex>(Званный гость o разных IDE).</p>
<hr />
<p><noindex><a rel="nofollow" href="http://budam.rpod.ru/" ><img class="alignleft size-full wp-image-668" style="margin: 5px;" src="http://adw0rd.ru/wp-content/uploads/2009/01/ava_ava_1224808288.jpg" alt="ava_ava_1224808288" width="79" height="79" />За cool жизнь</a></noindex></p>
<p>Подкаст обо всем, что происходит вокруг. Взгляд из Америки.</p>
<p>Будам делится опытом разработки программного обеспечения, рассказывает интересные истории. Всегда слушаю его с удовольствием! Правда по началу его акцент отпугивал... Но если пересилить, то много интересного можно услышать!</p>
<hr />
<p><noindex><a rel="nofollow" href="http://podcast.umputun.com/" ><img class="alignleft size-full wp-image-670" style="margin: 5px;" src="http://adw0rd.ru/wp-content/uploads/2009/01/ava_ava_1166035039.gif" alt="ava_ava_1166035039" width="79" height="79" />Еженедельный подкаст от Umputun</a></noindex></p>
<p>Не выдуманные рассказы из жизни Умпутуна в Чикаго (и не только), различные рассуждения и наблюдения, немного компьютерных разговоров, совсем чуть-чуть политики и порой немного юмора.</p>
<p>Дядька Умпутун делиться историей, опытом и новостями IT, Чикаго и своей семьи. Слушаю его также с удовольствием, как и Будама!</p>
<hr />
<p><noindex><a rel="nofollow" href="http://pod.internetno.net/" ><img class="alignleft size-full wp-image-671" style="margin: 5px;" src="http://adw0rd.ru/wp-content/uploads/2009/01/podshtuchki.png" alt="podshtuchki" width="147" height="80" />PodШтучки </a></noindex></p>
<p>Подкаст создан на базе уже известного блога про различные современные интернет-сервисы и стартапы — <noindex><a rel="nofollow" href="http://internetno.net/" >Интернетные штучки</a></noindex>.</p>
<p>Новости мира IT. Коротко и ясно, все новое за неделю. Выходил стабильно, после НГ перестал выходить... похмелье наверное :D</p>
<hr />
<p><noindex><a rel="nofollow" href="http://taop.rpod.ru/" ><img class="alignleft size-full wp-image-667" style="margin: 5px;" src="http://adw0rd.ru/wp-content/uploads/2009/01/art_of_programming.png" alt="art_of_programming" width="99" height="98" />The Art Of Programming</a></noindex></p>
<p>Подкасты об ООП, паттернах и т.д. (для студентов).</p>
<p>Рассказываю в основном о самых основах, слушаю, но не особо нравиться. Все время жду какого-то просветления, а в основном баяны. Они правильно себя позиционируют, как &laquo;для студентов&raquo;.</p>
<p>Раньше еще был неплохой подкаст <strong>Radio-U</strong>, потом он переименовывался в <strong>Dvicecast</strong>,<strong> </strong>а сейчас вроде вовсе вымер.</p>
<h3><span id="more-663"></span></h3>
<hr />
<h3>Интересно почитать:</h3>
<p><noindex><a rel="nofollow" href="http://www.developers.org.ua/archives/aleks_raiden/2008/09/23/russian-speaking-it-podcasts/" >Что послушать ИТ-специалисту — интересные подкасты на русском языке</a></noindex></p>
<p><noindex><a rel="nofollow" href="http://www.developers.org.ua/archives/aleks_raiden/2009/01/21/english-speaking-it-podcasts/" >Англоязычные подкасты или что послушать ИТ-специалисту</a></noindex></p>
<p><noindex><a rel="nofollow" href="http://www.podcastim.ru/" title="Подкастим!" >Подкастим! Для будущих, начинающих и мега-подкастеров</a></noindex></p>
]]></content:encoded>
			<wfw:commentRss>http://adw0rd.ru/2009/podcasting/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
	</channel>
</rss>

