<?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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>RubyFlow.org.ua</title>
    <description>Соціальний блог розробніків мовою Ruby та Ruby on Rails</description>
    <link>http://rubyflow.org.ua/items</link>
    <language>ru-ru</language>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Rubyfloworgua" /><feedburner:info uri="rubyfloworgua" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
      <title>Вийшов Ruby 1.9.3-p125 </title>
      <description>&lt;p&gt;Реліз містить виправлення модуля роботи з OpenSSH.&lt;/p&gt;

&lt;p&gt;Подробиці по &lt;a href="https://bugs.ruby-lang.org/projects/ruby-193/issues?set_filter=1&amp;amp;status_id=5"&gt;тікета&lt;/a&gt;х та &lt;a href="http://svn.ruby-lang.org/repos/ruby/tags/v1_9_3_125/ChangeLog"&gt;змінах&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Rubyfloworgua/~4/-P5fU-Ys_iU" height="1" width="1"/&gt;</description>
      <pubDate>Thu, 16 Feb 2012 14:13:45 +0000</pubDate>
      <link>http://feedproxy.google.com/~r/Rubyfloworgua/~3/-P5fU-Ys_iU/55</link>
      <guid isPermaLink="false">http://rubyflow.org.ua/items/55</guid>
    <feedburner:origLink>http://rubyflow.org.ua/items/55</feedburner:origLink></item>
    <item>
      <title>MailCatcher.me - локальний smtp сервер з web інтерфейсом</title>
      <description>&lt;p&gt;Доволі часто потрібно протестувати роботу сервісу який пов'язаний з відсиланням листів.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.skitch.com/20120216-8kjd3qfwu4169wy3xndwn542n5.jpg" alt="alt text" /&gt;&lt;/p&gt;

&lt;p&gt;MailCatcher можна розглядати як такий собі спрощений варіант зовнішньої системи розсилки, але при цьому ви матимете ряд переваг, а саме:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;швидкість відсилики листів;&lt;/li&gt;
&lt;li&gt;необхіднисть підключення до Internet тепер не є обовязковою;&lt;/li&gt;
&lt;li&gt;значно прощується аутинтифікація на зовнішні сервіси відсилки;&lt;/li&gt;
&lt;li&gt;знімаються обмеження на кількість надісланних листів;&lt;/li&gt;
&lt;li&gt;підвищуеться ступінь захасту системи(вставляти дані реальних акаунтів тепер нема потреби)&lt;/li&gt;
&lt;li&gt;ризик організувати спам підчас тестування з реальними данними зводиться до нуля&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Пропоную переглянути &lt;a href="http://goo.gl/biJao"&gt;невеличкий скрінкаст&lt;/a&gt; по встановленню та тестуванню цього сервіса.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Rubyfloworgua/~4/QBCIk9Wzk3I" height="1" width="1"/&gt;</description>
      <pubDate>Thu, 16 Feb 2012 08:22:31 +0000</pubDate>
      <link>http://feedproxy.google.com/~r/Rubyfloworgua/~3/QBCIk9Wzk3I/54</link>
      <guid isPermaLink="false">http://rubyflow.org.ua/items/54</guid>
    <feedburner:origLink>http://rubyflow.org.ua/items/54</feedburner:origLink></item>
    <item>
      <title>Cane - статичний аналізатор коду для ruby 1.9.x</title>
      <description>&lt;p&gt;Ще один інструмент для дослідження та статичного аналізу коду на Ruby.&lt;/p&gt;

&lt;p&gt;Основна його цінність, як на мене, це можливість обрахунку цикломатичної складності коду для подальшого рефакторінгу та аналізу достаності покриття тестами.&lt;/p&gt;

&lt;p&gt;Більш докладно можна почитати в README в &lt;a href="https://github.com/square/cane"&gt;репозиторії проекту&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Rubyfloworgua/~4/O1cm5KV5_Rw" height="1" width="1"/&gt;</description>
      <pubDate>Wed, 15 Feb 2012 13:44:27 +0000</pubDate>
      <link>http://feedproxy.google.com/~r/Rubyfloworgua/~3/O1cm5KV5_Rw/53</link>
      <guid isPermaLink="false">http://rubyflow.org.ua/items/53</guid>
    <feedburner:origLink>http://rubyflow.org.ua/items/53</feedburner:origLink></item>
    <item>
      <title>Дизайн патерни - просто, як двері</title>
      <description>&lt;p&gt;Саме під такою назвою вийшла книга львівського програміста Андрія Будая.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://designpatterns.andriybuday.com/_/rsrc/1329156240435/home/BookCover_240.png" alt="alt text" /&gt;&lt;/p&gt;

&lt;p&gt;В книзі легкою та доступною мовою подано опис власного досвіду автора у використанні патернів дизайну програмного коду та містить авторські приклади написані мовою Java.&lt;/p&gt;

&lt;p&gt;Книга написана українською мовою та розповсюджується безпоштовно згідно з ліцензією Creative Commons 3.0.&lt;/p&gt;

&lt;p&gt;На мою думку, матеріал буде цікавий також розробникам мовою Ruby зважаючи на те, що патерни програмування не є залежними від самої мови на якій вони реалізовані.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://designpatterns.andriybuday.com/download"&gt;Скачати книгу&lt;/a&gt; можна з &lt;a href="http://designpatterns.andriybuday.com/"&gt;сайту автора&lt;/a&gt; в фоматі zip та pdf.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Rubyfloworgua/~4/uNhTQxeMcDc" height="1" width="1"/&gt;</description>
      <pubDate>Wed, 15 Feb 2012 12:39:47 +0000</pubDate>
      <link>http://feedproxy.google.com/~r/Rubyfloworgua/~3/uNhTQxeMcDc/52</link>
      <guid isPermaLink="false">http://rubyflow.org.ua/items/52</guid>
    <feedburner:origLink>http://rubyflow.org.ua/items/52</feedburner:origLink></item>
    <item>
      <title>Drag&amp;Drop одним пальцем в OSX Lion</title>
      <description>&lt;p&gt;OSX Show Leopard мав дуже приємну мені фічу, цінність якої я відчув тільки з переходом на Lion.&lt;/p&gt;

&lt;p&gt;Мене досі дивує мотивації дизайнерів Apple згідно якої вони вирішили, що тягати вікна трьома пальцями буде зручніше ніж одним, але вдячний за те,  що лишили спосіб повернути попередню поведінку системи&lt;/p&gt;

&lt;p&gt;&lt;img src="https://img.skitch.com/20120209-bi96mc9pw96mf2ht9a2k2ixb26.jpg" alt="alt text" /&gt;&lt;/p&gt;

&lt;p&gt;хоч і запхали її в налаштування для людей з фізичними відхиленнями.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Rubyfloworgua/~4/0bhczLTyz7E" height="1" width="1"/&gt;</description>
      <pubDate>Thu, 09 Feb 2012 16:54:35 +0000</pubDate>
      <link>http://feedproxy.google.com/~r/Rubyfloworgua/~3/0bhczLTyz7E/51</link>
      <guid isPermaLink="false">http://rubyflow.org.ua/items/51</guid>
    <feedburner:origLink>http://rubyflow.org.ua/items/51</feedburner:origLink></item>
    <item>
      <title>Встановлення Jenkins на OSX Lion</title>
      <description>&lt;p&gt;В &lt;a href="http://lostechies.com/ryansvihla/2011/09/25/rail-3-1-ci-setup-with-jenkins-test-unit-simplecov-on-os-x-lion/"&gt;статті&lt;/a&gt; докладно подано опис процесу встановлення сервера безперервної інтеграції Jenkins(форк Hudson) на операційну систему OSX Lion.&lt;/p&gt;

&lt;p&gt;Детально описано налаштування взаємодії з RVM та SimpleCov.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Rubyfloworgua/~4/vQj-txvUxg0" height="1" width="1"/&gt;</description>
      <pubDate>Tue, 07 Feb 2012 06:49:53 +0000</pubDate>
      <link>http://feedproxy.google.com/~r/Rubyfloworgua/~3/vQj-txvUxg0/50</link>
      <guid isPermaLink="false">http://rubyflow.org.ua/items/50</guid>
    <feedburner:origLink>http://rubyflow.org.ua/items/50</feedburner:origLink></item>
    <item>
      <title>Пошук файлів у Vim</title>
      <description>&lt;p&gt;Я досить давно користуюсь Vim і вважаю його одним з найкращих текcтових редакторів(але таємно мрію, щоб основною мовою написання plugins став Ruby).&lt;/p&gt;

&lt;p&gt;Пропоную до огляду дуже цікавий і корисний, на мій погляд, плагін &lt;a href="https://github.com/kien/ctrlp.vim/tree/extensions"&gt;CtrlP&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;написаний повністю на VimL для MacVim 7.0, але так само добре працюе і в консольній версії;&lt;/li&gt;
&lt;li&gt;повністю підтримує регулярні вирази підчас пошуку файлів;&lt;/li&gt;
&lt;li&gt;вмотований пошук за перевагою в частоті використання (MRU);&lt;/li&gt;
&lt;li&gt;автовизначення кореня проекту;&lt;/li&gt;
&lt;li&gt;підтримує написання власних &lt;a href="https://github.com/kien/ctrlp.vim/tree/extensions"&gt;розширень&lt;/a&gt; для пошуку;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&lt;img src="https://img.skitch.com/20120121-g8akxtgsm8qes36j5n4f1jwb53.png" alt="alt text" /&gt;&lt;/p&gt;

&lt;p&gt;Використання досить просте: тиснете Ctr+P, вводите параметри пошуку.&lt;/p&gt;

&lt;p&gt;Ctrl+f та Ctrl+b - рух до наступного та попереднього буферів відповідно.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/kien/ctrlp.vim"&gt;https://github.com/kien/ctrlp.vim&lt;/a&gt; ----&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Rubyfloworgua/~4/UAfbXdTiH0M" height="1" width="1"/&gt;</description>
      <pubDate>Sat, 21 Jan 2012 18:55:50 +0000</pubDate>
      <link>http://feedproxy.google.com/~r/Rubyfloworgua/~3/UAfbXdTiH0M/49</link>
      <guid isPermaLink="false">http://rubyflow.org.ua/items/49</guid>
    <feedburner:origLink>http://rubyflow.org.ua/items/49</feedburner:origLink></item>
    <item>
      <title>Менеджер паролів на Ruby</title>
      <description>&lt;p&gt;З часом паролів стає стільки, що майже неможливо ними керувати. Листочки, файлики та записи на долонях,  звичайно, не вихід.&lt;/p&gt;

&lt;p&gt;Досить цікаве &lt;a href="https://github.com/janlelis/pws"&gt;рішення проблеми&lt;/a&gt; написане на Ruby:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;gem install pws 
&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;зрерігає паролі у файлі на диску;&lt;/li&gt;
&lt;li&gt;криптує файл з допомогою загального(master) паролю;&lt;/li&gt;
&lt;li&gt;створено для повсякденного користування;&lt;/li&gt;
&lt;li&gt;лише 234 рядки чистого Ruby коду;&lt;/li&gt;
&lt;li&gt;протестовано 222 рядками коду на Cucumber.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&lt;img src="http://rbjl.net/pws-example.png" alt="alt text" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://rbjl.net/60-pws-the-ruby-powered-command-line-password-manager---"&gt;http://rbjl.net/60-pws-the-ruby-powered-command-line-password-manager---&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Rubyfloworgua/~4/w_8OrLinmEM" height="1" width="1"/&gt;</description>
      <pubDate>Sat, 21 Jan 2012 18:37:44 +0000</pubDate>
      <link>http://feedproxy.google.com/~r/Rubyfloworgua/~3/w_8OrLinmEM/48</link>
      <guid isPermaLink="false">http://rubyflow.org.ua/items/48</guid>
    <feedburner:origLink>http://rubyflow.org.ua/items/48</feedburner:origLink></item>
    <item>
      <title>Nginx  на MacOS(редакція 2га)</title>
      <description>&lt;p&gt;Цікава &lt;a href="http://trevorturk.com/2010/09/22/passenger-with-nginx-on-mac-os-x-2nd-edition-2/"&gt;стаття&lt;/a&gt; &lt;a href="http://trevorturk.com/"&gt;Trevor Turk&lt;/a&gt; про те як налаштувати собі локальний web сервер &lt;a href="http://www.nginx.net/"&gt;Nginx&lt;/a&gt; та сервер аплікацій &lt;a href="http://www.modrails.com/"&gt;Phusion Passenger&lt;/a&gt; aka mod_rails.&lt;/p&gt;

&lt;p&gt;Встановлення буде відбуватись через &lt;a href="http://rvm.beginrescueend.com/"&gt;RVM&lt;/a&gt; та &lt;a href="http://github.com/mxcl/homebrew"&gt;Homebrew&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://trevorturk.com/2010/09/22/passenger-with-nginx-on-mac-os-x-2nd-edition-2/"&gt;Читати далі ...&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Rubyfloworgua/~4/t2jH0tfru6o" height="1" width="1"/&gt;</description>
      <pubDate>Wed, 26 Oct 2011 07:13:41 +0000</pubDate>
      <link>http://feedproxy.google.com/~r/Rubyfloworgua/~3/t2jH0tfru6o/47</link>
      <guid isPermaLink="false">http://rubyflow.org.ua/items/47</guid>
    <feedburner:origLink>http://rubyflow.org.ua/items/47</feedburner:origLink></item>
    <item>
      <title>RVM vs rbenv.</title>
      <description>&lt;p&gt;Цікава стаття, що порівнює можливості обох інструментів.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.jonathan-jackson.net/assets/rvm-rbenv-install.png" alt="alt text" /&gt;
&lt;a href="http://www.jonathan-jackson.net/rvm-and-rbenv"&gt;Читати далі...&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Rubyfloworgua/~4/i8JsBqIKZZA" height="1" width="1"/&gt;</description>
      <pubDate>Tue, 25 Oct 2011 05:56:28 +0000</pubDate>
      <link>http://feedproxy.google.com/~r/Rubyfloworgua/~3/i8JsBqIKZZA/46</link>
      <guid isPermaLink="false">http://rubyflow.org.ua/items/46</guid>
    <feedburner:origLink>http://rubyflow.org.ua/items/46</feedburner:origLink></item>
    <item>
      <title>Вітаємо колег з професійним святом: Днем програміста!</title>
      <description>&lt;pre&gt;&lt;code&gt;irb(main):002:0&amp;gt; Date.today.yday
=&amp;gt; 256
&lt;/code&gt;&lt;/pre&gt;&lt;img src="http://feeds.feedburner.com/~r/Rubyfloworgua/~4/nXvS7X8fQDs" height="1" width="1"/&gt;</description>
      <pubDate>Tue, 13 Sep 2011 10:50:29 +0000</pubDate>
      <link>http://feedproxy.google.com/~r/Rubyfloworgua/~3/nXvS7X8fQDs/45</link>
      <guid isPermaLink="false">http://rubyflow.org.ua/items/45</guid>
    <feedburner:origLink>http://rubyflow.org.ua/items/45</feedburner:origLink></item>
    <item>
      <title>Нарешті! Вийшли Rails 3.1</title>
      <description>&lt;p&gt;Останній день літа порадував новиною.
Вийшов офіціний &lt;a href="http://t.co/mcwVxmA"&gt;реліз Rails 3.1&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Rubyfloworgua/~4/WKeDpbGBZCE" height="1" width="1"/&gt;</description>
      <pubDate>Wed, 31 Aug 2011 08:35:08 +0000</pubDate>
      <link>http://feedproxy.google.com/~r/Rubyfloworgua/~3/WKeDpbGBZCE/44</link>
      <guid isPermaLink="false">http://rubyflow.org.ua/items/44</guid>
    <feedburner:origLink>http://rubyflow.org.ua/items/44</feedburner:origLink></item>
    <item>
      <title>З днем незалежноcті тебе, Україно!</title>
      <description>&lt;p&gt;&lt;img src="http://img1.liveinternet.ru/images/attach/c/0//47/785/47785182_nezalezhnist5.jpg" alt="alt text" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://goo.gl/sXrnz"&gt;20 маловідомих фактів про Україну&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Rubyfloworgua/~4/2xjJb5SApc8" height="1" width="1"/&gt;</description>
      <pubDate>Wed, 24 Aug 2011 07:11:00 +0000</pubDate>
      <link>http://feedproxy.google.com/~r/Rubyfloworgua/~3/2xjJb5SApc8/43</link>
      <guid isPermaLink="false">http://rubyflow.org.ua/items/43</guid>
    <feedburner:origLink>http://rubyflow.org.ua/items/43</feedburner:origLink></item>
    <item>
      <title>Ripper. Цікаві досліди над Ruby кодом.</title>
      <description>&lt;p&gt;Ripper - лексичний аналізатор, з допомогою якого Ruby розбирає код на лексеми. З допомогою цього інтрумента, можно побачити як саме побудоване дерево коду, який ви написали.&lt;/p&gt;

&lt;p&gt;Розглянемо один приклад:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;gt; puts {}.class
=&amp;gt; NilClass
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;і&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;gt; puts { :x =&amp;gt; 10 }.class
SyntaxError: (irb):19: syntax error, unexpected tASSOC, expecting '}'
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Що сталося???&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;p Ripper.sexp("puts {}.class")
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;піддослідного припаровано, насолоджуйтесь ;-)&lt;/p&gt;

&lt;p&gt;P.S. Ripper - портовано для Ruby 1.8.x, Ruby 1.9.x такий функціонал вже вмонтовано.&lt;/p&gt;

&lt;p&gt;Стаття, про &lt;a href="http://www.rubyinside.com/using-ripper-to-see-how-ruby-is-parsing-your-code-5270.html"&gt;Ripper&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Rubyfloworgua/~4/K11J3AHRl1U" height="1" width="1"/&gt;</description>
      <pubDate>Sun, 21 Aug 2011 06:06:04 +0000</pubDate>
      <link>http://feedproxy.google.com/~r/Rubyfloworgua/~3/K11J3AHRl1U/42</link>
      <guid isPermaLink="false">http://rubyflow.org.ua/items/42</guid>
    <feedburner:origLink>http://rubyflow.org.ua/items/42</feedburner:origLink></item>
    <item>
      <title>Легке введення у CarrierWave</title>
      <description>&lt;p&gt;Мене часто питають, чому я використовую саме &lt;a href="https://rubygems.org/gems/carrierwave"&gt;CarrierWave&lt;/a&gt;, а не Paperclip.
Рекоменждую прочитати статтю &lt;a href="http://www.engineyard.com/blog/2011/a-gentle-introduction-to-carrierwave/"&gt;A Gentle Introduction to CarrierWave&lt;/a&gt; від &lt;a href="http://www.engineyard.com/blog/author/trevorturk/"&gt;trevorturk&lt;/a&gt;, автора цієї чудової &lt;a href="https://rubygems.org/gems/carrierwave"&gt;бібліотеки&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Rubyfloworgua/~4/Jjj2rKVxfM0" height="1" width="1"/&gt;</description>
      <pubDate>Sun, 21 Aug 2011 05:52:37 +0000</pubDate>
      <link>http://feedproxy.google.com/~r/Rubyfloworgua/~3/Jjj2rKVxfM0/41</link>
      <guid isPermaLink="false">http://rubyflow.org.ua/items/41</guid>
    <feedburner:origLink>http://rubyflow.org.ua/items/41</feedburner:origLink></item>
    <item>
      <title>Вийшов клієнт до github.com для OSx</title>
      <description>&lt;p&gt;Для любителів настільних систем відомий та популярний web сервіс соціального кодування Github.com випустив клієнт для користувачів операційної системи MacOS &lt;a href="http://mac.github.com/"&gt;http://mac.github.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://mac.github.com/images/screens/repositories.png" alt="alt text" /&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Rubyfloworgua/~4/Dc30aCeDmY0" height="1" width="1"/&gt;</description>
      <pubDate>Thu, 23 Jun 2011 10:52:14 +0000</pubDate>
      <link>http://feedproxy.google.com/~r/Rubyfloworgua/~3/Dc30aCeDmY0/40</link>
      <guid isPermaLink="false">http://rubyflow.org.ua/items/40</guid>
    <feedburner:origLink>http://rubyflow.org.ua/items/40</feedburner:origLink></item>
    <item>
      <title>Вийшов Ruby on Rails 3.0.9</title>
      <description>&lt;p&gt;Докладніше читайте &lt;a href="http://weblog.rubyonrails.org/2011/6/16/ann-rails-3-0-9-has-been-released"&gt;тут&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Rubyfloworgua/~4/BGCKliIfyPs" height="1" width="1"/&gt;</description>
      <pubDate>Thu, 16 Jun 2011 12:17:28 +0000</pubDate>
      <link>http://feedproxy.google.com/~r/Rubyfloworgua/~3/BGCKliIfyPs/39</link>
      <guid isPermaLink="false">http://rubyflow.org.ua/items/39</guid>
    <feedburner:origLink>http://rubyflow.org.ua/items/39</feedburner:origLink></item>
    <item>
      <title>Вийшов cucumber-websteps 0.9.0</title>
      <description>&lt;p&gt;Щойно був опублiкований гем &lt;a href="http://relishapp.com/kucaahbe/cucumber-websteps"&gt;cucumber-websteps&lt;/a&gt;, що являє собою розширену колекцiю стандартних веб-крокiв для кукумбера.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Rubyfloworgua/~4/eYGVcc_wZh0" height="1" width="1"/&gt;</description>
      <pubDate>Thu, 26 May 2011 20:50:35 +0000</pubDate>
      <link>http://feedproxy.google.com/~r/Rubyfloworgua/~3/eYGVcc_wZh0/38</link>
      <guid isPermaLink="false">http://rubyflow.org.ua/items/38</guid>
    <feedburner:origLink>http://rubyflow.org.ua/items/38</feedburner:origLink></item>
    <item>
      <title>Вийшов Rails 3.0.7 </title>
      <description>&lt;p&gt;Дякуючи Сантьяго Пасторіно вийшов новий реліз Rails 3.0.7. Подробиці &lt;a href="Rails"&gt;тут&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Rubyfloworgua/~4/DtRHf9gaqJ0" height="1" width="1"/&gt;</description>
      <pubDate>Tue, 19 Apr 2011 04:11:25 +0000</pubDate>
      <link>http://feedproxy.google.com/~r/Rubyfloworgua/~3/DtRHf9gaqJ0/37</link>
      <guid isPermaLink="false">http://rubyflow.org.ua/items/37</guid>
    <feedburner:origLink>http://rubyflow.org.ua/items/37</feedburner:origLink></item>
    <item>
      <title>Ruby Hero. Обери свого героя.</title>
      <description>&lt;p&gt;&lt;a href="http://www.rubyheroes.com"&gt;&lt;img src="http://rubyheroes.com/images/banner_small.png" alt="alt text" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ви можете обрати свого героя.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Rubyfloworgua/~4/YaYxKAYmtQs" height="1" width="1"/&gt;</description>
      <pubDate>Wed, 06 Apr 2011 13:24:58 +0000</pubDate>
      <link>http://feedproxy.google.com/~r/Rubyfloworgua/~3/YaYxKAYmtQs/36</link>
      <guid isPermaLink="false">http://rubyflow.org.ua/items/36</guid>
    <feedburner:origLink>http://rubyflow.org.ua/items/36</feedburner:origLink></item>
    <item>
      <title>Вийшли Rails 3.0.6 та Rubygems 1.7</title>
      <description>&lt;p&gt;Преша стаття Арона Патерсона на &lt;a href="http://weblog.rubyonrails.org/2011/4/6/rails-3-0-6-has-been-released"&gt;http://weblog.rubyonrails.org/&lt;/a&gt;, що анонсує Rails 3.0.6. Здебільшого зміни стосуються питання безпеки.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blog.segment7.net/2011/04/05/rubygems-1-7-2"&gt;Новинки в&lt;/a&gt; Rubygems 1.7&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Rubyfloworgua/~4/50HTiNRSwQs" height="1" width="1"/&gt;</description>
      <pubDate>Wed, 06 Apr 2011 13:11:27 +0000</pubDate>
      <link>http://feedproxy.google.com/~r/Rubyfloworgua/~3/50HTiNRSwQs/35</link>
      <guid isPermaLink="false">http://rubyflow.org.ua/items/35</guid>
    <feedburner:origLink>http://rubyflow.org.ua/items/35</feedburner:origLink></item>
    <item>
      <title>Ще один звіт з оновлення до Rails 3</title>
      <description>&lt;p&gt;&lt;a href="http://leonid.shevtsov.me/ru/obnovlenie-sayta-do-ruby-on-rails-3-otchet"&gt;Ще один звіт з оновлення до Rails 3&lt;/a&gt;. Прийде день, коли й ти будеш змушений це зробити.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Rubyfloworgua/~4/lqjE5RdWo6c" height="1" width="1"/&gt;</description>
      <pubDate>Tue, 05 Apr 2011 19:01:28 +0000</pubDate>
      <link>http://feedproxy.google.com/~r/Rubyfloworgua/~3/lqjE5RdWo6c/34</link>
      <guid isPermaLink="false">http://rubyflow.org.ua/items/34</guid>
    <feedburner:origLink>http://rubyflow.org.ua/items/34</feedburner:origLink></item>
    <item>
      <title>Першотравневі жарти. Факти, інтриги, розслідування.</title>
      <description>&lt;p&gt;&lt;a href="https://twitter.com/#!/dhh"&gt;@dhh&lt;/a&gt; опублікував &lt;a href="https://twitter.com/omishyn/status/53833951818686464"&gt;пост&lt;/a&gt; в Twitter про те, що в Rails 3.1 RSpec стане фреймворком для тестування "за умовчанням". Це трохи дивно зважаючи на неприховане тяжіння @dhh до Test::Unit &lt;a href="http://www.rubyinside.com/dhh-offended-by-rspec-debate-4610.html"&gt;висловлене&lt;/a&gt; в тому ж таки Twitter.&lt;/p&gt;

&lt;p&gt;Автор RSpec &lt;a href="https://twitter.com/#!/dchelimsky"&gt;@dchelimsky&lt;/a&gt; &lt;a href="https://twitter.com/dchelimsky/status/53841432611528705"&gt;повівся&lt;/a&gt; на цей жарт, чи таки, щось знає? ;-)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/sinatra"&gt;@sinatra&lt;/a&gt; &lt;a href="https://twitter.com/josevalim/status/53766738197753856"&gt;кажуть&lt;/a&gt;, що код цього фреймворку слідом за Merb буде об'єднано в Rails 3.2. Чи залишаться самостійні проекти, а чи Rails поглине їх усіх? ;-)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/#!/josevalim"&gt;@josevalim&lt;/a&gt; зробив Erlang об'єктно-орієнтованим і ото воно таки схоже на Ruby і зветься &lt;a href="https://github.com/josevalim/elixir"&gt;Elixir&lt;/a&gt;. До нього &lt;a href="https://twitter.com/josevalim/status/53766481464393728"&gt;долучаються&lt;/a&gt; однодумці. Там вже є консоль iex і фреймворк для тестування ExUnit. Що наступне Rails на основі Elixir?&lt;/p&gt;

&lt;p&gt;На завершення гугль "познущався" анонсом &lt;a href="http://www.google.com/mail/help/motion.html#utm_source=en-et-na-us&amp;amp;utm_medium=new-features-link&amp;amp;utm_campaign=en"&gt;Google Motion&lt;/a&gt;. :-)&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Rubyfloworgua/~4/ui6YjJFgHRA" height="1" width="1"/&gt;</description>
      <pubDate>Sat, 02 Apr 2011 04:03:27 +0000</pubDate>
      <link>http://feedproxy.google.com/~r/Rubyfloworgua/~3/ui6YjJFgHRA/33</link>
      <guid isPermaLink="false">http://rubyflow.org.ua/items/33</guid>
    <feedburner:origLink>http://rubyflow.org.ua/items/33</feedburner:origLink></item>
    <item>
      <title>Вийшов CarrierWave 0.5.3</title>
      <description>&lt;p&gt;Як повідомив автор, то нова версія використовує гем &lt;a href="https://github.com/geemus/fog"&gt;fog&lt;/a&gt; для завантаження файлів на Amazon S3, Rackspace Cloud Files та Google Storage for Developers.&lt;/p&gt;

&lt;p&gt;Подробиці можна прочитати &lt;a href="https://groups.google.com/forum/#!topic/carrierwave/rGj4sI0NdNI/discussion"&gt;тут&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Починаючи з версії 0.5 підтримується тільки Rails3.
Для Rails 2.x слід використовувати актуальну зараз версію 0.4.10.&lt;/p&gt;

&lt;p&gt;Від себе додам, що недавно довелось дуже швидко переносити один з моїх проектів на платформу &lt;a href="http://heroku.com/"&gt;Heroku&lt;/a&gt;  і &lt;a href="http://aws.amazon.com/s3/"&gt;Amazon S3&lt;/a&gt;. Найпростішим рішенням було перехід на CarrierWave  з Paperclip та незначні налаштування для роботи з європейськими корзинами Amazon.&lt;/p&gt;

&lt;p&gt;Річ у тім, що Paperclip для завантаження використовує гем &lt;a href="https://github.com/marcel/aws-s3"&gt;aws-s3&lt;/a&gt; активність в якому припинилась близько року тому. Звичасно це нічого не означає, але адаптувати для завантаження файлів в європейські корзини мені з його допомогою забракло часу.&lt;/p&gt;

&lt;p&gt;З &lt;a href="https://github.com/appoxy/aws"&gt;aws&lt;/a&gt;, що використовується в carrierwave 0.4.10 було трохи простіше&lt;/p&gt;

&lt;p&gt;Для корзин Amazon. що знаходяться в європі дещо відрізняються запити на завантаження, але&lt;/p&gt;

&lt;p&gt;config/initializers/carrierwave.rb&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;ENV['S3_URL'] = 'https://s3-eu-west-1.amazonaws.com:443'
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;дозволить вам без проблем користуватись серверами Amazon, що розміщені в європі. Звісно, якщо вам це вигідно ;-)&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Rubyfloworgua/~4/BT_EPT3p6KU" height="1" width="1"/&gt;</description>
      <pubDate>Wed, 23 Mar 2011 03:24:58 +0000</pubDate>
      <link>http://feedproxy.google.com/~r/Rubyfloworgua/~3/BT_EPT3p6KU/32</link>
      <guid isPermaLink="false">http://rubyflow.org.ua/items/32</guid>
    <feedburner:origLink>http://rubyflow.org.ua/items/32</feedburner:origLink></item>
    <item>
      <title>jQuery увійде в склад Rails 3.1</title>
      <description>&lt;p&gt;DHH &lt;a href="http://twitter.com/#!/dhh/status/45923430608023552"&gt;повідомив&lt;/a&gt;, що jQuery  стане офіційною бібліотекою для JavaScript в Rails 3.1. Prototype/RJS буде винесено в гем.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Rubyfloworgua/~4/fz-PUUyCEk4" height="1" width="1"/&gt;</description>
      <pubDate>Fri, 11 Mar 2011 06:39:25 +0000</pubDate>
      <link>http://feedproxy.google.com/~r/Rubyfloworgua/~3/fz-PUUyCEk4/31</link>
      <guid isPermaLink="false">http://rubyflow.org.ua/items/31</guid>
    <feedburner:origLink>http://rubyflow.org.ua/items/31</feedburner:origLink></item>
    <item>
      <title>Goliath. Асинхронний Ruby 1.9 сервер аплікацій</title>
      <description>&lt;p&gt;&lt;a href="https://github.com/postrank-labs/goliath"&gt;Goliath&lt;/a&gt; - неблокуючий(асинхронний) сервер аплікацій написаний мовою Ruby 1.9 з використанням &lt;a href="https://github.com/eventmachine/eventmachine"&gt;EventMachine&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Кожен HTTP запит Goliath виконує у власному Ruby потоці і базується на технології зворотніх викликів. Це означає, що кожен з процесів може бути легко призупинений і потім відновлений не блокуючи виконання паралельних йому задач.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;В чому відмінність Goliath від будь-якого іншого сервера аплікацій,    наприклад &lt;a href="https://github.com/macournoyer/thin"&gt;Thin&lt;/a&gt;?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;В принципі, обидва використовують EventMachine, але  на цьому відмінності закінчуються. Goliath доступний на різних Ruby платформах(MRI, JRuby, Rubinius), використовує іншу бібліотеку для розбору HTTP запитів, підтримує живі (keepalive) та конвеєрні(pipelining) з'єднаяння, та пропонує повністю асинхронне API до вхіднних та вихідних запитів.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;В чому полягає відмінність Goliath від &lt;a href="https://github.com/mongrel/mongrel"&gt;Mongrel&lt;/a&gt;, &lt;a href="http://www.modrails.com/"&gt;Passenger&lt;/a&gt; та &lt;a href="http://unicorn.bogomips.org/"&gt;Unicorn&lt;/a&gt;?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mongrel - потоковий web-сервер, Passenger та Unicorn відгалуджують(fork) окрему віртуальну машину(VM) для кожного запиту. Для порівняння, Goliath запускає єдиний екземпляр Rack аплікації і виконує всі паралельні запити в рамках однієї віртуальної машини, що вимагає значно меншого використання памяті і менших обчислювальних витрат.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Які рекомендації, щодо практиного використання Goliath?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Рекомендовано використовувати Goliath поза &lt;a href="http://haproxy.1wt.eu/"&gt;HAProxy&lt;/a&gt;, &lt;a href="http://sysoev.ru/nginx/"&gt;Nginx&lt;/a&gt; або аналогами. Маючи один процес Goliath ви матимете можливість збалансованої взаємодії кількох єкземплярів вашої аплікації.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Приклад використання&lt;/strong&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt; # -*- encoding : utf-8 -*-
require 'goliath'

class Hello &amp;lt; Goliath::API
  # перечитувати код після кожного запиту в режимі розробки
  use ::Rack::Reloader, 0 if Goliath.dev?

  def response(env)
    [200, {}, "Світ, привіт!"]
  end
end
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;&lt;p&gt;ruby hello.rb -sv
[97570:INFO] 2011-02-15 00:33:51 :: Starting server on 0.0.0.0:9000 in development mode. Watch out for stones.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Додаткові матеріали&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/postrank-labs/goliath/wiki/Server"&gt;Опції запуску сервера&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/postrank-labs/goliath/wiki/Middleware"&gt;Проміжні додатки(middle ware)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/postrank-labs/goliath/wiki/Configuration"&gt;Налаштування режимів роботи&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/postrank-labs/goliath/wiki/Plugins"&gt;Інструкція для розробників розширень(plugins)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/postrank-labs/goliath/wiki/Streaming"&gt;Обробка потокових процесів(завантаження файлів і т.д.)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/postrank-labs/goliath/wiki/Asynchronous-Processing"&gt;Більш детальний опис асинхронної обробки запитів&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/postrank-labs/goliath/tree/master/examples"&gt;Приклади використання&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/Rubyfloworgua/~4/ymJ_eqs-Fo8" height="1" width="1"/&gt;</description>
      <pubDate>Wed, 09 Mar 2011 05:16:00 +0000</pubDate>
      <link>http://feedproxy.google.com/~r/Rubyfloworgua/~3/ymJ_eqs-Fo8/30</link>
      <guid isPermaLink="false">http://rubyflow.org.ua/items/30</guid>
    <feedburner:origLink>http://rubyflow.org.ua/items/30</feedburner:origLink></item>
    <item>
      <title>CoverMe. Покриття тестами коду на Ruby 1.9.x</title>
      <description>&lt;p&gt;RCov ще не дуже добре працює з Ruby 1.9,  але є &lt;a href="https://github.com/markbates/cover_me"&gt;CoverMe&lt;/a&gt; який принаймні працює.&lt;/p&gt;

&lt;p&gt;Хоча я помітив, що звіт генерується не завжди і не коректно визначається покриття за межами MVC&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Rubyfloworgua/~4/-s_104jPhBU" height="1" width="1"/&gt;</description>
      <pubDate>Mon, 07 Mar 2011 00:51:53 +0000</pubDate>
      <link>http://feedproxy.google.com/~r/Rubyfloworgua/~3/-s_104jPhBU/29</link>
      <guid isPermaLink="false">http://rubyflow.org.ua/items/29</guid>
    <feedburner:origLink>http://rubyflow.org.ua/items/29</feedburner:origLink></item>
    <item>
      <title>Утіліти для автоматизації міграцій і статичного аналізу коду</title>
      <description>&lt;p&gt;&lt;a href="https://github.com/cldwalker/one9"&gt;one9&lt;/a&gt; - це утіліта командного рядка, яка полегшує міграцію з Ruby 1.8 на  1.9.&lt;/p&gt;

&lt;p&gt;Окрім виявлення несумісностей вона може також автоматично здійснювати модифікацію коду.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/jm/rails_upgrade-"&gt;rails_upgrade&lt;/a&gt; - подібний до попереднього гем для міграції коду з Rails 2.x  на Rails3&lt;/p&gt;

&lt;p&gt;Слід ще також пам'ятати, що підтримка коду в належному порядку, ще ще один фактор, що позитивно впливає на процес миграції та рефакторінгу.&lt;/p&gt;

&lt;p&gt;В цьому вам допоможуть утілити статичного та динамічного аналізу коду такі як &lt;a href="https://github.com/flyerhzm/rails_best_practices"&gt;rails_best_practices&lt;/a&gt;, &lt;a href="https://github.com/relevance/rcov"&gt;rcov&lt;/a&gt;, &lt;a href="https://github.com/seattlerb/flay"&gt;flay&lt;/a&gt;, &lt;a href="https://github.com/seattlerb/flog"&gt;flog&lt;/a&gt;, &lt;a href="https://github.com/ryansobol/heckle"&gt;heckle&lt;/a&gt;, &lt;a href="https://github.com/kevinrutherford/reek"&gt;reek&lt;/a&gt;, &lt;a href="https://github.com/martinjandrews/roodi"&gt;roodi&lt;/a&gt;, &lt;a href="https://github.com/devver/saikuro"&gt;saikuro&lt;/a&gt;, &lt;a href="https://github.com/kevinclark/dust"&gt;dust&lt;/a&gt;, &lt;a href="https://github.com/simplabs/excellent"&gt;excellent&lt;/a&gt;, &lt;a href="https://github.com/danmayer/churn"&gt;churn&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Якщо ви знаєте ще якісь утіліти, то буду вдячний за залишені коментарях посилання.&lt;/p&gt;

&lt;p&gt;Всі вони об'єднані в єдиному гемі &lt;a href="https://github.com/jscruggs/metric_fu"&gt;metric_fu&lt;/a&gt;, або його &lt;a href="https://github.com/romanvbabenko/metric_fu"&gt;адаптованій мною версії&lt;/a&gt; для Rails3 і Ruby 1.9.2.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/Rubyfloworgua/~4/PwgTHeyNM7Y" height="1" width="1"/&gt;</description>
      <pubDate>Sun, 06 Mar 2011 05:50:57 +0000</pubDate>
      <link>http://feedproxy.google.com/~r/Rubyfloworgua/~3/PwgTHeyNM7Y/28</link>
      <guid isPermaLink="false">http://rubyflow.org.ua/items/28</guid>
    <feedburner:origLink>http://rubyflow.org.ua/items/28</feedburner:origLink></item>
  </channel>
</rss>

