<?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>Web Dev Notes</title>
	<atom:link href="http://webdev-notes.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://webdev-notes.com</link>
	<description>Tips &#38; Tricks: PHP, Rails, Nginx, Apache, Passanger, MySQL, PgSQL, RabbitMQ, Memcached, ...</description>
	<lastBuildDate>Mon, 16 Sep 2013 20:10:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Защита графической информации от ботов при парсинге страницы</title>
		<link>http://webdev-notes.com/%d0%b7%d0%b0%d1%89%d0%b8%d1%82%d0%b0-%d0%b3%d1%80%d0%b0%d1%84%d0%b8%d1%87%d0%b5%d1%81%d0%ba%d0%be%d0%b9-%d0%b8%d0%bd%d0%be%d1%84%d0%be%d1%80%d0%bc%d0%b0%d1%86%d0%b8%d0%b8-%d0%be%d1%82-%d0%b1%d0%be/</link>
		<comments>http://webdev-notes.com/%d0%b7%d0%b0%d1%89%d0%b8%d1%82%d0%b0-%d0%b3%d1%80%d0%b0%d1%84%d0%b8%d1%87%d0%b5%d1%81%d0%ba%d0%be%d0%b9-%d0%b8%d0%bd%d0%be%d1%84%d0%be%d1%80%d0%bc%d0%b0%d1%86%d0%b8%d0%b8-%d0%be%d1%82-%d0%b1%d0%be/#comments</comments>
		<pubDate>Sun, 15 Sep 2013 11:52:23 +0000</pubDate>
		<dc:creator>reklim</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://webdev-notes.com/?p=128</guid>
		<description><![CDATA[Иногда возникает необходимость скрыть графическую информацию от ботов при парсинге страницы. Был найден простой но интересный способ на страницах lifehacker.ru. Трюк очень прост. Атрибут SRC содержит ссылку на серую картинку. Атрибут data-original содержит ссылку на оригинальное изображение загруженое пользователем. После загрузки страницы, на событие onDomReady производится подмена SRC значением из data-original. Для этого необходим очень]]></description>
		<wfw:commentRss>http://webdev-notes.com/%d0%b7%d0%b0%d1%89%d0%b8%d1%82%d0%b0-%d0%b3%d1%80%d0%b0%d1%84%d0%b8%d1%87%d0%b5%d1%81%d0%ba%d0%be%d0%b9-%d0%b8%d0%bd%d0%be%d1%84%d0%be%d1%80%d0%bc%d0%b0%d1%86%d0%b8%d0%b8-%d0%be%d1%82-%d0%b1%d0%be/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Кэширование тэгами &#8211; наш вариант решений одной из главных проблем программирования</title>
		<link>http://webdev-notes.com/caching_with_tags/</link>
		<comments>http://webdev-notes.com/caching_with_tags/#comments</comments>
		<pubDate>Fri, 29 Jun 2012 12:14:31 +0000</pubDate>
		<dc:creator>Vitaly Tsevan</dc:creator>
				<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[memcached]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://webdev-notes.com/?p=115</guid>
		<description><![CDATA[Как известно, двумя основными проблемами программирования на данный момент являются именование и инвалидация кэша. И если первая проблема до сих пор отравляет жизнь мне и моим коллегам на нашем проекте sophia.org, то для решения второй мы кое-что предприняли. Sophia.org &#8211; проект, написанный на ruby с использованием фреймворка Rails. Для организации backend-кэширования на sophia.org мы используем]]></description>
		<wfw:commentRss>http://webdev-notes.com/caching_with_tags/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;багофича&#8221; однострочных if-ов</title>
		<link>http://webdev-notes.com/%d0%b1%d0%b0%d0%b3%d0%be%d1%84%d0%b8%d1%87%d0%b0-%d0%be%d0%b4%d0%bd%d0%be%d1%81%d1%82%d1%80%d0%be%d1%87%d0%bd%d1%8b%d1%85-if-%d0%be%d0%b2/</link>
		<comments>http://webdev-notes.com/%d0%b1%d0%b0%d0%b3%d0%be%d1%84%d0%b8%d1%87%d0%b0-%d0%be%d0%b4%d0%bd%d0%be%d1%81%d1%82%d1%80%d0%be%d1%87%d0%bd%d1%8b%d1%85-if-%d0%be%d0%b2/#comments</comments>
		<pubDate>Wed, 11 Apr 2012 12:24:00 +0000</pubDate>
		<dc:creator>saksmlz</dc:creator>
				<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://webdev-notes.com/?p=120</guid>
		<description><![CDATA[$ irb 1.9.3-p0-perf :001 &#62; puts a if a = 4 (irb):1: warning: found = in conditional, should be == NameError: undefined local variable or method `a' for main:Object from (irb):1 from /home/saks/.rvm/rubies/ruby-1.9.3-p0-perf/bin/irb:16:in `&#60;main&#62;' &#160; Выглядит это так, как будто выражение под if-ом, выполняется не в той же области видимости, в которой выполняется проверка условия.]]></description>
		<wfw:commentRss>http://webdev-notes.com/%d0%b1%d0%b0%d0%b3%d0%be%d1%84%d0%b8%d1%87%d0%b0-%d0%be%d0%b4%d0%bd%d0%be%d1%81%d1%82%d1%80%d0%be%d1%87%d0%bd%d1%8b%d1%85-if-%d0%be%d0%b2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>И еще немного странностей ruby</title>
		<link>http://webdev-notes.com/ruby-wtf/</link>
		<comments>http://webdev-notes.com/ruby-wtf/#comments</comments>
		<pubDate>Tue, 20 Mar 2012 15:17:14 +0000</pubDate>
		<dc:creator>Vitaly Tsevan</dc:creator>
				<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[wtf]]></category>

		<guid isPermaLink="false">http://webdev-notes.com/?p=109</guid>
		<description><![CDATA[Еще одна неожиданная упячка в ruby: vitaly@way:~/projects$ irb 1.9.3p0 :001 &#62; a NameError: undefined local variable or method `a' for main:Object from (irb):1 from /home/vitaly/.rvm/rubies/ruby-1.9.3-p0-perf/bin/irb:16:in `&#60;main&#62;' 1.9.3p0 :002 &#62; a = a =&#62; nil 1.9.3p0 :003 &#62; a =&#62; nil 1.9.3p0 :004 &#62; a = b NameError: undefined local variable or method `b&#8217; for main:Object]]></description>
		<wfw:commentRss>http://webdev-notes.com/ruby-wtf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Неожиданные &#8220;фишки&#8221; синтаксиса ruby</title>
		<link>http://webdev-notes.com/%d0%bd%d0%b5%d0%be%d0%b6%d0%b8%d0%b4%d0%b0%d0%bd%d0%bd%d1%8b%d0%b5-%d1%84%d0%b8%d1%88%d0%ba%d0%b8-%d1%81%d0%b8%d0%bd%d1%82%d0%b0%d0%ba%d1%81%d0%b8%d1%81%d0%b0-ruby/</link>
		<comments>http://webdev-notes.com/%d0%bd%d0%b5%d0%be%d0%b6%d0%b8%d0%b4%d0%b0%d0%bd%d0%bd%d1%8b%d0%b5-%d1%84%d0%b8%d1%88%d0%ba%d0%b8-%d1%81%d0%b8%d0%bd%d1%82%d0%b0%d0%ba%d1%81%d0%b8%d1%81%d0%b0-ruby/#comments</comments>
		<pubDate>Mon, 19 Mar 2012 10:19:17 +0000</pubDate>
		<dc:creator>saksmlz</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://webdev-notes.com/?p=92</guid>
		<description><![CDATA[Здесь со временем будут появляться странности или неожиданности синтаксиса или просто то, что вызывает недоумение. 1. Страности с return Изначально это выглядело вполне нормально: _cookies = if &#160; &#8230; elsif &#160; return &#39;foo&#39; else &#160; &#8230; end но в итоге: Exception encountered: #&#60;имя файла&#62;: void value expression&#62; если вам точно так нужно, можно схитрить: _cookies]]></description>
		<wfw:commentRss>http://webdev-notes.com/%d0%bd%d0%b5%d0%be%d0%b6%d0%b8%d0%b4%d0%b0%d0%bd%d0%bd%d1%8b%d0%b5-%d1%84%d0%b8%d1%88%d0%ba%d0%b8-%d1%81%d0%b8%d0%bd%d1%82%d0%b0%d0%ba%d1%81%d0%b8%d1%81%d0%b0-ruby/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Проблема с разбором заголовка Accept в Ruby on Rails</title>
		<link>http://webdev-notes.com/rails-accept-header-with-quality-parameter/</link>
		<comments>http://webdev-notes.com/rails-accept-header-with-quality-parameter/#comments</comments>
		<pubDate>Tue, 13 Mar 2012 15:08:49 +0000</pubDate>
		<dc:creator>uzzable</dc:creator>
				<category><![CDATA[HTTP]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://webdev-notes.com/?p=51</guid>
		<description><![CDATA[В один прекрасный момент приложение на нашем production-сервере (написанное на Ruby On Rails), начало докучать нам не страшными, но противными Exception&#8217;ами. Выглядело это так: CollectionsController# (ActionView::MissingTemplate) &#8220;Missing template collections/show, application/show with {:handlers=&#62;[:erb, :builder, :haml], :formats=&#62;[\"*/*;q=0.9\"], :locale=&#62;[:en, :en]}. В ходе расследования было выяснено, что такие запросы слал бот со следующим User-agent: DoCoMo/2.0 N905i(c100;TB;W24H16) (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)]]></description>
		<wfw:commentRss>http://webdev-notes.com/rails-accept-header-with-quality-parameter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Базовая серверная архитектура для высоконагруженного стартапа</title>
		<link>http://webdev-notes.com/bazovaya-servernaya-arhitectura-dlya-startapa/</link>
		<comments>http://webdev-notes.com/bazovaya-servernaya-arhitectura-dlya-startapa/#comments</comments>
		<pubDate>Thu, 09 Feb 2012 13:37:16 +0000</pubDate>
		<dc:creator>reklim</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Other]]></category>

		<guid isPermaLink="false">http://webdev-notes.com/?p=33</guid>
		<description><![CDATA[На начальном этапе разработки стартапа многие разработчики сталкиваются с проблемой создания достаточно гибкой и в будущем масштабируемой архитектуры приложения, оптимизированной для большой нагрузки. Мы хотели бы поделиться опытом в этой области. В качестве примера рассмотрим методы построения ресурса, базирующегося на Ruby On Rails. Тем не менее примеры, которые будут приведены ниже, с легкостью могут быть]]></description>
		<wfw:commentRss>http://webdev-notes.com/bazovaya-servernaya-arhitectura-dlya-startapa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
