<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:posterous="http://posterous.com/help/rss/1.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
  <channel>
    <title>Web Development</title>
    <link>http://web-dev.posterous.com</link>
    <description>Most recent posts at Web Development</description>
    <generator>posterous.com</generator>
    <link xmlns="http://www.w3.org/2005/Atom" href="http://posterous.com/api/sup_update#0bb1976ef" type="application/json" rel="http://api.friendfeed.com/2008/03#sup" />
    
    
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/webdev-notes" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="webdev-notes" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://posterous.superfeedr.com/" /><item>
      <pubDate>Fri, 30 Dec 2011 02:40:00 -0800</pubDate>
      <title>Интересные ссылки # 11/12/30</title>
      <link>http://web-dev.posterous.com/-111230</link>
      <guid>http://web-dev.posterous.com/-111230</guid>
      <description>
        <![CDATA[<p>
	<p><span style="text-decoration: underline; font-size: medium;">Ruby/Rails</span></p>
<ul>
<li><a href="http://jstorimer.com/2011/12/12/writing-ruby-scripts-that-respect-pipelines.html" target="_blank">Writing Ruby Scripts That Respect Pipelines</a> &ndash; Как писать Ruby скрипты с поддержкой юниксовых конвейеров.</li>
<li><a href="http://engineering.freeagent.com/2011/10/12/understanding-the-rails-logger/" target="_blank">Understanding the Rails Logger</a> &ndash; Немного о кишках логера в Rails.</li>
<li><a href="http://tenderlovemaking.com/2011/12/05/profiling-rails-startup-with-dtrace/" target="_blank">Profiling Rails startup with DTrace</a> &ndash; Использование DTrace для профилирования Rails приложений на примере загрузки фреймворка.</li>
<li><a href="http://weblog.rubyonrails.org/2011/12/20/rails-3-2-rc1-faster-dev-mode-routing-explain-queries-tagged-logger-store" target="_blank">Rails 3.2 RC1</a> &ndash; Что нас ждет в Rails 3.2.</li>
<li><a href="http://weblog.rubyonrails.org/2011/12/20/rails-master-is-now-4-0-0-beta" target="_blank">Rails/master is now 4.0.0.beta</a> &ndash; Началась разработка Rails 4.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">JavaScript</span></p>
<ul>
<li><a href="http://coffeescriptcookbook.com/" target="_blank">CoffeeScript Cookbook</a> &ndash; Беслпатная онлайн книга с CoffeeScript рецептами.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">CSS</span></p>
<ul>
<li><a href="http://0to255.com/" target="_blank">0to255</a> &ndash; Веб-сервис, упрощающий подбор цветов.</li>
<li><a href="http://web-standards.ru/articles/nth-child/" target="_blank">Как работает nth-child</a>.</li>
<li><a href="http://robots.thoughtbot.com/post/12974565313/controlling-color-with-sass-color-functions " target="_blank">Controlling color with Sass color functions</a> &ndash; Некоторые из встроенных функций Sass для удобной работы с цветами.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">HTML5</span></p>
<ul>
<li><a href="http://praegnanz.de/html5video/" target="_blank">HTML5 Video Player Comparison</a> &ndash; Сводная таблица плюсов и минусов HTML5 видео проигрывателей.</li>
<li><a href="http://www.aniketpant.com/article/html5-semantics-and-good-coding-practices" target="_blank">HTML5 Semantics and Good Coding Practices</a> &ndash; О семантике и рекомендациях по программированию на HTML5.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">Разное</span></p>
<ul>
<li><a href="https://github.com/plamoni/SiriProxy" target="_blank">SiriProxy</a> &ndash; &laquo;Домашний&raquo; сервер для Siri.</li>
<li><a href="http://pansentient.com/2011/04/spotify-technology-some-stats-and-how-spotify-works/" target="_blank">How Spotify Works</a> &ndash; Немного о внутреннем устройстве <a href="http://www.spotify.com/" target="_blank">Spotify</a>.</li>
<li><a href="http://alexmaccaw.co.uk/posts/async_ui" target="_blank">Asynchronous UIs - the future of web user interfaces</a> &ndash; Здравые идеи об интерфейсе современных веб-приложений.</li>
<li><a href="http://lisp-univ-etc.blogspot.com/2011/12/blog-post.html" target="_blank">Реальная норма часов работы программиста в день</a>.</li>
</ul>
	
</p>

<p><a href="http://web-dev.posterous.com/-111230">Permalink</a> 

	| <a href="http://web-dev.posterous.com/-111230#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/348062/avatar_2_100x128.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/10Ni7NeArUR</posterous:profileUrl>
        <posterous:firstName />
        <posterous:lastName />
        <posterous:nickName>ptzn</posterous:nickName>
        <posterous:displayName>ptzn</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Fri, 09 Dec 2011 01:09:00 -0800</pubDate>
      <title>Интересные ссылки # 11/12/09</title>
      <link>http://web-dev.posterous.com/-111209</link>
      <guid>http://web-dev.posterous.com/-111209</guid>
      <description>
        <![CDATA[<p>
	<p><span style="text-decoration: underline; font-size: medium;">Ruby/Rails</span></p>
<ul>
<li><a href="http://highgroove.com/articles/2011/12/06/fake-it.html" target="_blank">Fake the filesystem during unit tests</a> &ndash; Gem для тестирования взаимодействия с файловой системой.</li>
<li><a href="http://robots.thoughtbot.com/post/13641910701/tidy-views-and-beyond-with-decorators " target="_blank">Tidy views and beyond with Decorators</a> &ndash; Использование декораторов для отображения данных в Rails.</li>
<li><a href="http://weblog.rubyonrails.org/2011/12/6/what-s-new-in-edge-rails-explain" target="_blank">В Rails 3.2 появится возможность выполнять EXPLAIN прямо из rails консоли</a>.</li>
<li><a href="http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/41149" target="_blank">autoload будет исключен из ruby 3.0</a>.</li>
<li>Руководства по стилю кода приложений на <a href="https://github.com/bbatsov/ruby-style-guide " target="_blank">Ruby</a> и <a href="https://github.com/bbatsov/rails-style-guide" target="_blank">Rails</a>.</li>
<li><a href="http://7vn.ru/blog/2011/11/18/object-model/" target="_blank">Объектная модель Ruby</a>.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">JavaScript</span></p>
<ul>
<li><a href="http://dev.opera.com/articles/view/efficient-javascript/" target="_blank">Efficient JavaScript</a> &ndash; Набор советов по написанию быстрого JavaScript.</li>
<li><a href="https://github.com/rwldrn/idiomatic.js" target="_blank">Principles of Writing Consistent, Idiomatic JavaScript</a> &ndash; Руководство по стилям JavaScript кода.</li>
<li><a href="http://autotelicum.github.com/Smooth-CoffeeScript/SmoothCoffeeScript.html" target="_blank">Smooth CoffeeScript</a> &ndash; Онлайн книга по CoffeeScript.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">CSS</span></p>
<ul>
<li><a href="http://instacss.com/#css/" target="_blank">Интерактивная документация по CSS</a>.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">iOS</span></p>
<ul>
<li><a href="http://itunes.apple.com/itunes-u/ipad-iphone-application-development/id473757255 " target="_blank">Стэнфордские лекции о разработке приложений под iOS</a>.</li>
<li><a href="http://martinkool.com/post/13629963755/firebug-on-ipad-and-iphone" target="_blank">How to use Firebug on your iPad and iPhone</a> &ndash; Отладка HTML и JS на iOS устройствах при помощи Firebug Lite.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">Разное</span></p>
<ul>
<li><a href="http://foundation.zurb.com/" target="_blank">Foundation</a> &ndash; Новый инструмент быстрого прототипирования.</li>
<li><a href="http://blog.shumoos.com/archives/253" target="_blank">Градация тестировщиков</a>.</li>
<li><a href="http://www.insight-it.ru/masshtabiruemost/10-izvestnykh-masshtabiruemykh-arkhitekturnykh-shablonov/" target="_blank">10 известных масштабируемых архитектурных шаблонов</a>.</li>
<li><a href="http://instagram-engineering.tumblr.com/post/13649370142/what-powers-instagram-hundreds-of-instances-dozens-of" target="_blank">Архитектуре сервиса Instagram</a>.</li>
<li><a href="http://vorushin.ru/blog/69-on-stanford-online-classes/" target="_blank">Про стэнфордские онлайн-классы</a>.</li>
<li><a href="http://it-boost.com/intervyu-so-svetlanoy-kostikovoy" target="_blank">Интервью со Светланой Костиковой о разнице в психологии между нашими разработчиками и американскими заказчиками</a>.</li>
</ul>
	
</p>

<p><a href="http://web-dev.posterous.com/-111209">Permalink</a> 

	| <a href="http://web-dev.posterous.com/-111209#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/348062/avatar_2_100x128.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/10Ni7NeArUR</posterous:profileUrl>
        <posterous:firstName />
        <posterous:lastName />
        <posterous:nickName>ptzn</posterous:nickName>
        <posterous:displayName>ptzn</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Fri, 28 Oct 2011 01:27:32 -0700</pubDate>
      <title>Интересные ссылки # 11/10/28</title>
      <link>http://web-dev.posterous.com/-111028</link>
      <guid>http://web-dev.posterous.com/-111028</guid>
      <description>
        <![CDATA[<p>
	<p><span style="text-decoration: underline; font-size: medium;">Ruby/Rails</span></p>
<ul>
<li><a href="http://outoftime.github.com/sunspot/" target="_blank">Sunspot</a> &ndash; Библиотека, позволяющая использовать поисковый движок <a href="http://lucene.apache.org/solr/ " target="_blank">Solr</a> с Ruby-объектами.</li>
<li><a href="https://github.com/LRDesign/mizugumo" target="_blank">mizugumo</a> &ndash; &laquo;Чистый&raquo; UJS для Rails при помощи <a href="https://github.com/LRDesign/NinjaScript" target="_blank">NinjaScript</a>.</li>
<li><a href="https://github.com/jcasimir/draper" target="_blank">draper</a> &ndash; Реализация декораторов для Rails.</li>
<li><a href="https://github.com/freelancing-god/combustion" target="_blank">combustion</a> &ndash; Как упростить тестирование Rails Engines.</li>
<li>Про рефакторинг моделей/классов: <a href="http://www.rosskaff.com/2011/09/when-your-fat-models-need-to-go-on-a-diet/" target="_blank">часть 1</a> и <a href="http://www.rosskaff.com/2011/10/when-your-fat-models-need-to-go-on-a-diet-part-2/" target="_blank">часть 2</a>.</li>
<li><a href="http://rhnh.net/2011/05/28/speeding-up-rails-startup-time" target="_blank">Speeding up Rails startup time</a> &ndash; Способ ускорения загрузки Rails приложения.</li>
<li><a href="http://rubylearning.com/blog/a-quick-introduction-to-rack/" target="_blank">A Quick Introduction to Rack</a> &ndash; Что такое Rack, с чем его и зачем едят.</li>
<li><a href="http://guides.rubygems.org/patterns/" target="_blank">RubyGems Patterns</a> &ndash; Как правильно создавать гемы.</li>
<li><a href="http://merbist.com/2011/10/03/about-concurrency-and-the-gil/" target="_blank">About concurrency and the GIL</a> &ndash; Про параллелизм и GIL в Ruby и Python.</li>
<li><a href="http://www.engineyard.com/blog/2011/ruby-concurrency-and-you/" target="_blank">Ruby, Concurrency, and You</a> &ndash; Еще про параллелизм в Ruby.</li>
<li><a href="http://dave.fayr.am/posts/2011-10-4-rubyists-already-use-monadic-patterns.html" target="_blank">Rubyists Already Use Monadic Patterns</a> &ndash; Шаблоны функционального программирования, которые используют рубисты, не подозревая об этом.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">JavaScript</span></p>
<ul>
<li><a href="http://code.google.com/p/jslibs/wiki/JavascriptTips#language_advanced_Tips_&amp;_Tricks " target="_blank">JavaScript language advanced Tips &amp; Tricks</a></li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">CSS</span></p>
<ul>
<li><a href="http://web-standards.ru/articles/parent-selector/" target="_blank">Почему у нас нет селектора по родителю</a> &ndash; Снова о работе CSS-селекторов в браузерах.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">Администрирование</span></p>
<ul>
<li><a href="http://devopsanywhere.blogspot.com/2011/09/how-ruby-is-beating-python-in-battle.html " target="_blank">How Ruby is beating Python in the battle for the Soul of System Administration</a> &ndash; Почему Ruby становится более популярным у администраторов, чем Python.</li>
<li><a href="http://blogs.perl.org/users/smylers/2011/08/ssh-productivity-tips.html" target="_blank">SSH Can Do That?</a> &ndash; Подборка советов по использованию SSH на все сулчаи жизни.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">Разработка</span></p>
<ul>
<li><a href="http://zachholman.com/posts/how-github-works-asynchronous/" target="_blank">How GitHub Works: Be Asynchronous</a> &ndash; Как организована работа в Github.</li>
<li><a href="http://www.aosabook.org/en/index.html" target="_blank">The Architecture of Open Source Applications</a> &ndash; Бесплатная книга, доступная онлайн.</li>
<li><a href="http://www.artima.com/weblogs/viewpost.jsp?thread=331531" target="_blank">The Principles of Good Programming</a> &ndash; Подборка принципов правильного программирования.</li>
<li><a href="https://github.com/squadette/tapl-ru/tree/went-to-print" target="_blank">Русский перевод &laquo;Types and programming languages&raquo;</a>.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">Разное</span></p>
<ul>
<li><a href="http://mailcatcher.me/" target="_blank">MailCatcher</a> &ndash; Инструмент &laquo;отлова&raquo; и отладки email сообщений, посылаемых приложением.</li>
<li><a href="https://github.com/xdissent/ievms" target="_blank">ievms</a> &ndash; Утилита для автоматической установки образов Windows с предустановленными IE разных версий для VirtualBox. На данный момент IE6 не поддерживается.</li>
<li><a href="http://www.allthingsdistributed.com/2011/08/Jekyll-amazon-s3.html" target="_blank">No Server Required - Jekyll &amp; Amazon S3</a> &ndash; Собственный блог без собственного сервера на основе Jekyll и S3.</li>
<li><a href="http://html5weekly.com/" target="_blank">HTML5 Weekly: A Free, Weekly HTML5 and Browser Tech Email Newsletter</a> &ndash; Еженедельная рассылка по HTML5.</li>
<li><a href="http://www.html5rocks.com/en/tutorials/internals/howbrowserswork/" target="_blank">How Browsers Work</a> &ndash; Подробнейшее описание того, как работают современные браузеры.</li>
</ul>
<p>&nbsp;</p>
	
</p>

<p><a href="http://web-dev.posterous.com/-111028">Permalink</a> 

	| <a href="http://web-dev.posterous.com/-111028#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/348062/avatar_2_100x128.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/10Ni7NeArUR</posterous:profileUrl>
        <posterous:firstName />
        <posterous:lastName />
        <posterous:nickName>ptzn</posterous:nickName>
        <posterous:displayName>ptzn</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Fri, 19 Aug 2011 03:59:21 -0700</pubDate>
      <title>Тесты и рефакторинг</title>
      <link>http://web-dev.posterous.com/66152178</link>
      <guid>http://web-dev.posterous.com/66152178</guid>
      <description>
        <![CDATA[<p>
	Довольно часто невозможность удобно протестировать какую-нибудь функциональность провоцирует рефакторинг кода, что приводит к более ясной и чистой архитектуре приложения в целом. Уже только за это тестирование стоит любить и использовать.
	
</p>

<p><a href="http://web-dev.posterous.com/66152178">Permalink</a> 

	| <a href="http://web-dev.posterous.com/66152178#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/348062/avatar_2_100x128.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/10Ni7NeArUR</posterous:profileUrl>
        <posterous:firstName />
        <posterous:lastName />
        <posterous:nickName>ptzn</posterous:nickName>
        <posterous:displayName>ptzn</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Wed, 10 Aug 2011 10:58:00 -0700</pubDate>
      <title>How do JavaScript closures work? - Stack Overflow</title>
      <link>http://web-dev.posterous.com/how-do-javascript-closures-work-stack-overflo</link>
      <guid>http://web-dev.posterous.com/how-do-javascript-closures-work-stack-overflo</guid>
      <description>
        <![CDATA[<p>
	<div class="posterous_bookmarklet_entry">
<blockquote class="posterous_long_quote">
<p>Like the old Albert said: "If you can't explain it to a six-year old, you really don't understand it yourself.&rdquo;. Well, I tried to explain JavaScript closures to a 27-year old friend and completely failed.</p>
</blockquote>
<div class="posterous_quote_citation">via <a href="http://stackoverflow.com/questions/111102/how-do-javascript-closures-work">stackoverflow.com</a></div>
<p><a href="http://stackoverflow.com/questions/111102/how-do-javascript-closures-work">http://stackoverflow.com/questions/111102/how-do-javascript-closures-work</a></p>
</div>
	
</p>

<p><a href="http://web-dev.posterous.com/how-do-javascript-closures-work-stack-overflo">Permalink</a> 

	| <a href="http://web-dev.posterous.com/how-do-javascript-closures-work-stack-overflo#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/348062/avatar_2_100x128.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/10Ni7NeArUR</posterous:profileUrl>
        <posterous:firstName />
        <posterous:lastName />
        <posterous:nickName>ptzn</posterous:nickName>
        <posterous:displayName>ptzn</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Fri, 05 Aug 2011 00:54:00 -0700</pubDate>
      <title>Интересные ссылки # 11/08/05</title>
      <link>http://web-dev.posterous.com/-110805</link>
      <guid>http://web-dev.posterous.com/-110805</guid>
      <description>
        <![CDATA[<p>
	<p><span style="text-decoration: underline; font-size: medium;">Ruby/Rails</span></p>
<ul>
<li><a href="https://github.com/apneadiving/Google-Maps-for-Rails" target="_blank">Google-Maps-for-Rails</a> &ndash; Гем для работы с GoogleMaps в Rails.</li>
<li><a href="http://rubygeocoder.com/" target="_blank">Ruby Geocoder</a> &ndash; Геокодинг на Ruby.</li>
<li><a href="http://www.holymonkey.com/how-to-find-and-fix-a-memory-leak-in-a-ruby-c-extension.html" target="_blank">A Technique for Finding and Fixing Memory Leaks in Ruby C Extensions</a> &ndash; Как искать утечки памяти при помощи покрытия тестами.</li>
<li><a href="http://blog.bigbinary.com/2011/07/20/ruby-pack-unpack.html" target="_blank">Ruby pack unpack</a>.</li>
<li><a href="http://robots.thoughtbot.com/post/8135270582/code-review-ruby-and-rails-idioms" target="_blank">Code review: Ruby and Rails idioms</a> &ndash; Несколько советов по рефакторингу кода.</li>
<li><a href="http://bradlyfeeley.com/2011/07/26/simple-rails-deployments-with-net-ssh/" target="_blank">Simple Rails Deployments with Net/SSH</a> &ndash; Простой способ деплоймента Rails приложений, без использования Capistrano.</li>
<li><a href="https://github.com/defunkt/coffee-mode" target="_blank">coffee-mode</a> &ndash; CoffeeScript мод для Emacs.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">JavaScript</span></p>
<ul>
<li><a href="http://remysharp.com/2010/06/03/signs-of-a-poorly-written-jquery-plugin/" target="_blank">Signs of a poorly written jQuery plugin</a> &ndash; Как определить, что jQuery плагин написан плохо.</li>
<li><a href="http://addyosmani.com/jqprovenperformance/" target="_blank">jQuery Proven Performance Tips And Tricks</a> &ndash; Слайды с советами по оптимизации jQuery кода.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">Git</span></p>
<ul>
<li><a href="http://progit.org/2011/07/11/reset.html" target="_blank">Pro Git - Reset Demystified</a> &ndash; Подробно о git reset и отличие от git checkout.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">CSS</span></p>
<ul>
<li><a href="http://habrahabr.ru/blogs/css/123250/" target="_blank">Поговорим о margin, он же маргин.</a></li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">NoSQL</span></p>
<ul>
<li><a href="http://antirez.com/post/take-advantage-of-redis-adding-it-to-your-stack.html" target="_blank">How to take advantage of Redis just adding it to your stack</a> &ndash; Профиты использования Redis.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">Разное</span></p>
<ul>
<li><a href="http://chatboxapp.com/" target="_blank">Chatbox</a> &ndash; Приложение для совместной работы, построенное на основе <a href="https://www.dropbox.com/" target="_blank">Dropbox</a>. Позволяет комментировать файлы.</li>
<li><a href="http://theoryandpractice.ru/posts/2512-10-pravil-effektivnogo-tvorchestva-ostina-kleona" target="_blank">10 правил эффективного творчества Остина Клеона.</a></li>
<li><a href="http://theoryandpractice.ru/posts/2488-programmisty-evil-martians-bookmate-i-yahoo-rasskazyvayut-o-krasote-koda" target="_blank">Программисты Evil Martians, Bookmate и Yahoo рассказывают о красоте кода.</a></li>
<li><a href="http://www.computerra.ru/own/kiwi/618707/" target="_blank">Кивино гнездо: Преступления без наказания</a> &ndash; Новые исследования свидетельствуют о парадоксальном эффекте жестоких компьютерных игр. Подобные развлечения не увеличивают, как обычно предполагается, а скорее снижают уровень преступности.</li>
<li>Продолжение статей про IPO: <a href="http://habrahabr.ru/blogs/startup/123230/" target="_blank">часть 6</a>, <a href="http://habrahabr.ru/blogs/startup/123312/" target="_blank">часть 7</a>, <a href="http://habrahabr.ru/blogs/startup/123405/" target="_blank">часть 8</a>.</li>
</ul>
	
</p>

<p><a href="http://web-dev.posterous.com/-110805">Permalink</a> 

	| <a href="http://web-dev.posterous.com/-110805#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/348062/avatar_2_100x128.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/10Ni7NeArUR</posterous:profileUrl>
        <posterous:firstName />
        <posterous:lastName />
        <posterous:nickName>ptzn</posterous:nickName>
        <posterous:displayName>ptzn</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Fri, 01 Jul 2011 01:51:00 -0700</pubDate>
      <title>Интересные ссылки # 11/07/01</title>
      <link>http://web-dev.posterous.com/-110701</link>
      <guid>http://web-dev.posterous.com/-110701</guid>
      <description>
        <![CDATA[<p>
	<p><span style="text-decoration: underline; font-size: medium;">Ruby/Rails</span></p>
<ul>
<li><a href="https://github.com/github/linguist" target="_blank">linguist</a> &ndash; GitHub открыли собственную библиотеку, используемую для работы с языками, включая подсветку.</li>
<li><a href="http://guides.rubyonrails.org/initialization.html" target="_blank">The Rails Initialization Process</a> &ndash; Подробнейшее описание процесса инициализации Rails 3.</li>
<li><a href="http://levgem.livejournal.com/357086.html" target="_blank">Рельсопрограммисты бывают разные</a> &ndash; Макс Лапшин набросил на мерб, рельсы, хакеров и качество рельсопрограммистов.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">JavaScript</span></p>
<ul>
<li><a href="http://addyosmani.com/toolsforjqueryapparchitecture/" target="_blank">Tools For jQuery Application Architecture (Extended Slides) from #wdx</a> &ndash; Презентация с описанием полезных фреймворков для jQuery.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">Git</span></p>
<ul>
<li><a href="http://gitx.laullon.com/" target="_blank">GitX (L)</a> &ndash; Новый git клиент для OSX, являющийся форком всем известного GitX.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">NoSQL</span></p>
<ul>
<li><a href="http://engineering.gomiso.com/2011/05/24/how-redis-can-ruin-your-day-and-what-you-can-do-to-fix-it/" target="_blank">How redis can ruin your day, and what you can do to fix it</a> &ndash; Некоторые моменты, на которые стоит обратить внимание, используя Redis.</li>
<li><a href="http://robots.thoughtbot.com/post/6325247416/redis-pub-sub-how-does-it-work" target="_blank">Redis Pub/Sub...how does it work?</a> &ndash; Использование Redis в качестве Pub/Sub сервиса.</li>
<li><a href="http://labs.mudynamics.com/2010/04/01/why-nosql-is-bad-for-startups/" target="_blank">Why NoSQL is bad for startups</a> &ndash; Немного юмора.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">Разное</span></p>
<ul>
<li><a href="http://www.google.com/webfonts/v2#ChoosePlace:select" target="_blank">Google Web Fonts</a>.</li>
<li><a href="http://catap.ru/blog/2011/06/15/linux-time-interval/" target="_blank">Временной интервал в linux</a> &ndash; Как выяснил catap, не все так просто с вычислением оного.</li>
<li>Цикла статей про IPO простым языком: <a href="http://habrahabr.ru/blogs/startup/120842/" target="_blank">часть 1</a>, <a href="http://habrahabr.ru/blogs/startup/120928/" target="_blank">часть 2</a>, <a href="http://habrahabr.ru/blogs/startup/121030/" target="_blank">часть 3</a>, <a href="http://habrahabr.ru/blogs/startup/121243/" target="_blank">часть 4</a>, <a href="http://habrahabr.ru/blogs/startup/122028/" target="_blank">часть 5</a>.</li>
<li><a href="http://www.developers.org.ua/columns/pro-ocenki-i-kalendar-metod-analogij-i-zrimoe-predstavlenie/" target="_blank">Про оценки и календарь &mdash; метод аналогий и зримое представление</a>.</li>
<li><a href="http://www.rbcdaily.ru/2011/06/14/cnews/562949980422921" target="_blank">&laquo;Мы пили пиво и хрюкали&raquo;</a> &ndash; интервью с создателем игры Angry Birds.</li>
</ul>
<p>&nbsp;</p>
	
</p>

<p><a href="http://web-dev.posterous.com/-110701">Permalink</a> 

	| <a href="http://web-dev.posterous.com/-110701#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/348062/avatar_2_100x128.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/10Ni7NeArUR</posterous:profileUrl>
        <posterous:firstName />
        <posterous:lastName />
        <posterous:nickName>ptzn</posterous:nickName>
        <posterous:displayName>ptzn</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Fri, 03 Jun 2011 01:35:00 -0700</pubDate>
      <title>Интересные ссылки # 11/06/03</title>
      <link>http://web-dev.posterous.com/-110603</link>
      <guid>http://web-dev.posterous.com/-110603</guid>
      <description>
        <![CDATA[<p>
	<p><span style="text-decoration: underline; font-size: medium;">Ruby/Rails</span></p>
<ul>
<li><a href="https://github.com/amatsuda/html5_validators" target="_blank">html5_validators</a> &ndash; gem/plugin, позволяющий валидировать данные на клиенте, используя возможности HTML5. Использует ActiveModel и работает только с Rails 3.</li>
<li><a href="http://activeadmin.info/" target="_blank">Active Admin</a> &ndash; Очередная &laquo;админка&raquo; для Rails.</li>
<li><a href="https://gist.github.com/83c011e40e1970df0ef4" target="_blank">Ruby Encoding Cheat Sheet</a> &ndash; Шпаргалка по кодировкам в Ruby 1.9.</li>
<li><a href="http://rubyflow.ru/items/1130" target="_blank">Гномики и метапрограммирование в Ruby</a>.</li>
<li><a href="http://edgerails.info/articles/what-s-new-in-edge-rails/2011/05/06/reversible-migrations/index.html" target="_blank">Reversible Migrations</a> &ndash; Как будут выглядеть миграции в будущей версии Rails.</li>
<li><a href="http://www.slideshare.net/wooga/1000000-daily-users-and-no-cache" target="_blank">1,000,000 daily users and no cache</a> &ndash; Познавательно о производительности и оптимизации Rails приложения.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">JavaScript</span></p>
<ul>
<li><a href="http://www.crockford.com/javascript/" target="_blank">Douglas Crockford's Javascript</a> &ndash; Подборка статей и книг по Javascript.</li>
<li><a href="http://www.addyosmani.com/resources/essentialjsdesignpatterns/book/" target="_blank">Essential JavaScript Design Patterns For Beginners</a> &ndash; Небольшая книга с описанием и примерами шаблонов проектирования, применительно к JavaScript.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">CSS</span></p>
<ul>
<li><a href="http://css-tricks.com/when-using-important-is-the-right-choice/" target="_blank">When Using !important is The Right Choice</a> &ndash; Когда следует использовать !important.</li>
<li><a href="http://blog.kiskolabs.com/post/5445752361/extend-your-sass" target="_blank">Extend your Sass</a> &ndash; О том, в каких случаях использовать @mixin, а в каких @extend.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">Git</span></p>
<ul>
<li><a href="http://githowto.com/" target="_blank">Git How To</a> &ndash; По сути &ndash; переведенный на русский язык <a href="http://library.edgecase.com/git_immersion/" target="_blank">Git Immersion</a>.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">Администрирование</span></p>
<ul>
<li><a href="http://radishapp.com/" target="_blank">Radish</a> &ndash; <a href="http://robots.thoughtbot.com/post/6037147900/radish-dig-deep-into-redis" target="_blank">Сервис для мониторинга Redis'а от thoughtbot</a>.</li>
<li><a href="http://lonelyelk.ru/posts/44" target="_blank">Использование руби программ в качестве фильтров для поиска</a>.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">Разное</span></p>
<ul>
<li><a href="http://habrahabr.ru/blogs/design/120079/" target="_blank">Упрощаем регистрацию и вход на сайт</a>.</li>
<li><a href="http://www.enjoythearchitecture.com/redis-architecture.html" target="_blank">REDIS Architecture</a> &ndash; Немного о &laquo;кишках&raquo; Redis.</li>
<li><a href="http://www.dafydd.net/archive/2010/test-driven-development-and-ci-for-iphone/" target="_blank">Test-Driven Development and Continuous Integration for iPhone</a> &ndash; Подборка ссылок на статьи и инструменты для тестирования iPhone&nbsp;приложений.</li>
<li><a href="http://habrahabr.ru/blogs/Haskell/118837/" target="_blank">IO работает с кучей Хаскеля</a> &ndash; Продолжение перевода статей с картинками о Haskell.</li>
</ul>
	
</p>

<p><a href="http://web-dev.posterous.com/-110603">Permalink</a> 

	| <a href="http://web-dev.posterous.com/-110603#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/348062/avatar_2_100x128.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/10Ni7NeArUR</posterous:profileUrl>
        <posterous:firstName />
        <posterous:lastName />
        <posterous:nickName>ptzn</posterous:nickName>
        <posterous:displayName>ptzn</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Fri, 06 May 2011 01:59:00 -0700</pubDate>
      <title>Интересные ссылки # 11/05/06</title>
      <link>http://web-dev.posterous.com/-110506</link>
      <guid>http://web-dev.posterous.com/-110506</guid>
      <description>
        <![CDATA[<p>
	<p><span style="text-decoration: underline; font-size: medium;">Ruby/Rails</span></p>
<ul>
<li><a href="http://edgerails.info/articles/what-s-new-in-edge-rails/2011/04/21/activerecord-identity-map/index.html" target="_blank">ActiveRecord Identity Map</a> &ndash; В ActiveRecord из Rails 3.1 появится возможность использовать identity map.</li>
<li><a href="https://github.com/mperham/girl_friday" target="_blank">girl_friday</a> &ndash; Еще одна библиотека для обработки асинхронных задач. Не поддерживает Ruby 1.8.</li>
<li><a href="https://github.com/ivanvanderbyl/cloudist" target="_blank">cloudist</a> &ndash; И снова библиотека для асинхронных задач. Использует AMQP.</li>
<li><a href="https://github.com/robertsosinski/retryable" target="_blank">retryable</a> &ndash; Маленькая библиотечка для удобного описания и обработки ситуаций необходимости повторного выполнения кода, в случае возникновения ошибки.</li>
<li><a href="https://github.com/FooBarWidget/default_value_for" target="_blank">default_value_for</a> &ndash; Расширение к ActiveRecord, позволяющее задавать значения по умолчанию для атрибутов AR классов.</li>
<li><a href="https://github.com/stefankroes/ancestry" target="_blank">ancestry</a> &ndash; Плагин для организации деревьев. Основное отличие от существующих &ndash; использует шаблон &laquo;materialized path&raquo; для хранения иерархии.</li>
<li><a href="https://github.com/mmower/mailtrap" target="_blank">mailtrap</a> &ndash; SMTP сервер-заглушка, для использования в development окружении Rails.</li>
<li><a href="http://www.paperplanes.de/2011/4/25/eventmachine-how-does-it-work.html" target="_blank">EventMachine, How Does It Work?</a> &ndash; Описание внутренностей EventMachine.</li>
<li><a href="https://spreadsheets0.google.com/pub?hl=en&amp;hl=en&amp;key=0AiZsKd8d4hSJdHFFbjR5aWNjWjlzWlhiNGxQejdBWWc&amp;output=html" target="_blank">Ruby HTTP clients features</a> &ndash; Сравнительная таблица Ruby HTTP-клиентов.</li>
<li><a href="http://objectreload.com/articles/2010/09/thoughts-on-testing-part-1.html" target="_blank">Thoughts on testing</a> &ndash; Советы по организации и написанию тестов.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">JavaScript</span></p>
<ul>
<li><a href="http://www.slideshare.net/rmurphey/the-jquery-divide-5287573" target="_blank">The jQuery Divide</a> &ndash; Почему jQuery &ndash; это плохо.</li>
<li><a href="http://thejit.org/" target="_blank">JavaScript InfoVis Toolkit</a> &ndash; Библиотека для построения графиков, диаграмм, деревьев и т.д.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">Администрирование</span></p>
<ul>
<li><a href="http://blog.martinfjordvald.com/2011/04/optimizing-nginx-for-high-traffic-loads/" target="_blank">Optimizing Nginx for High Traffic Loads</a> &ndash; Советы и описание параметров конфигурации nginx для повышения производительности.</li>
<li><a href="http://www.engineyard.com/blog/2011/useful-rewrites-for-nginx/" target="_blank">Useful Rewrites for Nginx</a> &ndash; Подборка популярных rewrite правил для nginx.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">CSS/Дизайн</span></p>
<ul>
<li><a href="http://desandro.github.com/3dtransforms/" target="_blank">Intro to CSS 3D transforms</a> &ndash; 3D преобразования средствами CSS.</li>
<li><a href="http://habrahabr.ru/blogs/design/118002/" target="_blank">Принципы дизайна страниц оплаты для интернет-магазинов</a>.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">Git</span></p>
<ul>
<li>Перевод книги <a href="http://progit.org/book/" target="_blank">Pro Git</a> на <a href="http://progit.org/book/ru/" target="_blank">русский язык</a>.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">Разное</span></p>
<ul>
<li><a href="http://habrahabr.ru/blogs/linux/118279/" target="_blank">Мешок банальных советов / Linux для всех</a>.</li>
<li><a href="http://ayende.com/Blog/archive/2010/03/14/map-reduce-ndash-a-visual-explanation.aspx" target="_blank">Map/Reduce в картинках</a>.</li>
<li>В <a href="http://blog.ezyang.com/" target="_blank">блоге</a> публикуются статьи с рисунками о внутреннем устройстве Haskell, например, первая глава:&nbsp;<a href="http://blog.ezyang.com/2011/04/the-haskell-heap/" target="_blank">&laquo;Haskell Heap&raquo;</a>. На <a href="http://habrahabr.ru/blogs/Haskell/">хабре</a> доступны переводы первых двух статей: <a href="http://habrahabr.ru/blogs/Haskell/118797/" target="_blank">&laquo;Куча Хаскеля&raquo;</a> и <a href="http://habrahabr.ru/blogs/Haskell/118831/" target="_blank">&laquo;Вычисление в куче Хаскеля&raquo;</a>.</li>
<li><a href="http://www.slideshare.net/voidlizard/operden1-7764151" target="_blank">Создание веб-опердени на Haskell</a>.</li>
<li><a href="http://webplanet.ru/knowhow/life/admin/2011/04/06/wrong_dev_hiring.html" target="_blank">Как не надо нанимать программистов</a>.</li>
</ul>
	
</p>

<p><a href="http://web-dev.posterous.com/-110506">Permalink</a> 

	| <a href="http://web-dev.posterous.com/-110506#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/348062/avatar_2_100x128.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/10Ni7NeArUR</posterous:profileUrl>
        <posterous:firstName />
        <posterous:lastName />
        <posterous:nickName>ptzn</posterous:nickName>
        <posterous:displayName>ptzn</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Tue, 29 Mar 2011 19:37:00 -0700</pubDate>
      <title>DHH &amp; тестирование</title>
      <link>http://web-dev.posterous.com/dhh</link>
      <guid>http://web-dev.posterous.com/dhh</guid>
      <description>
        <![CDATA[<p>
	
<div><span>Вчера вечером DHH знатно набросил по поводу RSpec, Cucumber и прочего BDD. Правда после этого ему пришлось держать оборону от любителей оных инструментов.</span></div>
<div><span>Сия феерия происходила в <a href="http://twitter.com/#!/dhh">twitter</a>,&nbsp;так что&nbsp;</span>почитать все комментарии&nbsp;с удобством не получится, но вот вам несколько:</div>
<div><div class='p_embed p_image_embed'>
<a href="http://posterous.com/getfile/files.posterous.com/temp-2011-03-29/HknFJzthjdvlwnoBbdxIrecqjEimzgcyGkbuDzzfcFhbHCGnaqnJbjqIJAbt/dhh_cucumber_0.png.scaled1000.png"><img alt="Dhh_cucumber_0" height="89" src="http://posterous.com/getfile/files.posterous.com/temp-2011-03-29/HknFJzthjdvlwnoBbdxIrecqjEimzgcyGkbuDzzfcFhbHCGnaqnJbjqIJAbt/dhh_cucumber_0.png.scaled500.png" width="500" /></a>
</div>
</div>
<div><div class='p_embed p_image_embed'>
<a href="http://posterous.com/getfile/files.posterous.com/temp-2011-03-29/jmEAbddhfhDjBwovmgIHEnGDBotCjwajydHuAxCnoIBFfqnwhvCwrffbibEo/dhh_rspec_0.png.scaled1000.png"><img alt="Dhh_rspec_0" height="86" src="http://posterous.com/getfile/files.posterous.com/temp-2011-03-29/jmEAbddhfhDjBwovmgIHEnGDBotCjwajydHuAxCnoIBFfqnwhvCwrffbibEo/dhh_rspec_0.png.scaled500.png" width="500" /></a>
</div>
</div>
<div><div class='p_embed p_image_embed'>
<a href="http://posterous.com/getfile/files.posterous.com/temp-2011-03-29/oFClrjhcmyhmEthlgouhhIkflCEcAGmmzBddjfreJqxcIxIGnFuahvogoBcv/dhh_rspec_1.png.scaled1000.png"><img alt="Dhh_rspec_1" height="108" src="http://posterous.com/getfile/files.posterous.com/temp-2011-03-29/oFClrjhcmyhmEthlgouhhIkflCEcAGmmzBddjfreJqxcIxIGnFuahvogoBcv/dhh_rspec_1.png.scaled500.png" width="500" /></a>
</div>
<div class='p_embed p_image_embed'>
<a href="http://posterous.com/getfile/files.posterous.com/temp-2011-03-29/IzclijIFugHwcmExwFiukelEqaoJJjfyCwGdqBlCgqhbsyBDpxDapGphlvsc/dhh_rspec_2.png.scaled1000.png"><img alt="Dhh_rspec_2" height="72" src="http://posterous.com/getfile/files.posterous.com/temp-2011-03-29/IzclijIFugHwcmExwFiukelEqaoJJjfyCwGdqBlCgqhbsyBDpxDapGphlvsc/dhh_rspec_2.png.scaled500.png" width="500" /></a>
</div>
</div>
<div>PS. Я, кстати, тоже считаю, что RSpec и особенно Cucumber &ndash; не представляют другого интереса, кроме как спортивного.</div>

	
</p>

<p><a href="http://web-dev.posterous.com/dhh">Permalink</a> 

	| <a href="http://web-dev.posterous.com/dhh#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/348062/avatar_2_100x128.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/10Ni7NeArUR</posterous:profileUrl>
        <posterous:firstName />
        <posterous:lastName />
        <posterous:nickName>ptzn</posterous:nickName>
        <posterous:displayName>ptzn</posterous:displayName>
      </posterous:author>
      <media:content type="image/png" height="95" width="535" url="http://getfile5.posterous.com/getfile/files.posterous.com/temp-2011-03-29/HknFJzthjdvlwnoBbdxIrecqjEimzgcyGkbuDzzfcFhbHCGnaqnJbjqIJAbt/dhh_cucumber_0.png">
        <media:thumbnail height="89" width="500" url="http://getfile3.posterous.com/getfile/files.posterous.com/temp-2011-03-29/HknFJzthjdvlwnoBbdxIrecqjEimzgcyGkbuDzzfcFhbHCGnaqnJbjqIJAbt/dhh_cucumber_0.png.scaled500.png" />
      </media:content>
      <media:content type="image/png" height="93" width="538" url="http://getfile1.posterous.com/getfile/files.posterous.com/temp-2011-03-29/jmEAbddhfhDjBwovmgIHEnGDBotCjwajydHuAxCnoIBFfqnwhvCwrffbibEo/dhh_rspec_0.png">
        <media:thumbnail height="86" width="500" url="http://getfile5.posterous.com/getfile/files.posterous.com/temp-2011-03-29/jmEAbddhfhDjBwovmgIHEnGDBotCjwajydHuAxCnoIBFfqnwhvCwrffbibEo/dhh_rspec_0.png.scaled500.png" />
      </media:content>
      <media:content type="image/png" height="114" width="529" url="http://getfile6.posterous.com/getfile/files.posterous.com/temp-2011-03-29/oFClrjhcmyhmEthlgouhhIkflCEcAGmmzBddjfreJqxcIxIGnFuahvogoBcv/dhh_rspec_1.png">
        <media:thumbnail height="108" width="500" url="http://getfile5.posterous.com/getfile/files.posterous.com/temp-2011-03-29/oFClrjhcmyhmEthlgouhhIkflCEcAGmmzBddjfreJqxcIxIGnFuahvogoBcv/dhh_rspec_1.png.scaled500.png" />
      </media:content>
      <media:content type="image/png" height="76" width="529" url="http://getfile2.posterous.com/getfile/files.posterous.com/temp-2011-03-29/IzclijIFugHwcmExwFiukelEqaoJJjfyCwGdqBlCgqhbsyBDpxDapGphlvsc/dhh_rspec_2.png">
        <media:thumbnail height="72" width="500" url="http://getfile4.posterous.com/getfile/files.posterous.com/temp-2011-03-29/IzclijIFugHwcmExwFiukelEqaoJJjfyCwGdqBlCgqhbsyBDpxDapGphlvsc/dhh_rspec_2.png.scaled500.png" />
      </media:content>
    </item>
    <item>
      <pubDate>Fri, 25 Mar 2011 04:52:00 -0700</pubDate>
      <title>Интересные ссылки # 11/03/25</title>
      <link>http://web-dev.posterous.com/-110325</link>
      <guid>http://web-dev.posterous.com/-110325</guid>
      <description>
        <![CDATA[<p>
	<p><span style="text-decoration: underline; font-size: medium;">Ruby/Rails</span></p>
<ul>
<li><a href="http://pure-rspec-rubynation.heroku.com/" target="_blank">Pure RSpec</a> &ndash; Еще одна презентация о RSpec. Не менее интересная и полезная, чем <a href="http://kerryb.github.com/iprug-rspec-presentation/#1" target="_blank">предыдущая</a>.</li>
<li><a href="http://jimneath.org/2011/03/24/using-redis-with-ruby-on-rails.html" target="_blank">Using Redis with Ruby on Rails</a> &ndash; Статья об использовании <a href="http://redis.io/" target="_blank">redis</a> в Ruby on Rails, начиная от установки и заканчивая описанием API и подборкой ссылок на полезные библиотеки.</li>
<li><a href="http://rack-pagespeed.heroku.com/" target="_blank">rack-pagespeed</a> &ndash; Порт гуглового <a href="http://code.google.com/speed/page-speed/index.html" target="_blank">mod_pagespeed</a> на Rack.</li>
<li><a href="https://github.com/sstephenson/execjs" target="_blank">execjs</a> - Библиотека для запуска JavaScript из Ruby, использует различные runtime'ы.</li>
<li><a href="https://github.com/drbrain/meme" target="_blank">meme</a> &ndash; Утилита, написанная на Ruby, для генерации мемов при помощи <a href="http://memegenerator.net">http://memegenerator.net</a>.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">JavaScript</span></p>
<ul>
<li><a href="http://net.tutsplus.com/tutorials/javascript-ajax/create-bookmarklets-the-right-way/" target="_blank">How to Create Bookmarklets</a>.</li>
<li><a href="http://loopj.com/jquery-tokeninput/" target="_blank">jQuery Tokeninput</a> &ndash; jQuery плагин для автокомплита, довольно гибкий и фичастый, в отличие от тысячи других.</li>
<li><a href="http://habrahabr.ru/blogs/javascript/115822/" target="_blank">Создание большого приложения на Javascript</a> &ndash; Статья интересна как подборка ссылок на различные JavaScript библиотеки.</li>
<li><a href="http://shamansir.github.com/JavaScript-Garden/" target="_blank">JavaScript Гарден</a> &ndash; Перевод замечательной документации &laquo;JavaScript Garden&raquo; на русский язык.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">Администрирование</span></p>
<ul>
<li><a href="http://dklab.ru/chicken/nablas/56.html" target="_blank">Подводные камни при использовании кэширования в nginx</a>.</li>
<li><a href="http://blog.codesherpas.com/on_the_path/2011/03/tuning-mysql.html" target="_blank">Tuning MySQL</a>.</li>
<li><a href="https://github.com/mperham/lunchy" target="_blank">lunchy</a> &ndash; Полезность для пользователей OSX: удобная надстройка над launchctl.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">Разное</span></p>
<ul>
<li><a href="http://stackoverflow.com/questions/500607/what-are-the-lesser-known-but-cool-data-structures" target="_blank">What are the lesser known but cool data structures?</a> &ndash; Подборка информации о малоизвестных структурах данных.</li>
<li><a href="http://thinkquarterly.co.uk/" target="_blank">Think Quarterly</a> &ndash; Google запустил новый журнал.</li>
<li><a href="http://www.businessinsider.com/microsofts-15-biggest-acquisitions-and-what-happened-to-them-2011-3?op=1" target="_blank">Microsoft: The 15 Biggest Acquisitions And What Happened To Them</a> &ndash; История 15 самых больших приобретений Microsoft.</li>
</ul>
	
</p>

<p><a href="http://web-dev.posterous.com/-110325">Permalink</a> 

	| <a href="http://web-dev.posterous.com/-110325#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/348062/avatar_2_100x128.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/10Ni7NeArUR</posterous:profileUrl>
        <posterous:firstName />
        <posterous:lastName />
        <posterous:nickName>ptzn</posterous:nickName>
        <posterous:displayName>ptzn</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Thu, 24 Mar 2011 16:40:00 -0700</pubDate>
      <title>configure &amp; make &amp; make install</title>
      <link>http://web-dev.posterous.com/configure-make-make-install</link>
      <guid>http://web-dev.posterous.com/configure-make-make-install</guid>
      <description>
        <![CDATA[<p>
	<p>Когда видишь в статьях последних лет про установку популярного софта команды configure &amp; make &amp; make install, хочется сделать так:</p>
<p><div class='p_embed p_image_embed'>
<img alt="Mickey_eyes" height="212" src="http://posterous.com/getfile/files.posterous.com/temp-2011-03-24/ksBlAbhBdqJuywEcIfzrxwFgCeAFjAjmowanAaexGCJJCzJmBvhhyIDqaIJC/mickey_eyes.png.scaled500.png" width="312" />
</div>
</p>
<p>Ребята, очнитесь, на дворе 2011 год, каждый захудалый дистрибутив Linux снабжен пакетным менеджером и репозиториями с тоннами софта. Даже в сраной макоси есть 2 аналога бздевых портов: MacPorts и Homebrew (второй конечно лучше, но не о том речь).</p>
<p>За примером далеко ходить не надо. Блог-пост от 24 марта 2011 &laquo;Using Redis with Ruby on Rails&raquo;: первыми же строками рассказывается о том как скачать и собрать redis, хотя установка его средствами системы требует всего лишь одной команды: <em>brew install redis</em> (для OSX). И это самый невинный пример, ибо redis не требует зависимостей.</p>
<p>Я совершенно не понимаю зачем вы тащите эти пережитки прошлого и плодите проблемы обновления, удаления и конфликтов версий софта у леммингов, следующих вашим советам? Нет, ну ладно бы рассказывали о сборке какого-то редкого софта, использовании нестандартных ключей или патчей, отсутствующий в дефолтовой сборке, но обычные git, subversion, apache, mysql и т.д.? ORLY?</p>
	
</p>

<p><a href="http://web-dev.posterous.com/configure-make-make-install">Permalink</a> 

	| <a href="http://web-dev.posterous.com/configure-make-make-install#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/348062/avatar_2_100x128.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/10Ni7NeArUR</posterous:profileUrl>
        <posterous:firstName />
        <posterous:lastName />
        <posterous:nickName>ptzn</posterous:nickName>
        <posterous:displayName>ptzn</posterous:displayName>
      </posterous:author>
      <media:content type="image/png" height="212" width="312" url="http://getfile5.posterous.com/getfile/files.posterous.com/temp-2011-03-24/ksBlAbhBdqJuywEcIfzrxwFgCeAFjAjmowanAaexGCJJCzJmBvhhyIDqaIJC/mickey_eyes.png">
        <media:thumbnail height="212" width="312" url="http://getfile2.posterous.com/getfile/files.posterous.com/temp-2011-03-24/ksBlAbhBdqJuywEcIfzrxwFgCeAFjAjmowanAaexGCJJCzJmBvhhyIDqaIJC/mickey_eyes.png.scaled500.png" />
      </media:content>
    </item>
    <item>
      <pubDate>Fri, 18 Mar 2011 14:42:00 -0700</pubDate>
      <title>Create a class inside the method</title>
      <link>http://web-dev.posterous.com/create-a-class-inside-the-method</link>
      <guid>http://web-dev.posterous.com/create-a-class-inside-the-method</guid>
      <description>
        <![CDATA[<p>
	<p>Бида-бида, как оказалось, в Ruby нельзя создать класс в методе при помощи первого, что приходит в голову:</p>
<p><div class="data type-ruby">
    
      <table class="lines" cellspacing="0" cellpadding="0">
        <tr>
          <td>
            <pre class="line_numbers"><span rel="#L1" id="L1">1</span>
<span rel="#L2" id="L2">2</span>
<span rel="#L3" id="L3">3</span>
<span rel="#L4" id="L4">4</span>
<span rel="#L5" id="L5">5</span>
<span rel="#L6" id="L6">6</span>
<span rel="#L7" id="L7">7</span>
<span rel="#L8" id="L8">8</span>
<span rel="#L9" id="L9">9</span>
<span rel="#L10" id="L10">10</span>
<span rel="#L11" id="L11">11</span>
<span rel="#L12" id="L12">12</span>
<span rel="#L13" id="L13">13</span>
<span rel="#L14" id="L14">14</span>
<span rel="#L15" id="L15">15</span>
<span rel="#L16" id="L16">16</span>
</pre>
          </td>
          <td width="100%">
            
              
                <div class="highlight"><pre /><div class="line" id="LC1"><span class="k">def</span> <span class="nf">gimme_class</span></div><div class="line" id="LC2">&nbsp;&nbsp;<span class="k">class</span> <span class="nc">MethodClass</span></div><div class="line" id="LC3">&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">def</span> <span class="nf">where_am_i?</span></div><div class="line" id="LC4">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nb">puts</span> <span class="s2">&quot;in method!&quot;</span></div><div class="line" id="LC5">&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">end</span></div><div class="line" id="LC6">&nbsp;&nbsp;<span class="k">end</span></div><div class="line" id="LC7"><br /></div><div class="line" id="LC8">&nbsp;&nbsp;<span class="n">obj</span> <span class="o">=</span> <span class="no">MethodClass</span><span class="o">.</span><span class="n">new</span></div><div class="line" id="LC9">&nbsp;&nbsp;<span class="n">obj</span><span class="o">.</span><span class="n">where_am_i?</span></div><div class="line" id="LC10"><span class="k">end</span></div><div class="line" id="LC11"><br /></div><div class="line" id="LC12"><br /></div><div class="line" id="LC13"><span class="c1"># SyntaxError: compile error</span></div><div class="line" id="LC14"><span class="c1"># (irb):2: class definition in method body</span></div><div class="line" id="LC15"><span class="c1">#          from (irb):10</span></div><div class="line" id="LC16"><br /></div></pre></div>
              
            
          </td>
        </tr>
      </table>
    
  </div></p>
<p>Но все не так плохо, как кажется.&nbsp;Мы можем создать анонимный класс, используя Class.new:</p>
<p><div class="data type-ruby">
    
      <table class="lines" cellspacing="0" cellpadding="0">
        <tr>
          <td>
            <pre class="line_numbers"><span rel="#L1" id="L1">1</span>
<span rel="#L2" id="L2">2</span>
<span rel="#L3" id="L3">3</span>
<span rel="#L4" id="L4">4</span>
<span rel="#L5" id="L5">5</span>
<span rel="#L6" id="L6">6</span>
<span rel="#L7" id="L7">7</span>
<span rel="#L8" id="L8">8</span>
<span rel="#L9" id="L9">9</span>
<span rel="#L10" id="L10">10</span>
<span rel="#L11" id="L11">11</span>
<span rel="#L12" id="L12">12</span>
<span rel="#L13" id="L13">13</span>
<span rel="#L14" id="L14">14</span>
</pre>
          </td>
          <td width="100%">
            
              
                <div class="highlight"><pre /><div class="line" id="LC1"><span class="k">def</span> <span class="nf">gimme_class</span></div><div class="line" id="LC2">&nbsp;&nbsp;<span class="n">method_class</span> <span class="o">=</span> <span class="no">Class</span><span class="o">.</span><span class="n">new</span> <span class="k">do</span></div><div class="line" id="LC3">&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">def</span> <span class="nf">where_am_i?</span></div><div class="line" id="LC4">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="nb">puts</span> <span class="s2">&quot;in method!&quot;</span></div><div class="line" id="LC5">&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">end</span></div><div class="line" id="LC6">&nbsp;&nbsp;<span class="k">end</span></div><div class="line" id="LC7"><br /></div><div class="line" id="LC8">&nbsp;&nbsp;<span class="n">obj</span> <span class="o">=</span> <span class="n">method_class</span><span class="o">.</span><span class="n">new</span></div><div class="line" id="LC9">&nbsp;&nbsp;<span class="n">obj</span><span class="o">.</span><span class="n">where_am_i?</span></div><div class="line" id="LC10"><span class="k">end</span></div><div class="line" id="LC11"><br /></div><div class="line" id="LC12"><br /></div><div class="line" id="LC13"><span class="c1"># &gt; gimme_class =&gt; in method!</span></div><div class="line" id="LC14"><br /></div></pre></div>
              
            
          </td>
        </tr>
      </table>
    
  </div></p>
<p>Единственный недостаток этого способа &ndash; он бесполезен когда нам необходимо оперировать именем класса, как это делает, например, ActiveRecord.&nbsp;В этом случае на выручку приходит &laquo;решатель всех проблем&raquo; &ndash; eval:</p>
<p><div class="data type-ruby">
    
      <table class="lines" cellspacing="0" cellpadding="0">
        <tr>
          <td>
            <pre class="line_numbers"><span rel="#L1" id="L1">1</span>
<span rel="#L2" id="L2">2</span>
<span rel="#L3" id="L3">3</span>
<span rel="#L4" id="L4">4</span>
<span rel="#L5" id="L5">5</span>
<span rel="#L6" id="L6">6</span>
<span rel="#L7" id="L7">7</span>
<span rel="#L8" id="L8">8</span>
<span rel="#L9" id="L9">9</span>
<span rel="#L10" id="L10">10</span>
<span rel="#L11" id="L11">11</span>
<span rel="#L12" id="L12">12</span>
<span rel="#L13" id="L13">13</span>
<span rel="#L14" id="L14">14</span>
<span rel="#L15" id="L15">15</span>
<span rel="#L16" id="L16">16</span>
</pre>
          </td>
          <td width="100%">
            
              
                <div class="highlight"><pre /><div class="line" id="LC1"><span class="k">def</span> <span class="nf">gimme_class</span></div><div class="line" id="LC2">&nbsp;&nbsp;<span class="nb">eval</span> <span class="sx">%{</span></div><div class="line" id="LC3"><span class="sx">    class MethodClass</span></div><div class="line" id="LC4"><span class="sx">      def where_am_i?</span></div><div class="line" id="LC5"><span class="sx">        puts &quot;in method!&quot;</span></div><div class="line" id="LC6"><span class="sx">      end</span></div><div class="line" id="LC7"><span class="sx">    end</span></div><div class="line" id="LC8"><span class="sx">  }</span></div><div class="line" id="LC9"><br /></div><div class="line" id="LC10">&nbsp;&nbsp;<span class="n">obj</span> <span class="o">=</span> <span class="no">MethodClass</span><span class="o">.</span><span class="n">new</span></div><div class="line" id="LC11">&nbsp;&nbsp;<span class="n">obj</span><span class="o">.</span><span class="n">where_am_i?</span></div><div class="line" id="LC12"><span class="k">end</span></div><div class="line" id="LC13"><br /></div><div class="line" id="LC14"><br /></div><div class="line" id="LC15"><span class="c1"># &gt; gimme_class =&gt; in method!</span></div><div class="line" id="LC16"><br /></div></pre></div>
              
            
          </td>
        </tr>
      </table>
    
  </div></p>
<p>Предвидя вопрос &laquo;Зачем вообще нужно такое извращение?&raquo; хочу сказать, что иногда нужно и не такое.</p>
<p>Я использовал этот подход в rake задаче, импортирующей данные, но дабы не создавать ненужные классы при каждом запуске rake, предпочел создавать нужные мне ActiveRecord классы только при необходимости.</p>
	
</p>

<p><a href="http://web-dev.posterous.com/create-a-class-inside-the-method">Permalink</a> 

	| <a href="http://web-dev.posterous.com/create-a-class-inside-the-method#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/348062/avatar_2_100x128.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/10Ni7NeArUR</posterous:profileUrl>
        <posterous:firstName />
        <posterous:lastName />
        <posterous:nickName>ptzn</posterous:nickName>
        <posterous:displayName>ptzn</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Fri, 11 Mar 2011 02:03:00 -0800</pubDate>
      <title>Интересные ссылки 11/03/11</title>
      <link>http://web-dev.posterous.com/110311</link>
      <guid>http://web-dev.posterous.com/110311</guid>
      <description>
        <![CDATA[<p>
	<p><span style="text-decoration: underline; font-size: medium;">Ruby/Rails</span></p>
<ul>
<li><a href="https://gist.github.com/852228" target="_blank">Earl</a> &ndash; Небольшой сниппет, добавляющий в строки работу с URL'ами: парсинг, проверку редиректов, раскрывание сокращенных и т.п.</li>
<li><a href="http://www.plupload.com/" target="_blank">Plupload</a> &ndash; Виджет загрузки файлов от создателей TinyMCE. Использует Flash, Silverlight, Google Gears или HTML5.</li>
<li><a href="http://www.peterkrantz.com/simplecrawler/wiki/" target="_blank">SimpleCrawler</a> - Ruby библиотека, для создания веб-краулеров.</li>
<li><a href="http://lucapette.com/irb/why-you-should-spend-some-time-configuring-irb/" target="_blank">Why you should spend some time configuring irb</a> &ndash; О тюнинге IRB.</li>
<li><a href="https://github.com/thedarkone/rails-dev-boost" target="_blank">rails-dev-boost</a> &ndash; &laquo;Ускоритель&raquo; development режима в Rails.</li>
<li><a href="http://engineering.gomiso.com/2011/02/25/adventures-in-scaling-part-1-using-ree/" target="_blank">Adventures in Scaling, Part 1: Using REE</a> &ndash; Советы по тюнингу REE.</li>
<li><a href="http://www.engineyard.com/blog/2010/everything-you-need-to-know-about-unicorn/" target="_blank">Everything You Need to Know About Unicorn</a> &ndash; Подробное описание всех возможностей и &laquo;вкусностей&raquo; Unicorn'а.</li>
<li><a href="http://rubini.us/2011/02/25/why-use-rubinius/" target="_blank">Why Use Rubinius</a> &ndash; Почему стоит использовать Rubinius.</li>
<li><a href="http://habrahabr.ru/blogs/ruby/113592/" target="_blank">Ruby Inside. Байткод YARV (I)</a>.</li>
<li><a href="http://merbist.com/2011/02/22/concurrency-in-ruby-explained/" target="_blank">Ruby concurrency explainined</a> &ndash; Простое и понятное описание возможностей параллелизма в Ruby.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">JavaScript</span></p>
<ul>
<li><a href="http://addyosmani.com/blog/essentialjsdesignpatternsupdate1/" target="_blank">Essential JavaScript Design Patterns 1.1</a> &ndash; Бесплатная книга о паттернах в JavaScript.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">Администрирование</span></p>
<ul>
<li><a href="http://www.rebelcode.ru/linux/servernaya-pochta-na-osnove-postfix-dovecot-i-mysql-dlya-debian/" target="_blank">Серверная почта на основе Postfix, Dovecot и MySQL для Debian</a>.</li>
<li><a href="http://habrahabr.ru/blogs/sysadm/114852/" target="_blank">Массовая почтовая рассылка через Exim или как не попасть в спам</a>.</li>
<li><a href="http://habrahabr.ru/blogs/linux/114622/" target="_blank">Простая защита от двойного запуска заданий cron</a>.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">Разное</span></p>
<ul>
<li><a href="http://developers.whatwg.org/" target="_blank">HTML5 A technical specification for Web developers</a>&nbsp;&ndash; Хорошо структурированная спецификация по HTML5.</li>
<li><a href="http://placekitten.com/" target="_blank">{placekitten}</a> &ndash; Все любят кисиков. Сервис дает возможность использовать картинки с оными в качестве заглушек.</li>
<li><a href="http://37signals.com/svn/posts/2777-what-happens-after-yahoo-acquires-you" target="_blank">What happens after Yahoo acquires you</a> &ndash; Что происходит с проектами, которые покупает Yahoo.</li>
<li><a href="http://www.insight-it.ru/set/kak-nuzhno-verstat/" target="_blank">Как нужно верстать?</a></li>
<li><a href="http://blog.phusion.nl/2011/03/04/union-station-is-back-online-and-heres-what-we-have-been-up-to/" target="_blank">Union Station beta is back online, and here&rsquo;s what we have been up to</a> &ndash; О проблемах и их решениях, возникших при запуске нового мониторингового сервиса <a href="http://www.unionstationapp.com/" target="_blank">unionstationapp</a>.</li>
<li><a href="http://www.insight-it.ru/masshtabiruemost/arkhitektura-twitter-dva-goda-spustya/" target="_blank">Архитектура Twitter. Два года спустя</a>.</li>
<li><a href="http://www.slideshare.net/nkallen/q-con-3770885" target="_blank">Big Data in Real-Time at Twitter</a> &ndash; Презентация о том как обрабатываются данные в Twitter.</li>
<li><a href="http://www.e1.ru/talk/forum/read.php?f=37&amp;i=178035&amp;t=178035" target="_blank">Начинающий программист о языках программирования</a>.</li>
</ul>
	
</p>

<p><a href="http://web-dev.posterous.com/110311">Permalink</a> 

	| <a href="http://web-dev.posterous.com/110311#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/348062/avatar_2_100x128.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/10Ni7NeArUR</posterous:profileUrl>
        <posterous:firstName />
        <posterous:lastName />
        <posterous:nickName>ptzn</posterous:nickName>
        <posterous:displayName>ptzn</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Fri, 18 Feb 2011 13:33:00 -0800</pubDate>
      <title>Интересные ссылки # 11/02/19</title>
      <link>http://web-dev.posterous.com/-110219</link>
      <guid>http://web-dev.posterous.com/-110219</guid>
      <description>
        <![CDATA[<p>
	<p><span style="text-decoration: underline; font-size: medium;">Ruby/Rails</span></p>
<ul>
<li><a href="https://gist.github.com/831643" target="_blank">Thumbnailing Flash-files for Paperclip</a> &ndash; Сниппет с рецептом изготовления thumbnail'ов flash-роликов при помощи paperclip.</li>
<li><a href="http://metautonomo.us/2011/02/03/when-to-use-alias_method_chain/" target="_blank">When to use alias_method_chain</a> &ndash; Статья в защиту метода alias_method_chain, который стало модно не любить, благодаря <a href="http://yehudakatz.com/" target="_blank">Yehuda Katz</a>.</li>
<li><a href="https://github.com/tomafro/rails-activerecord-columnreader" target="_blank">rails-activerecord-columnreader</a> &ndash; Расширение для ActiveRecord, позволяющее извлекать из БД только необходимые колонки.</li>
<li><a href="http://blog.plataformatec.com.br/2011/02/improving-your-tests-with-capybara-custom-selectors/" target="_blank">Improving your tests with Capybara custom selectors</a> &ndash; Написание собственных селекторов для Capybara.</li>
<li><a href="http://carboni.ca/blog/p/Ruby-Did-You-Know-That-2-Exception-Handling" target="_blank">Ruby Did You Know That: #2 (Exception Handling)</a> &ndash; Тонкости обработки ошибок в Ruby.</li>
<li><a href="http://exposinggotchas.blogspot.com/2011/02/activerecord-migrations-without-rails.html" target="_blank">ActiveRecord migrations without Rails</a> &ndash; Использование миграций без Rails.</li>
<li><a href="https://github.com/jnicklas/carrierwave" target="_blank">carrierwave</a> &ndash; Новый аплоадер для любых фреймворков, поддерживающих Rack.</li>
<li><a href="https://github.com/markevans/dragonfly" target="_blank">dragonfly</a> &ndash; Rack фреймворк для обработки изображений &laquo;на лету&raquo;.</li>
<li><a href="https://github.com/amatsuda/kaminari" target="_blank">kaminari</a> &ndash; Новый паджинатор для Rails 3, использующий скоупы и прочие современные возможности Rails 3.</li>
<li><a href="https://github.com/tmm1/rbtrace" target="_blank">rbtrace</a> &ndash; Аналог strace для кода на Ruby.</li>
<li><a href="https://github.com/banister/pry" target="_blank">pry</a> &ndash; Модуль, позволяющий вызывать IRB сессии из любого объекта.</li>
<li><a href="http://www.engineyard.com/blog/2011/3-common-rails-mysql-mistakes/" target="_blank">3 Common Rails + MySQL Mistakes</a></li>
<li><a href="http://kerryb.github.com/iprug-rspec-presentation/#1" target="_blank">RSpec presentation</a> &ndash; Очень полезная презентация по RSpec.</li>
<li><a href="http://thechangelog.com/post/3328554517/travis-travis-a-distributed-build-server-tool-for-the-ru" target="_blank">travis</a> &ndash; Начата работа над новым распределенным CI сервером для Ruby приложений.</li>
<li><a href="http://www.unlimitednovelty.com/2010/08/multithreaded-rails-is-generally-better.html" target="_blank">Multithreaded Rails is generally better than Async Rails, and Rainbows is cooler than Node</a> &ndash; Многословно о мультипоточности, асинхронности, производительности, node.js, event machine, Rails и т.д.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">JavaScript</span></p>
<ul>
<li><a href="http://www.erichynds.com/jquery/using-deferreds-in-jquery/" target="_blank">Using Deferreds in jQuery 1.5</a> &ndash; Описание новой функциональности, появившейся в jQuery 1.5, под названием Deferreds.</li>
<li><a href="http://intridea.com/2011/2/8/fun-with-jquery-deferred" target="_blank">Fun With jQuery Deferred</a> &ndash; Нестандартные способы применения deferred из jQuery 1.5.</li>
<li><a href="http://www.alfajango.com/blog/the-difference-between-jquerys-bind-live-and-delegate/" target="_blank">The Difference Between jQuery&rsquo;s .bind(), .live(), and .delegate()</a>.</li>
<li><a href="https://github.com/pixelmatrix/mapkey" target="_blank">mapkey</a> &ndash; jQuery плагин, позволяющий привязывать сочетания клавиш к ссылкам или функциям.</li>
<li><a href="http://treesaverjs.com/" target="_blank">Treesaver.js</a> &ndash; JavaScript фреймворк для создания &laquo;журнальных&raquo; версток.</li>
<li><a href="http://www.javascriptmvc.com/" target="_blank">JavaScriptMVC</a> &ndash; JavaScript фреймворк для создания толстых клиентских приложений.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">VCS</span></p>
<ul>
<li><a href="http://gaperton.livejournal.com/58092.html" target="_blank">В защиту Bazaar</a> &ndash; Слово в защиту Bazaar. Впрочем, лично для меня, это слова не в защиту.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">СУБД</span></p>
<ul>
<li><a href="http://explainextended.com/2009/05/21/choosing-column-order/" target="_blank">How column order affects query performance in MySQL</a> &ndash; Оказывается, порядок колонок в таблице MySQL влияет на производительность.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">Разное</span></p>
<ul>
<li><a href="http://woobiuseye.com/go/twNvULVLs" target="_blank">Woobius Eye</a> &ndash; Онлайн-сервис для совместного &laquo;черкания&raquo; на скриншотах и изображениях.</li>
<li><a href="http://www.insight-it.ru/tekhnologii/instrumenty-dlya-minimizacii-razmera-izobrazhenijj/" target="_blank">Инструменты для минимизации размера изображений</a>.</li>
<li><a href="https://github.com/StanAngeloff/compass-magick" target="_blank">Compass Magick</a> &ndash; Модуль, интегрирующий манипуляции с изображениями, осуществляемые посредством RMagick, прямо в Sass.</li>
<li><a href="http://mir.aculo.us/2011/02/08/visualizing-webkits-hardware-acceleration/" target="_blank">Visualizing WebKit&rsquo;s hardware acceleration</a> &ndash; На OSX и эмуляторе iOS можно включить визуализацию блоков страниц, аппаратно ускоряемых при рендеринге.</li>
<li><a href="http://gaperton.livejournal.com/58526.html" target="_blank">Проектирование по вытягивающему принципу</a> &ndash; Снова отличная статья от <a href="http://gaperton.livejournal.com/" target="_blank">gaperton</a> о проектировании.</li>
<li><a href="http://www.bettereveryday.ru/2011/02/blog-post_16.html" target="_blank">Что делать, если вы застряли</a> &ndash; Как решать задачи и делать дела, за которые не хочется браться.</li>
&nbsp; 
</ul>
	
</p>

<p><a href="http://web-dev.posterous.com/-110219">Permalink</a> 

	| <a href="http://web-dev.posterous.com/-110219#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/348062/avatar_2_100x128.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/10Ni7NeArUR</posterous:profileUrl>
        <posterous:firstName />
        <posterous:lastName />
        <posterous:nickName>ptzn</posterous:nickName>
        <posterous:displayName>ptzn</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Thu, 03 Feb 2011 23:39:00 -0800</pubDate>
      <title>Интересные ссылки # 11/02/04</title>
      <link>http://web-dev.posterous.com/-110204</link>
      <guid>http://web-dev.posterous.com/-110204</guid>
      <description>
        <![CDATA[<p>
	<p><span style="text-decoration: underline;"><span style="font-size: medium;">Ruby/Rails</span></span></p>
<ul>
<li><a href="http://netbeans.org/community/news/show/1507.html" target="_blank">В NetBeans официально прекращают поддерживать Ruby on Rails</a>.</li>
<li>В Rails добавили возможность изменять используемую по-умолчанию (YAML) стратегию сериализации: <a href="http://www.youtube.com/watch?v=7cco1jxori8" target="_blank">видео-пример</a>.</li>
<li>О том как <a href="http://alindeman.github.com/2011/01/21/iterate-through-time-with-rails.html" target="_blank">круто</a> и, в то же время, <a href="http://alindeman.github.com/2011/01/22/beware-of-ruby-syntactic-sugar.html" target="_blank">опасно</a> использовать &laquo;синтаксический сахар&raquo;.</li>
<li><a href="http://rubyflow.ru/items/1051" target="_blank">Как стать успешным рубистом?</a> &ndash; Подборка интервью с 18 известными рубистами.</li>
<li><a href="https://github.com/trevorturk/delayed_job_admin" target="_blank">delayed_job_admin</a> &ndash; Админка для Delayed::Job.</li>
<li><a href="http://www.arailsdemo.com/posts/40" target="_blank">The Capybara Gem</a> &ndash; О &laquo;кишках&raquo; гема Capybara.</li>
<li><a href="http://www.arailsdemo.com/posts/41" target="_blank">Integration Tests With Capybara</a> &ndash; Написание интеграционных тестов при помощи Capybara.</li>
<li><a href="https://github.com/puffer/puffer/" target="_blank">Puffer</a> &ndash; Еще одна Rails админка.</li>
<li><a href="http://emphaticsolutions.com/2011/01/21/functional-widgets-with-rails-javascript-jsonp.html" target="_blank">Functional Widgets with Rails, JavaScript and JSONP</a>.</li>
<li><a href="http://mutuallyhuman.com/blog/2011/01/25/class-coercion-in-ruby" target="_blank">Class Coercion in Ruby</a> &ndash; Как реализовать автоматическое приведение типов для собственных классов.</li>
<li><a href="http://robots.thoughtbot.com/post/2941220520/cleaning-up-with-rcov" target="_blank">Sweep unused code into the dustbin with rcov</a> &ndash; Поиск неиспользуемого кода при помощи тестирования и rcov.</li>
<li><a href="http://rubydev.ru/2011/01/objectspace_ruby/" target="_blank">ObjectSpace в Ruby</a>.</li>
<li><a href="https://github.com/ernie/attr_bucket" target="_blank">attr_bucket</a> &ndash; Расширение ActiveRecord для сериализации набора атрибутов в текстовом поле таблицы.</li>
<li><a href="http://www.igvita.com/2011/02/03/new-ruby-19-features-tips-tricks/" target="_blank">New Ruby 1.9 Features, Tips &amp; Tricks</a>.</li>
<li><a href="http://timeless.judofyr.net/haters-gonna-hateoas" target="_blank">Haters gonna HATEOAS</a> &ndash; И снова о REST.</li>
<li><a href="http://www.h3rald.com/articles/introducing-ruby-compendium/" target="_blank">Introducing the Ruby Compendium</a> - Книга об экосистеме Ruby.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">VCS</span></p>
<ul>
<li><a href="http://piranha.org.ua/blog/2011/01/24/bzr-hate-and-hate/" target="_blank">Bazaar: hate and... hate</a> &ndash; Чем плох <a href="http://bazaar-vcs.org/" target="_blank">bazaar</a>.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">Базы данных</span></p>
<ul>
<li><a href="http://habrahabr.ru/blogs/nosql/103021/" target="_blank">Реляционные базы данных обречены?</a> &ndash; Перевод относительно старой статьи о достоинствах и недостатках реляционных и NoSQL баз данных.</li>
<li><a href="http://habrahabr.ru/blogs/sql/95181/" target="_blank">Колоночные СУБД &ndash; принцип действия, преимущества и область применения</a>.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">Администрирование</span></p>
<ul>
<li><a href="http://www.turnkeylinux.org/" target="_blank">TurnKey Linux Virtual Appliance Library</a> &ndash; Коллекция образов Linux с необходимым софтом.</li>
<li><a href="http://virtualboximages.com/" target="_blank">VirtualBox Virtual Appliances</a> &ndash; Снова образы, но предназначенные для VirtualBox.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">Разное</span></p>
<ul>
<li><a href="http://simplenoteapp.com/" target="_blank">Simplenote</a> &ndash; Замена <a href="http://www.evernote.com" target="_blank">Evernote</a>.</li>
<li><a href="http://productblog.37signals.com/products/2011/01/well-be-retiring-our-support-of-openid-on-may-1.html" target="_blank">We&rsquo;ll be retiring our support of OpenID on May 1</a> &ndash; Почему 37signals прекращают поддержку OpenID.</li>
<li><a href="http://www.philwhln.com/quoras-technology-examined" target="_blank">Quora&rsquo;s Technology Examined</a> &ndash; Описание архитектуры <a href="http://www.quora.com/" target="_blank">Quora</a>.</li>
<li><a href="http://mydebianblog.blogspot.com/2011/01/midnight-commander.html" target="_blank">Midnight Commander: команды и горячие клавиши</a>.</li>
<li><a href="http://framebox.org/" target="_blank">Frame Box</a> - Веб-приложение на HTML5 для создания мокапов.</li>
<li><a href="https://github.com/mailchimp/Email-Blueprints" target="_blank">Email Blueprints</a> &ndash; Коллекция HTML шаблонов для email сообщений.</li>
<li><a href="http://www.cleveralgorithms.com/" target="_blank">Clever Algorithms</a> &ndash; Книга, описывающая 45 алгоритмов, взятых в природе и адаптированных для программирования.</li>
<li><a href="http://lifehacker.ru/2011/01/27/video-uprazhnenija-dlja-zapjastja-profilaktika-tunnelnogo-sindroma/" target="_blank">ВИДЕО: Упражнения для запястья. Профилактика туннельного синдрома</a>.</li>
<li><a href="http://gaperton.livejournal.com/57527.html" target="_blank">Такие разные отчеты</a> &ndash; Мнение об обязательных отчетах о выполненной работе.</li>
<li><a href="http://gaperton.livejournal.com/57760.html" target="_blank">Как пользоваться электронной почтой</a> &ndash; Советы по написанию писем.</li>
</ul>
	
</p>

<p><a href="http://web-dev.posterous.com/-110204">Permalink</a> 

	| <a href="http://web-dev.posterous.com/-110204#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/348062/avatar_2_100x128.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/10Ni7NeArUR</posterous:profileUrl>
        <posterous:firstName />
        <posterous:lastName />
        <posterous:nickName>ptzn</posterous:nickName>
        <posterous:displayName>ptzn</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Fri, 21 Jan 2011 03:02:00 -0800</pubDate>
      <title>Интересные ссылки # 11/01/21</title>
      <link>http://web-dev.posterous.com/-110121</link>
      <guid>http://web-dev.posterous.com/-110121</guid>
      <description>
        <![CDATA[<p>
	<p><span style="text-decoration: underline; font-size: medium;">Ruby/Rails</span></p>
<ul>
<li><a href="http://37signals.com/svn/posts/2742-the-road-to-faster-tests" target="_blank">The road to faster tests</a> &ndash; История от <a href="http://37signals.com/" target="_blank">37signals</a> об ускорении выполнения тестов с 15 до 7 минут.</li>
<li><a href="http://railsdog.com/blog/2011/01/require-using-expanded-path/" target="_blank">Require Using Expanded Path</a> &ndash; О тонкостях работы require.</li>
<li><a href="https://github.com/seejohnrun/database_validation" target="_blank">database_validation</a> &ndash; Gem, добавляющий в Rails приложение (ActiveRecord) автоматическую валидацию на основе правил в БД.</li>
<li><a href="http://www.arailsdemo.com/posts/39" target="_blank">#39 Code Reading - The FactoryGirl Gem</a> &ndash; Подробнейшее описание внутренностей FactoryGirl.</li>
<li><a href="http://thechangelog.com/post/2738927391/fistface-diy-font-face-web-service" target="_blank">Sinatra + S3 + Heroku = DIY @font-face web service</a>&nbsp;&ndash; Как сделать собственный font-face сервер, используя sinatra, s3 и heroku.</li>
<li><a href="http://defrang.com/archive/2011/cucumber-rant" target="_blank">Cucumber Rant</a> &ndash; Мнение о несостоятельности Cucumber, которое я полностью поддерживаю.</li>
<li><a href="http://robots.thoughtbot.com/post/2729333530/fetching-source-index-for-http-rubygems-org" target="_blank">Fetching source index for <a href="http://rubygems.org/">http://rubygems.org/</a> and why it&rsquo;s slow</a> &ndash; Почему так медленно происходит обновление индекса rubygems и что с этим делать.</li>
<li><a href="http://kschiess.github.com/parslet/" target="_blank">parslet</a> &ndash; Ruby библиотека для конструирования парсеров грамматики.</li>
<li><a href="https://github.com/primelab/eport" target="_blank">eport</a> &ndash; Gem для работы с платежной системой Eport и <a href="http://habrahabr.ru/blogs/ruby/111654/" target="_blank">пост</a> о настройке и работе с ним.</li>
<li><a href="http://www.alfajango.com/blog/how-to-monitor-your-railspassenger-app-with-munin/" target="_blank">How to Monitor Your Rails/Passenger App with Munin</a>.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">JavaScript</span></p>
<ul>
<li><a href="http://ejohn.org/blog/learning-from-twitter/" target="_blank">Learning from Twitter</a> &ndash; О последних тормозах в интерфейсе твиттера, связанных с jQuery.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">Git</span></p>
<ul>
<li><a href="http://library.edgecase.com/git_immersion/" target="_blank">Тур по работе с Git</a>.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">Разное</span></p>
<ul>
<li><a href="http://robots.thoughtbot.com/post/2831837714/feature-branch-code-reviews" target="_blank">Feature branch code reviews</a> &ndash; Процесс разработки, основанный на Git, github, ревью кода и CI, используемый <a href="http://thoughtbot.com/" target="_blank">thoughtbot</a>.</li>
<li><a href="https://github.com/blog/775-octocat-wallpapers-for-all" target="_blank">Набор обоев в подарок</a> от <a href="https://github.com/" target="_blank">github</a>.</li>
<li><a href="http://levgem.livejournal.com/330697.html" target="_blank">Let it crash</a> &ndash; Статья от <a href="http://levgem.livejournal.com/" target="_blank">Макса Лапшина</a> о принципе "Let it crash" при программировании на Erlang'е.</li>
<li><a href="http://habrahabr.ru/blogs/cpp/111403/" target="_blank">Еще 5++ причин ненавидеть С++</a>.</li>
<li><a href="http://inwebwetrust.org/trust/Game_Development_Dynamics_Playdeck.html" target="_blank">Секреты гейм-девелопмента: 47 игровых механик</a>.</li>
<li><a href="http://habrahabr.ru/blogs/webdev/111357/" target="_blank">Мультиплексированный ввод/вывод</a>.</li>
&nbsp; 
</ul>
	
</p>

<p><a href="http://web-dev.posterous.com/-110121">Permalink</a> 

	| <a href="http://web-dev.posterous.com/-110121#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/348062/avatar_2_100x128.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/10Ni7NeArUR</posterous:profileUrl>
        <posterous:firstName />
        <posterous:lastName />
        <posterous:nickName>ptzn</posterous:nickName>
        <posterous:displayName>ptzn</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Fri, 14 Jan 2011 08:41:00 -0800</pubDate>
      <title>Более подробно о новом формате даты в ruby 1.9</title>
      <link>http://web-dev.posterous.com/ruby-19</link>
      <guid>http://web-dev.posterous.com/ruby-19</guid>
      <description>
        <![CDATA[<p>
	<p>Однажды я наткнулся вот на такую багофичу:</p>
<blockquote class="posterous_short_quote">
<p><div class='p_embed p_image_embed'>
<a href="http://posterous.com/getfile/files.posterous.com/temp-2011-01-14/vusItBwGDqnBcptqxcljckwchjBDqCllEAolJxzhomzgGkdHuBvECAxetoky/8.png.scaled1000.png"><img alt="8" height="252" src="http://posterous.com/getfile/files.posterous.com/temp-2011-01-14/vusItBwGDqnBcptqxcljckwchjBDqCllEAolJxzhomzgGkdHuBvECAxetoky/8.png.scaled500.png" width="500" /></a>
</div>
</p>
</blockquote>
<p>Теперь подробнее.</p>
<p>Багофича очень неприятная и вылезает только при превышении граничных условий для месяца.&nbsp;</p>
<p>Например, имеем строковое представление 15 ноября 2010, "11/15/2010". Вызываем <em>"11/15/2010".to_date</em> и в Ruby 1.9 получаем ошибку конвертирования. Еще более непонятной выглядит ошибка в Rails, при автоматическом конвертировании параметров запроса.</p>
<p>Что подвигло разработчиков Ruby на такой шаг непонятно, но теперь дефолтовым форматом даты является европейский, т.е. DD/MM/YYYY, вместо привычного американского MM/DD/YYYY.</p>
<p><div class="data type-ruby">
    
      <table class="lines" cellspacing="0" cellpadding="0">
        <tr>
          <td>
            <pre class="line_numbers"><span rel="#L1" id="L1">1</span>
<span rel="#L2" id="L2">2</span>
<span rel="#L3" id="L3">3</span>
<span rel="#L4" id="L4">4</span>
<span rel="#L5" id="L5">5</span>
<span rel="#L6" id="L6">6</span>
<span rel="#L7" id="L7">7</span>
<span rel="#L8" id="L8">8</span>
</pre>
          </td>
          <td width="100%">
            
              
                <div class="highlight"><pre /><div class="line" id="LC1"><span class="c1"># ruby 1.9.2</span></div><div class="line" id="LC2"><span class="o">&gt;</span> <span class="no">Date</span><span class="o">.</span><span class="n">_parse</span><span class="p">(</span><span class="s2">&quot;11/15/2010&quot;</span><span class="p">,</span> <span class="kp">false</span><span class="p">)</span><span class="o">.</span><span class="n">values_at</span><span class="p">(</span><span class="ss">:year</span><span class="p">,</span> <span class="ss">:mon</span><span class="p">,</span> <span class="ss">:mday</span><span class="p">)</span></div><div class="line" id="LC3"><span class="o">=&gt;</span> <span class="o">[</span><span class="mi">2010</span><span class="p">,</span> <span class="mi">15</span><span class="p">,</span> <span class="mi">11</span><span class="o">]</span></div><div class="line" id="LC4"><br /></div><div class="line" id="LC5"><span class="c1"># ruby 1.8</span></div><div class="line" id="LC6"><span class="o">&gt;</span> <span class="no">Date</span><span class="o">.</span><span class="n">_parse</span><span class="p">(</span><span class="s2">&quot;11/15/2010&quot;</span><span class="p">,</span> <span class="kp">false</span><span class="p">)</span><span class="o">.</span><span class="n">values_at</span><span class="p">(</span><span class="ss">:year</span><span class="p">,</span> <span class="ss">:mon</span><span class="p">,</span> <span class="ss">:mday</span><span class="p">)</span></div><div class="line" id="LC7"><span class="o">=&gt;</span> <span class="o">[</span><span class="mi">2010</span><span class="p">,</span> <span class="mi">11</span><span class="p">,</span> <span class="mi">15</span><span class="o">]</span></div><div class="line" id="LC8"><br /></div></pre></div>
              
            
          </td>
        </tr>
      </table>
    
  </div></p>
<p>В случае рельсового приложения (особенно если предполагается использовать Ruby версий 1.8 и 1.9) данную проблему можно решить несколькими способами: использовать библиотеку <a href="https://github.com/clemens/delocalize" target="_blank">delocalize</a> или исправить новое поведение при помощи всеми любимого манкипатчинга. Я выбрал второй способ, т.к. проблему нужно было решить быстро, а локализация приложения не предвидится.</p>
<p>За основу был взят код <a href="http://slightlycoded.com/blog/ruby-1-9-date-problems" target="_blank">отсюда</a>. Сначала я хотел, следуя заветам всеми нами любимого <a href="http://yehudakatz.com/" target="_blank">Yehuda Katz</a>, сделать все красиво и перегрузить необходимые методы через extend и include, но, к сожалению, с первого захода это не сработало (я грешу на сложный процесс инициализации самих рельс и activesupport в частности), так что переписал методы &laquo;в лоб&raquo; и положил код в <em>config/initializers/american_date_monkey_patch.rb</em>:</p>
<p><div class="data type-ruby">
    
      <table class="lines" cellspacing="0" cellpadding="0">
        <tr>
          <td>
            <pre class="line_numbers"><span rel="#L1" id="L1">1</span>
<span rel="#L2" id="L2">2</span>
<span rel="#L3" id="L3">3</span>
<span rel="#L4" id="L4">4</span>
<span rel="#L5" id="L5">5</span>
<span rel="#L6" id="L6">6</span>
<span rel="#L7" id="L7">7</span>
<span rel="#L8" id="L8">8</span>
<span rel="#L9" id="L9">9</span>
<span rel="#L10" id="L10">10</span>
<span rel="#L11" id="L11">11</span>
<span rel="#L12" id="L12">12</span>
<span rel="#L13" id="L13">13</span>
<span rel="#L14" id="L14">14</span>
<span rel="#L15" id="L15">15</span>
<span rel="#L16" id="L16">16</span>
<span rel="#L17" id="L17">17</span>
<span rel="#L18" id="L18">18</span>
<span rel="#L19" id="L19">19</span>
<span rel="#L20" id="L20">20</span>
</pre>
          </td>
          <td width="100%">
            
              
                <div class="highlight"><pre /><div class="line" id="LC1"><span class="c1"># Date.parse() with Ruby 1.9 is now defaulting to the European date style where the format is DD/MM/YYYY, not MM/DD/YYYY</span></div><div class="line" id="LC2"><span class="c1"># patch it to use US format by default</span></div><div class="line" id="LC3"><span class="k">if</span> <span class="no">RUBY_VERSION</span> <span class="o">&gt;=</span> <span class="s1">&#39;1.9&#39;</span></div><div class="line" id="LC4">&nbsp;&nbsp;<span class="k">class</span> <span class="nc">String</span></div><div class="line" id="LC5">&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">def</span> <span class="nf">to_date</span></div><div class="line" id="LC6">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">if</span> <span class="nb">self</span><span class="o">.</span><span class="n">blank?</span></div><div class="line" id="LC7">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="kp">nil</span></div><div class="line" id="LC8">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">elsif</span> <span class="nb">self</span> <span class="o">=~</span> <span class="sr">/(\d{1,2})\/(\d{1,2})\/(\d{4})/</span></div><div class="line" id="LC9">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="o">::</span><span class="no">Date</span><span class="o">.</span><span class="n">civil</span><span class="p">(</span><span class="vg">$3</span><span class="o">.</span><span class="n">to_i</span><span class="p">,</span> <span class="vg">$1</span><span class="o">.</span><span class="n">to_i</span><span class="p">,</span> <span class="vg">$2</span><span class="o">.</span><span class="n">to_i</span><span class="p">)</span></div><div class="line" id="LC10">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">else</span></div><div class="line" id="LC11">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="o">::</span><span class="no">Date</span><span class="o">.</span><span class="n">new</span><span class="p">(</span><span class="o">*::</span><span class="no">Date</span><span class="o">.</span><span class="n">_parse</span><span class="p">(</span><span class="nb">self</span><span class="p">,</span> <span class="kp">false</span><span class="p">)</span><span class="o">.</span><span class="n">values_at</span><span class="p">(</span><span class="ss">:year</span><span class="p">,</span> <span class="ss">:mon</span><span class="p">,</span> <span class="ss">:mday</span><span class="p">))</span></div><div class="line" id="LC12">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">end</span></div><div class="line" id="LC13">&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">end</span></div><div class="line" id="LC14">&nbsp;&nbsp;<span class="k">end</span></div><div class="line" id="LC15">&nbsp;&nbsp;<span class="k">class</span> <span class="nc">ActiveRecord</span><span class="o">::</span><span class="no">ConnectionAdapters</span><span class="o">::</span><span class="no">Column</span></div><div class="line" id="LC16">&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">def</span> <span class="nc">self</span><span class="o">.</span><span class="nf">fallback_string_to_date</span><span class="p">(</span><span class="n">string</span><span class="p">)</span></div><div class="line" id="LC17">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="n">string</span><span class="o">.</span><span class="n">to_date</span></div><div class="line" id="LC18">&nbsp;&nbsp;&nbsp;&nbsp;<span class="k">end</span></div><div class="line" id="LC19">&nbsp;&nbsp;<span class="k">end</span></div><div class="line" id="LC20"><span class="k">end</span></div></pre></div>
              
            
          </td>
        </tr>
      </table>
    
  </div></p>
	
</p>

<p><a href="http://web-dev.posterous.com/ruby-19">Permalink</a> 

	| <a href="http://web-dev.posterous.com/ruby-19#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/348062/avatar_2_100x128.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/10Ni7NeArUR</posterous:profileUrl>
        <posterous:firstName />
        <posterous:lastName />
        <posterous:nickName>ptzn</posterous:nickName>
        <posterous:displayName>ptzn</posterous:displayName>
      </posterous:author>
      <media:content type="image/png" height="263" width="522" url="http://getfile5.posterous.com/getfile/files.posterous.com/temp-2011-01-14/vusItBwGDqnBcptqxcljckwchjBDqCllEAolJxzhomzgGkdHuBvECAxetoky/8.png">
        <media:thumbnail height="252" width="500" url="http://getfile3.posterous.com/getfile/files.posterous.com/temp-2011-01-14/vusItBwGDqnBcptqxcljckwchjBDqCllEAolJxzhomzgGkdHuBvECAxetoky/8.png.scaled500.png" />
      </media:content>
    </item>
    <item>
      <pubDate>Thu, 13 Jan 2011 04:34:00 -0800</pubDate>
      <title>Growl notifications for autotest</title>
      <link>http://web-dev.posterous.com/growl-notifications-for-autotest</link>
      <guid>http://web-dev.posterous.com/growl-notifications-for-autotest</guid>
      <description>
        <![CDATA[<p>
	<p>Захотелось мне странного, а именно уведомления о статусе тестов, запущенных при помощи <a href="http://www.zenspider.com/ZSS/Products/ZenTest/" target="_blank">ZenTest</a>, через <a href="http://growl.info/" target="_blank">Growl</a>.</p>
<p>Как обычно, оказалось, что все уже придумали до нас, поэтому осуществление &laquo;странного&raquo; свелось к последовательности команд:</p>
<p><div class="data type-text">
    
      <table class="lines" cellspacing="0" cellpadding="0">
        <tr>
          <td>
            <pre class="line_numbers"><span rel="#L1" id="L1">1</span>
<span rel="#L2" id="L2">2</span>
<span rel="#L3" id="L3">3</span>
</pre>
          </td>
          <td width="100%">
            
              
                <div class="highlight"><pre /><div class="line" id="LC1">$ rvm use ree@global</div><div class="line" id="LC2">$ gem install ZenTest autotest-rails autotest-growl</div><div class="line" id="LC3"><br /></div></pre></div>
              
            
          </td>
        </tr>
      </table>
    
  </div></p>
<p>И правке конфига <em>~/.autotest</em>:</p>
<p><div class="data type-ruby">
    
      <table class="lines" cellspacing="0" cellpadding="0">
        <tr>
          <td>
            <pre class="line_numbers"><span rel="#L1" id="L1">1</span>
<span rel="#L2" id="L2">2</span>
<span rel="#L3" id="L3">3</span>
</pre>
          </td>
          <td width="100%">
            
              
                <div class="highlight"><pre /><div class="line" id="LC1"><span class="nb">require</span> <span class="s1">&#39;autotest/growl&#39;</span></div><div class="line" id="LC2"><span class="no">Autotest</span><span class="o">::</span><span class="no">Growl</span><span class="o">::</span><span class="n">clear_terminal</span> <span class="o">=</span> <span class="kp">false</span></div><div class="line" id="LC3"><br /></div></pre></div>
              
            
          </td>
        </tr>
      </table>
    
  </div></p>
<p>В результате имеем вот такую красивую картинку:</p>
<p><div class='p_embed p_image_embed'>
<img alt="6" height="110" src="http://posterous.com/getfile/files.posterous.com/temp-2011-01-13/vwDvnFuFJijwhGIDdFhfqtEflFnEwAcvIydfJCubdintdBfeAtvhihdekbio/6.png.scaled500.png" width="310" />
</div>
PS. Подробное описание ручек настройки можно найти на <a href="https://github.com/svoop/autotest-growl" target="_blank">github'е</a>. Cудя по тому же гитхабу autotest-growl должен работать так же под Linux и Windows.</p>
	
</p>

<p><a href="http://web-dev.posterous.com/growl-notifications-for-autotest">Permalink</a> 

	| <a href="http://web-dev.posterous.com/growl-notifications-for-autotest#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/348062/avatar_2_100x128.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/10Ni7NeArUR</posterous:profileUrl>
        <posterous:firstName />
        <posterous:lastName />
        <posterous:nickName>ptzn</posterous:nickName>
        <posterous:displayName>ptzn</posterous:displayName>
      </posterous:author>
      <media:content type="image/png" height="110" width="310" url="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2011-01-13/vwDvnFuFJijwhGIDdFhfqtEflFnEwAcvIydfJCubdintdBfeAtvhihdekbio/6.png">
        <media:thumbnail height="110" width="310" url="http://getfile6.posterous.com/getfile/files.posterous.com/temp-2011-01-13/vwDvnFuFJijwhGIDdFhfqtEflFnEwAcvIydfJCubdintdBfeAtvhihdekbio/6.png.scaled500.png" />
      </media:content>
    </item>
    <item>
      <pubDate>Fri, 07 Jan 2011 00:56:00 -0800</pubDate>
      <title>Интересные ссылки # 11/01/07</title>
      <link>http://web-dev.posterous.com/-110107</link>
      <guid>http://web-dev.posterous.com/-110107</guid>
      <description>
        <![CDATA[<p>
	<p><span style="text-decoration: underline; font-size: medium;">Ruby/Rails</span></p>
<ul>
<li><a href="https://github.com/rubiety/validates_lengths_from_database" target="_blank">validates_lengths_from_database</a> &ndash; Автоматическая валидация длины текстовых полей на основе ограничений, взятых из БД.</li>
<li><a href="http://amberbit.com/blog/render-views-partials-outside-controllers-rails-3" target="_blank">Render views and partials outside controllers in Rails 3</a> &ndash; Rails 3 предоставляет простой способ рендеринга шаблонов из любого места в приложении.</li>
<li><a href="https://github.com/tarcieri/cool.io" target="_blank">cool.io</a> &ndash; Новая библиотека обрабоки событий, использующая libev.</li>
<li><a href="http://endofline.wordpress.com/2010/12/31/ruby-standard-library-timeout/" target="_blank">Timeout</a> &ndash; Стандартная библиотека Ruby хранит много полезных малоизвестных средств, например, Timeout позволяет проверять, что блок кода был выполнен не более, чем за указанное время.</li>
<li><a href="http://blog.envylabs.com/2010/12/rails-3-cheat-sheets/" target="_blank">Rails 3 Cheat Sheets</a> &ndash; <a href="http://envylabs.com/" target="_blank">Envy Labs</a> сделали отличную шпаргалку по Rails 3.</li>
<li><a href="https://github.com/augustl/net-http-cheat-sheet" target="_blank">Net::HTTP Cheat Sheet</a> &ndash; Подборка советов&nbsp;на все случаи жизни&nbsp;по использованию библиотеки Net::HTTP.</li>
<li><a href="http://endofline.wordpress.com/2010/12/24/hash-tricks/" target="_blank">Ruby Hash Tricks</a>.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">CSS</span></p>
<ul>
<li><a href="http://www.alistapart.com/articles/css-positioning-101/" target="_blank">CSS Positioning 101</a> &ndash; Подробный мануал по позиционированию элементов при помощи CSS.</li>
<li><a href="http://www.slideshare.net/Basvasilich/bem-block-element-modification-conception-in-htmlcss#" target="_blank">BEM</a> &mdash; Презентация об организации CSS правил в яндексе.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">Базы данных</span></p>
<ul>
<li><a href="http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis" target="_blank">Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase comparison</a> &ndash; Отличная сравнительная таблица наиболее популярных NoSQL баз данных.</li>
</ul>
<p><span style="text-decoration: underline; font-size: medium;">Разное</span></p>
<ul>
<li><a href="http://love5an.livejournal.com/356033.html" target="_blank">Common Lisp vs Python</a>.</li>
<li><a href="http://timeless.judofyr.net/mockup-driven-development" target="_blank">Mockup-Driven Development</a> &ndash; Процесс разработки на основе мокапов. Как сделать так, чтобы дизайнеры и программисты, работая с одним деревом исходников, мешали друг другу как можно меньше.</li>
<li><a href="http://how-i-work.com/workbenches/30-working-with-os-x-and-emacs" target="_blank">Working with OS X and Emacs</a> &ndash; Десятиминутный скринкаст об организации работы в OSX и Emacs.</li>
<li><a href="http://lifehacker.ru/2010/12/31/ispolzujjte-dropbox-v-svjazke-s-sobstvennym-domenom/" target="_blank">Используйте Dropbox в связке с собственным доменом</a>.</li>
<li>Подборка цитат о программировании на <a href="http://programmers.stackexchange.com/questions/39/whats-your-favourite-quote-about-programming" target="_blank">английском</a> языке и на <a href="http://habrahabr.ru/blogs/htranslations/111348/" target="_blank">русском</a>.</li>
</ul>
	
</p>

<p><a href="http://web-dev.posterous.com/-110107">Permalink</a> 

	| <a href="http://web-dev.posterous.com/-110107#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/348062/avatar_2_100x128.jpg</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/10Ni7NeArUR</posterous:profileUrl>
        <posterous:firstName />
        <posterous:lastName />
        <posterous:nickName>ptzn</posterous:nickName>
        <posterous:displayName>ptzn</posterous:displayName>
      </posterous:author>
    </item>
  </channel>
</rss>

