<?xml version="1.0" encoding="windows-1251"?>

<rss version="2.0">
	
	<channel>
		
		<title>savvateev.org</title>
		<link>http://savvateev.org/</link>
		<description>Последние записи в блоге</description>
		<language>ru</language>
		
		<item>
			<title><![CDATA[Darnah Morgan]]></title>
			<link>http://savvateev.org/blog/49</link>
			<description><![CDATA[<p>
<a href="http://dl.dropbox.com/u/22797552/Darnah/4.jpg" class="lightbox fll"><img src="http://dl.dropbox.com/u/22797552/Darnah/thumbs/4.jpg" alt="4" /></a>

Вот решил у себя в блоге разместить несколько понравившихся фоток. Это модель <a href="http://www.modelmayhem.com/1344897">Darnah Morgan</a>, автор фотографий <a href="http://www.flickr.com/photos/alanant/">Illusive Photography</a>. Лицензия CC BY 2.0



</p><div class="clear"></div>



]]></description>
			<pubDate>Tue, 14 Feb 2012 10:15:40 +0400</pubDate>
		</item>
		
		<item>
			<title><![CDATA[PHP: правильный перебор массивов]]></title>
			<link>http://savvateev.org/blog/46</link>
			<description><![CDATA[<p>Довольно часто, в учебной литературе для перебора массивов предлагают следующую конструкцию:</p>
<pre><code class="brush: php">
$array = range(0, 999999);
$time_start = microtime(TRUE);
for($i=0; $i&lt;count($array); $i++){}
echo microtime(TRUE)-$time_start;	
</code></pre>

<p>На первый взгляд все хорошо, но использовать такой код крайне не желательно. Дело в том, что на каждой итерации цикла, а если говорить точнее, при проверке условия, будет вызываться функция count(). Можно конечно видоизменить код следуюшим образом:</p>

]]></description>
			<pubDate>Fri, 10 Feb 2012 14:19:42 +0400</pubDate>
		</item>
		
		<item>
			<title><![CDATA[6 вопросов, которые вы должны задать себе при выборе шрифтов]]></title>
			<link>http://savvateev.org/blog/47</link>
			<description><![CDATA[<p>Это перевод <a href="http://tympanus.net/codrops/2011/12/01/6-questions-you-should-ask-yourself-when-choosing-fonts/">http://tympanus.net/codrops/2011/12/01/6-questions-you-should-ask-yourself-when-choosing-fonts/</a></p>




<p>Если вы похожи на меня, то выбор шрифтов для вашего проекта обещает быть либо легкой, либо самой сложной задачей, с которой вы столкнетесь. Шрифты это гигантская часть любого дизайна, и они должны подбираться со всей ответственностью. Хороший выбор шрифтов может усиливать ваш дизайн, эффективно передавать идеи и цели сайта его посетителям. Плохой выбор может радикально изменить его и повлиять на то, как ваш сайт воспринимается пользователем.</p>

<p>Типографика действительно наука и многие дизайнеры изучают ее на протяжении всей карьеры. Но выбор эффективных шрифтов не требует глубокого изучения лигатур, глифов или высоты верхнего выноса. Вы просто должны задать себе несколько вопросов — хотя обучение всегда поможет в принятии трудных решений.</p>

]]></description>
			<pubDate>Thu, 09 Feb 2012 16:46:38 +0400</pubDate>
		</item>
		
		<item>
			<title><![CDATA[Установка неизвестных устройств — это просто!]]></title>
			<link>http://savvateev.org/blog/45</link>
			<description><![CDATA[<p>Вот типичная картина, которая наблюдается после установки операционной системы.<p>

<p><img src="http://savvateev.org/images/blog/m85nrvng54t.gif" alt="Утановка неизвестных устройст 1" /></p>]]></description>
			<pubDate>Fri, 28 Oct 2011 11:11:38 +0400</pubDate>
		</item>
		
		<item>
			<title><![CDATA[Настройка системного прокси в Windows 7]]></title>
			<link>http://savvateev.org/blog/44</link>
			<description><![CDATA[<p>Сегодня я расскажу о простом способе настройки системного прокси в Windows 7. Итак, для просмотра текущего состояния прокси воспользуемся командой <span class="bold">netsh winhttp show proxy</span>.</p>

<p><img src="http://savvateev.org/images/blog/ttfpxskjsk7.gif" alt="Просмотр текущего состояния прокси" /></p>

<p>Здесь мы видим, что система настроена на прямой доступ, без использования прокси. Для установки прокси служит команда <span class="bold">netsh winhttp set proxy</span>.</p>]]></description>
			<pubDate>Mon, 17 Oct 2011 09:34:12 +0400</pubDate>
		</item>
		
		<item>
			<title><![CDATA[date_diff: 27% неверных результатов]]></title>
			<link>http://savvateev.org/blog/39</link>
			<description><![CDATA[<p>Недавно, я написал функцию для вычисления разности между двумя датами. Почитать об этом можно <a href="http://savvateev.org/blog/37/">здесь</a>. А спустя некоторое время, мне стало известно, что для этих целей в PHP 5.3 появилась встроенная функция <a href="http://php.net/manual/ru/function.date-diff.php">date-diff</a>. Сначала, я было расстроился, что потратил время на изобретение велосипеда, а затем решил проверить роботу этих двух функций. Моя идея заключалась в следующем. Генерировалось энное кол-во пар дат. Вычислялась разница между ними первым и вторым способом, а затем сравнивался результат.</p>]]></description>
			<pubDate>Mon, 11 Apr 2011 11:07:24 +0400</pubDate>
		</item>
		
		<item>
			<title><![CDATA[PHP функция для нахождения разности между двумя датами]]></title>
			<link>http://savvateev.org/blog/37</link>
			<description><![CDATA[<p>Иногда перед разработчиком возникает задача в нахождении времени прошедшего между двумя датами. Я решил написать универсальную функцию для решения этой задачи. Она находит количество лет, месяцев, дней, часов, минут, секунд прошедших между двумя датами и возвращает их в виде массива.</p>]]></description>
			<pubDate>Fri, 08 Apr 2011 10:59:11 +0400</pubDate>
		</item>
		
		<item>
			<title><![CDATA[JQuery плагин для стилизации файл-инпутов]]></title>
			<link>http://savvateev.org/blog/38</link>
			<description><![CDATA[<p>На основе одной замечательной статьи (<a href="http://habrahabr.ru/blogs/ui/30560/">http://habrahabr.ru/blogs/ui/30560/</a>) сделал jQuery плагин для стилизации файл-инпутов. Он позволяет заменить стандартный файл-инпут</p>
<p><img alt="До" src="http://savvateev.org/images/blog/nn2mn1crzzv.gif" /></p>
<p>следующей вещью:</p>
<p><img alt="После" src="http://savvateev.org/images/blog/arazj1vifw7.gif" /></p>]]></description>
			<pubDate>Tue, 05 Apr 2011 16:09:19 +0400</pubDate>
		</item>
		
		<item>
			<title><![CDATA[PHP класс для фильтрации HTML кода]]></title>
			<link>http://savvateev.org/blog/36</link>
			<description><![CDATA[<p>В свое время я писал функцию для фильтрации введенного пользователем HTML кода на языке Perl. Если кому интересно почитать можно <a href="http://savvateev.org/blog/21/">здесь</a>. Но так, как Perl уже давно не мейнстрим я решил переписать все это дело на PHP.</p>

<p>Пользоваться фильтром нужно следующим образом. Сначала подключаем класс и создаем объект представляющий из себя фильтр.</p>
<pre><code class="brush: php">require_once &quot;html_filter_class.php&quot;;
$html_filter = new html_filter();</code></pre>]]></description>
			<pubDate>Mon, 28 Mar 2011 10:24:05 +0400</pubDate>
		</item>
		
		<item>
			<title><![CDATA[Памятка веб разработчику]]></title>
			<link>http://savvateev.org/blog/35</link>
			<description><![CDATA[<p>Сегодня я решил потратить немного времени и написать небольшую шпаргалку, с ссылками на ресурсы, которые смогут пригодиться веб разработчику. Я не претендую на то, чтобы разместить здесь огромный перечень ссылок по той или ной теме. Например, существует с десяток хороших IDE, и спорить о том какая из них лучше пожалуй бессмысленно. Каждый человек индивидуален, и у него есть свои предпочтения, свои вкусы. Ниже приведены лишь те ресурсы, которыми пользуюсь я. Надеюсь они будут полезны и вам.</p>]]></description>
			<pubDate>Fri, 18 Mar 2011 16:29:38 +0300</pubDate>
		</item>
		
		<item>
			<title><![CDATA[jQuery плагин для скругления углов изображений]]></title>
			<link>http://savvateev.org/blog/33</link>
			<description><![CDATA[<p>Сегодня мне наконец-то удалось отыскать хороший jQuery плагин для скругления углов изображений, который корректно работает во всех основных браузерах, в том числе и в IE6. Плагин позволяет задавать радиус скругления для каждого из углов, а также, если необходимо, цвет и размер границы изображения. В общем это творение оставило у меня только положительные впечатления. Рекомендую всем.</p>


<p><a href="http://www.steamdev.com/imgr/">Демонстрация работы плагина</a></p>]]></description>
			<pubDate>Fri, 11 Mar 2011 16:05:25 +0300</pubDate>
		</item>
		
		<item>
			<title><![CDATA[Обход ограничения на одновременное количество AJAX запросов в Firefox]]></title>
			<link>http://savvateev.org/blog/31</link>
			<description><![CDATA[<p>Пусть у нас имеется следующий скрипт</p>

<pre><code class="brush: js">$(document).ready(function(){
     for(i=1; i&lt;101; i++){$.get('test.php?n='+i)};
});
</code></pre>

<p>и файл test.php</p>

<pre><code class="brush: php">&lt;?php sleep(10) ?&gt;
</code></pre>

<p>Этот скрипт должен одновременно выполнить сто AJAX запросов. Посмотрим как на самом деле обстоит дело в браузере Firefox.</p>]]></description>
			<pubDate>Mon, 07 Mar 2011 22:10:32 +0300</pubDate>
		</item>
		
		<item>
			<title><![CDATA[jQuery плагин для отображения индикатора загрузки]]></title>
			<link>http://savvateev.org/blog/32</link>
			<description><![CDATA[<p>На просторах интернета натолкнулся на один очень полезный плагин jQuery, предназначенный для создания индикаторов загрузки. Посмотреть плагин в действии можно на <a href="http://neteye.github.com/activity-indicator.html">демо страничке</a>. Но есть одно маленькое но. Дело в том, что этот плагин не работает в браузерах IE c версиями jQuery начиная с 1.4.3. Там возникает ошибка, при проверке поддержки VML браузером. Я немного допилил плагин, чтобы исправить это. Ссылки для скачивания ниже.</p>

<ul>
     <li><a href="http://savvateev.org/download/jquery.activity-indicator-1.0.1.js">jquery.activity-indicator-1.0.1.js</a></li>
     <li><a href="http://savvateev.org/download/jquery.activity-indicator-1.0.1.min.js">jquery.activity-indicator-1.0.1.min.js</a></li>
</ul>]]></description>
			<pubDate>Mon, 07 Mar 2011 19:20:26 +0300</pubDate>
		</item>
		
		<item>
			<title><![CDATA[Реализация цепочки AJAX запросов]]></title>
			<link>http://savvateev.org/blog/30</link>
			<description><![CDATA[<p>Пусть у нас есть массив элементов, для каждого из которых нужно последовательно выполнить AJAX запрос (новый запрос должен отправляться, как только завершиться предыдущий). На самом деле в асинхронной модели программирования это задача не такая уж легкая, как может показаться на первый взгляд.</p>]]></description>
			<pubDate>Fri, 04 Mar 2011 10:00:58 +0300</pubDate>
		</item>
		
		<item>
			<title><![CDATA[Рекурсивный обход файлов]]></title>
			<link>http://savvateev.org/blog/29</link>
			<description><![CDATA[<p>Хочу поделиться небольшой функцией для рекурсивного обхода файлов в каталогах.</p>

<pre><code class="brush: php">function get_files($dir = &quot;.&quot;){
     $files = array();	
     if ($handle = opendir($dir)) {		
          while (false !== ($item = readdir($handle))) {		
               if (is_file(&quot;$dir/$item&quot;)) {
                    $files[] = &quot;$dir/$item&quot;;
               }		
               elseif (is_dir(&quot;$dir/$item&quot;) &amp;&amp; ($item != &quot;.&quot;) &amp;&amp; ($item != &quot;..&quot;)){
                    $files = array_merge($files, get_files(&quot;$dir/$item&quot;));
               }
          }	
          closedir($handle);
     }	
     return $files; 
}
</code></pre>]]></description>
			<pubDate>Fri, 21 Jan 2011 08:49:47 +0300</pubDate>
		</item>
		
		<item>
			<title><![CDATA[Слеш прямой, слеш обратный]]></title>
			<link>http://savvateev.org/blog/28</link>
			<description><![CDATA[<p><span class="bold">/\</span> Можете ли вы точно сказать какой из этих двух знаков является слешем (косой чертой), а какой обратным слешем (обратной косой чертой)? Если нет, то этот пост для вас. В нем я расскажу о простом способе, благодаря которому вы больше никогда не будете путать эти два знака.</p>]]></description>
			<pubDate>Sun, 26 Dec 2010 16:04:36 +0300</pubDate>
		</item>
		
		<item>
			<title><![CDATA[Учиться, наверное, очень полезно]]></title>
			<link>http://savvateev.org/blog/27</link>
			<description><![CDATA[<br />  

 <ul>
          <li>Мир освещается солнцем, а человек — знанием.</li>
          <li>Не учись до старости, а учись до смерти.</li>
          <li>Чему учился, тому и пригодился.</li>
          <li>Учение в детстве, как резьба на камне.</li>
          <li>Наукой люди кормятся.</li>
          <li>Нужда учит, а барщина мучит.</li>
          <li>Знание да наука на вороту не виснут.</li>
          <li>Золото добывают из земли, а знания – из книги.</li>
     </ul>
]]></description>
			<pubDate>Fri, 03 Dec 2010 12:58:55 +0300</pubDate>
		</item>
		
		<item>
			<title><![CDATA[Чаще всего, русские слова начинаются с буквы …]]></title>
			<link>http://savvateev.org/blog/25</link>
			<description><![CDATA[<p>Недавно, мы с женой играли в &quot;мозголом&quot; на одноклассниках. Это такая игра, где задают вопрос, а к нему прилагается четыре варианта ответов, и нужно угадать правильный ответ (а-ля &quot;Кто хочет стать миллионером?&quot;). В общем к чему я все это. Нам попался вопрос: &quot;С какой буквы чаще всего начинаются русские слова?&quot;. Мне сразу вспомнились пару моих статей на хабре, где я <a href="http://habrahabr.ru/blogs/personal/92706/">находил самую популярную букву русского языка</a>, и где <a href="http://habrahabr.ru/blogs/personal/92816/">определял среднюю длину русского слова</a>. И я подумал, почему бы в продолжении темы не написать еще один пост, только теперь не на хабре, а у себя в блоге. Итак, под катом ответ на вопрос из мозголома.</p>]]></description>
			<pubDate>Sun, 28 Nov 2010 14:07:04 +0300</pubDate>
		</item>
		
		<item>
			<title><![CDATA[Пишем функцию для фильтрации введенного HTML кода]]></title>
			<link>http://savvateev.org/blog/21</link>
			<description><![CDATA[<h4>Вступление</h4>
<p>Рано или поздно перед человеком, занимающимся веб-программированием возникает задача в фильтрации введенного пользователем HTML кода. Вот такая задача, однажды, встала и передо мной. Готового решения на тот момент мне найти не удалось. Вся информация, которую я откопал по этому вопросу, как обычно, ограничивалась советами, надо сделать так, надо сделать эдак, но конкретного, работающего решения, почему-то никто не предложил. Особенно порадовал один человек, который сказал, что если он и возьмется написать подобный фильтр, то только за большие деньги. В отличие от этого человека, в этом посте я во всех деталях расскажу как сделать фильтрацию введенного пользователем HTML кода, и в конце, вы получите работающий пример, который сможете применять в своих проектах.</p>]]></description>
			<pubDate>Thu, 16 Sep 2010 13:57:55 +0400</pubDate>
		</item>
		
		<item>
			<title><![CDATA[Делаем загрузочную флэшку с помощью grub4dos]]></title>
			<link>http://savvateev.org/blog/17</link>
			<description><![CDATA[<p>Пришла мне как-то в голову мысль сделать загрузочную флэшку и решил  я использовать для ее создания grub4dos. Это универсальный мультизагрузчик, основанный на <a href="http://ru.wikipedia.org/wiki/grub">GNU GRUB</a>. Ниже я хочу поделиться своим опытом, и рассказать о некоторых проблемах, с которыми мне пришлось столкнуться. Сразу покажу окончательный результат, чтобы можно было определиться стоит ли читать этот пост до конца. При загрузке компьютера с флэшки будем иметь следующее.</p><p><img alt="Снимок экрана" src="http://savvateev.org/images/blog/2hbsg1mlhhx.jpg" class="corner iradius16" /></p>]]></description>
			<pubDate>Tue, 29 Jun 2010 15:00:00 +0400</pubDate>
		</item>
	
	</channel>

</rss>
