<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>Blog</title>
	<link>http://smartviolet.com/blog</link>
	<description>Smartviolet Blog</description>
	<pubDate>Wed, 22 Oct 2008 12:32:31 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
	<language>en</language>
			<item>
		<title>Строим графики и диаграммы с open flash chart</title>
		<link>http://smartviolet.com/blog/2008/10/22/stroim-grafiki-i-diagrammy-s-open-flash-chart/</link>
		<comments>http://smartviolet.com/blog/2008/10/22/stroim-grafiki-i-diagrammy-s-open-flash-chart/#comments</comments>
		<pubDate>Wed, 22 Oct 2008 12:32:31 +0000</pubDate>
		<dc:creator>Александр Паладий</dc:creator>
		
		<category><![CDATA[Ruby]]></category>

		<category><![CDATA[rails]]></category>

		<category><![CDATA[open flash chart]]></category>

		<category><![CDATA[RoR]]></category>

		<guid isPermaLink="false">http://smartviolet.com/blog/2008/10/22/stroim-grafiki-i-diagrammy-s-open-flash-chart/</guid>
		<description><![CDATA[Очень часто возникает необходимость каким-либо способом визуализировать данные, например в виде графиков и диаграмм. В такой ситуации на помощь может прийти плагинчег - open flash chart.
Ну и для начала установим его:
ruby script/plugin install http://svn.pullmonkey.com/plugins/trunk/open_flash_chart/
После нужно скопировать файлик open_flash_chart.swf в path/to/your/app/public/ и файлик swfobject.js в  path/to/your/app/public/javascripts.
Данный плагин сводит до минимума роботу программиста, поэтому не буду изощряться [...]]]></description>
			<content:encoded><![CDATA[<p>Очень часто возникает необходимость каким-либо способом визуализировать данные, например в виде графиков и диаграмм. В такой ситуации на помощь может прийти плагинчег - open flash chart.</p>
<p>Ну и для начала установим его:</p>
<blockquote><p>ruby script/plugin install http://svn.pullmonkey.com/plugins/trunk/open_flash_chart/</p></blockquote>
<p>После нужно скопировать файлик open_flash_chart.swf в path/to/your/app/public/ и файлик swfobject.js в  path/to/your/app/public/javascripts.</p>
<p>Данный плагин сводит до минимума роботу программиста, поэтому не буду изощряться примерами и просто оставлю ссылку, где все и так видно. Кому интересно жмем <a href="http://pullmonkey.com/projects/open_flash_chart/" title="сюда" target="_blank">сюда</a></p>
]]></content:encoded>
			<wfw:commentRss>http://smartviolet.com/blog/2008/10/22/stroim-grafiki-i-diagrammy-s-open-flash-chart/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Perl жив</title>
		<link>http://smartviolet.com/blog/2008/10/05/perl-zhiv/</link>
		<comments>http://smartviolet.com/blog/2008/10/05/perl-zhiv/#comments</comments>
		<pubDate>Sun, 05 Oct 2008 17:08:36 +0000</pubDate>
		<dc:creator>Станислав Погребняк</dc:creator>
		
		<category><![CDATA[MVC]]></category>

		<category><![CDATA[perl]]></category>

		<category><![CDATA[Catalyst]]></category>

		<category><![CDATA[Frameworks]]></category>

		<guid isPermaLink="false">http://smartviolet.com/blog/2008/10/05/perl-zhiv/</guid>
		<description><![CDATA[Некоторое время назад мне приходилось разрабатывать и поддерживать веб ориентированую систему на perl. Система должна была работать с БД (MySQL),  кроме того были несколько страниц где использовались AJAX вызовы.
В целом тогда был страшный бум php и перл особо не был популярным. Как мне даже показалось, дни перла в веб разработке сочтены.
Как я ошибался (к счастью). [...]]]></description>
			<content:encoded><![CDATA[<p>Некоторое время назад мне приходилось разрабатывать и поддерживать веб ориентированую систему на perl. Система должна была работать с БД (MySQL),  кроме того были несколько страниц где использовались AJAX вызовы.</p>
<p>В целом тогда был страшный бум php и перл особо не был популярным. Как мне даже показалось, дни перла в веб разработке сочтены.</p>
<p>Как я ошибался (к счастью). На  perl разрабатывают. Мало того, существует даже полноценный MVC веб-фреймворк для разработки на perl.</p>
<p>Имя сему чуду <a href="http://www.catalystframework.org">Catalyst</a>.</p>
<p>Достать его можно из <a href="http://search.cpan.org/dist/Catalyst-Runtime/">архива cpan</a> (как и все что относится к разработке на perl).</p>
<p>Работает он на всех популярных веб-серверах и операционных системах. А на Apache он работает через mod_perl что не может не радовать.</p>
<p>Из несомненных полезностей - наличие системы плагинов, что позволит Фреймворку расти и набираться функциональности.</p>
<p>Самое интересное то, что Интернет просто вспыхнул как-то новостями об Catalyst. Что не может не радовать меня как perl разработчика (хоть и бывшего). Обязательно наваяю что то на нем.</p>
<p>На последок неплохое <a href="http://yapc.tv/2008/fe/roman-catalyst/">видео</a> по использованию этого без сомнения замечательного фреймворка.</p>
]]></content:encoded>
			<wfw:commentRss>http://smartviolet.com/blog/2008/10/05/perl-zhiv/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Cheat sheets</title>
		<link>http://smartviolet.com/blog/2008/10/03/cheat-sheets/</link>
		<comments>http://smartviolet.com/blog/2008/10/03/cheat-sheets/#comments</comments>
		<pubDate>Fri, 03 Oct 2008 05:48:51 +0000</pubDate>
		<dc:creator>Станислав Погребняк</dc:creator>
		
		<category><![CDATA[Новости]]></category>

		<category><![CDATA[Cheetsheets]]></category>

		<category><![CDATA[css]]></category>

		<category><![CDATA[html]]></category>

		<category><![CDATA[rails]]></category>

		<category><![CDATA[Regexp]]></category>

		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://smartviolet.com/blog/2008/10/03/cheat-sheets/</guid>
		<description><![CDATA[В последнее время в интернете появляется все больше разного рода шпаргалок, так называемых Cheat Sheet.
Мы собрали парочку ссылок на самые интересные (с нашей точки зрения). Итак:

Вот на этом сайте часто выкладывают довольно толковые.

Subversion Cheat Sheet pdf, png;
Regular Expressions Cheat Sheet pdf, png;
CSS Cheat Sheet pdf, png;
HTML Cheat Sheet pdf, png.




Кроме того есть еще и такой [...]]]></description>
			<content:encoded><![CDATA[<p>В последнее время в интернете появляется все больше разного рода шпаргалок, так называемых Cheat Sheet.</p>
<p>Мы собрали парочку ссылок на самые интересные (с нашей точки зрения). Итак:</p>
<ul>
<li>Вот на <a href="http://www.addedbytes.com/">этом</a> сайте часто выкладывают довольно толковые.
<ul>
<li>Subversion Cheat Sheet <a href="http://www.addedbytes.com/download/subversion-cheat-sheet-v1/pdf/">pdf</a>, <a href="http://www.addedbytes.com/download/subversion-cheat-sheet-v1/png/">png</a>;</li>
<li>Regular Expressions Cheat Sheet <a href="http://www.addedbytes.com/download/regular-expressions-cheat-sheet-v2/pdf/">pdf</a>, <a href="http://www.addedbytes.com/download/regular-expressions-cheat-sheet-v2/png/">png</a>;</li>
<li>CSS Cheat Sheet <a href="http://www.addedbytes.com/download/css-cheat-sheet-v2/pdf/">pdf</a>, <a href="http://www.addedbytes.com/download/css-cheat-sheet-v2/png/">png</a>;</li>
<li>HTML Cheat Sheet <a href="http://www.addedbytes.com/download/html-cheat-sheet-v1/pdf/">pdf</a>, <a href="http://www.addedbytes.com/download/html-cheat-sheet-v1/png/">png</a>.</li>
</ul>
</li>
</ul>
<ul>
<li>Кроме того есть еще и <a href="http://www.cheat-sheets.org">такой</a> сайт где собраны все самые интересные шпаргалки в одном месте. Приведу парочку прямых ссылок:
<ul>
<li>Ruby <a href="http://www.cheat-sheets.org/saved-copy/RubyCheat.pdf">pdf</a>, <a href="http://www.cheat-sheets.org/saved-copy/RubyCheat1.png">png1</a>, <a href="http://www.cheat-sheets.org/saved-copy/RubyCheat2.png">png2</a>, <a href="http://www.cheat-sheets.org/saved-copy/Ruby%20Language%20QuickRef.pdf">pdf2</a>, <a href="http://www.cheat-sheets.org/saved-copy/Ruby%20Library%20QuickRef.pdf">pdf3</a>;</li>
<li>Ruby On Rails <a href="http://www.cheat-sheets.org/saved-copy/ruby_on_rails_cheat_sheet.pdf">pdf</a>, <a href="http://www.cheat-sheets.org/saved-copy/ruby_on_rails_cheat_sheet.png">png</a>, <a href="http://www.cheat-sheets.org/saved-copy/RubyOnRails-Cheatsheet-BlaineKendall.pdf">pdf2</a>, <a href="http://www.cheat-sheets.org/saved-copy/form_helpers.pdf">pdf3</a>.</li>
</ul>
</li>
</ul>
<p>В целом шпаргалки можно применять в качестве красивых и функциональных обоев на стену.</p>
]]></content:encoded>
			<wfw:commentRss>http://smartviolet.com/blog/2008/10/03/cheat-sheets/feed/</wfw:commentRss>
		</item>
		<item>
		<title>composite primary keys</title>
		<link>http://smartviolet.com/blog/2008/10/02/composite-primary-keys/</link>
		<comments>http://smartviolet.com/blog/2008/10/02/composite-primary-keys/#comments</comments>
		<pubDate>Thu, 02 Oct 2008 08:23:46 +0000</pubDate>
		<dc:creator>Александр Паладий</dc:creator>
		
		<category><![CDATA[Ruby]]></category>

		<category><![CDATA[rails]]></category>

		<category><![CDATA[composite_primary_keys]]></category>

		<category><![CDATA[gem]]></category>

		<guid isPermaLink="false">http://smartviolet.com/blog/2008/10/02/composite-primary-keys/</guid>
		<description><![CDATA[Дело в том, что Ruby on Rails не поддерживает составные первичные ключи.  Но эту проблему можно решить с помощью гемки composite_primary_keys.
И ставим gem:
  gem install composite_primary_keys
Модель с составным первичным ключем будет выглядеть следующим образом:
  require 'composite_primary_keys'

  class Probability &#60; ActiveRecord::Base
    set_primary_keys :row, :col
  end
И напоследок несколько примеров [...]]]></description>
			<content:encoded><![CDATA[<p>Дело в том, что Ruby on Rails не поддерживает составные первичные ключи.  Но эту проблему можно решить с помощью гемки composite_primary_keys.</p>
<p>И ставим gem:</p>
<pre>  gem install composite_primary_keys</pre>
<p>Модель с составным первичным ключем будет выглядеть следующим образом:</p>
<pre>  require 'composite_primary_keys'

  class Probability &lt; ActiveRecord::Base
    set_primary_keys :row, :col
  end</pre>
<p>И напоследок несколько примеров использования:</p>
<pre>  Probability.primary_key # =&gt; [:row, :col]
  Probability.primary_key.to_s # =&gt; "row,col"
  Probability.find(1,1) # =&gt; &lt;Probability row: 1, col: 1, val: 17&gt;
  Probability.find [1,1],[1,2] # =&gt; [&lt;Probability row: 1, col: 1, val: 17&gt;, &lt;Probability row: 1, col: 2, val: 19&gt;]
  Probability.find(:first).to_param # =&gt; "1,1"</pre>
]]></content:encoded>
			<wfw:commentRss>http://smartviolet.com/blog/2008/10/02/composite-primary-keys/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ActiveRecordBase Without Table</title>
		<link>http://smartviolet.com/blog/2008/10/01/activerecordbase-without-table/</link>
		<comments>http://smartviolet.com/blog/2008/10/01/activerecordbase-without-table/#comments</comments>
		<pubDate>Wed, 01 Oct 2008 07:08:51 +0000</pubDate>
		<dc:creator>Станислав Погребняк</dc:creator>
		
		<category><![CDATA[Новости]]></category>

		<category><![CDATA[ActiveRecord]]></category>

		<category><![CDATA[ActiveRecordBaseWithoutTable]]></category>

		<category><![CDATA[plugins]]></category>

		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://smartviolet.com/blog/2008/10/01/activerecordbase-without-table/</guid>
		<description><![CDATA[Бываю случаи, когда необходимо создать модель ActiveRecord но без таблицы в БД. Например, чтобы воспользоваться валидаторами Rails.
Для этого есть замечательный плагин ActiveRecordBaseWithoutTable.
Ставим:
    ruby script/plugin install http://svn.viney.net.nz/things/branches/active_record_base_without_table
Используем в модели:
  class Contact &#60; ActiveRecord::BaseWithoutTable
    column :name, :string
    column :email_address, :string
    column :message, :text
  [...]]]></description>
			<content:encoded><![CDATA[<p>Бываю случаи, когда необходимо создать модель ActiveRecord но без таблицы в БД. Например, чтобы воспользоваться валидаторами Rails.<br />
Для этого есть замечательный плагин ActiveRecordBaseWithoutTable.<br />
Ставим:</p>
<pre>    ruby script/plugin install http://svn.viney.net.nz/things/branches/active_record_base_without_table</pre>
<p>Используем в модели:</p>
<pre>  class Contact &lt; ActiveRecord::BaseWithoutTable</pre>
<pre>    column :name, :string</pre>
<pre>    column :email_address, :string</pre>
<pre>    column :message, :text</pre>
<pre>    validates_presence_of :name, :email_address, :string
   end</pre>
<p>И все.</p>
<p>Но будьте осторожны некоторые валидаторы лезут в БД чтобы проверить это все. Для таких нужно будет перегружать методы ActiveRecord.</p>
<p>В целом код плагина очень простой. И его можно улучшать на предмет дополнительных возможностей.</p>
<p>Вот и весь плагин.</p>
<pre>module ActiveRecord
  class BaseWithoutTable &lt; Base
    self.abstract_class = true

    class &lt;&lt; self
      def columns()
        @columns ||= []
      end

      def column(name, sql_type = nil, default = nil, null = true)
        columns &lt;&lt; ActiveRecord::ConnectionAdapters::Column.new(name.to_s, default, sql_type.to_s, null)
        reset_column_information
      end

      # Do not reset @columns
      def reset_column_information
		generated_methods.each { |name| undef_method(name) }
 		@column_names = @columns_hash = @content_columns = @dynamic_methods_hash = @read_methods = nil
      end
    end
  end
end</pre>
<p>Еще будет.</p>
]]></content:encoded>
			<wfw:commentRss>http://smartviolet.com/blog/2008/10/01/activerecordbase-without-table/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ferret - Полнотекстовый поиск в вашем сайте</title>
		<link>http://smartviolet.com/blog/2008/09/27/ferret-polnotekstovyj-poisk-v-vashem-sajte/</link>
		<comments>http://smartviolet.com/blog/2008/09/27/ferret-polnotekstovyj-poisk-v-vashem-sajte/#comments</comments>
		<pubDate>Sat, 27 Sep 2008 08:54:57 +0000</pubDate>
		<dc:creator>Станислав Погребняк</dc:creator>
		
		<category><![CDATA[Ruby]]></category>

		<category><![CDATA[rails]]></category>

		<category><![CDATA[ferret]]></category>

		<category><![CDATA[plugins]]></category>

		<category><![CDATA[RoR]]></category>

		<guid isPermaLink="false">http://smartviolet.com/blog/2008/09/27/ferret-polnotekstovyj-poisk-v-vashem-sajte/</guid>
		<description><![CDATA[Создание поиска по сайту задача частая и тривиальная. В Rails в основном осуществляется поиск по информации, которая хранится в моделях. Для этого в ActiveRecord есть метод find. Существует масса примеров как можно осуществлять поиск при помощи этого метода. Но у него есть существенный недостаток. На самом деле это обертка вокруг SELECT запроса, поэтому если ваш [...]]]></description>
			<content:encoded><![CDATA[<p>Создание поиска по сайту задача частая и тривиальная. В Rails в основном осуществляется поиск по информации, которая хранится в моделях. Для этого в ActiveRecord есть метод find. Существует масса примеров как можно осуществлять поиск при помощи этого метода. Но у него есть существенный недостаток. На самом деле это обертка вокруг SELECT запроса, поэтому если ваш поиск сложнее чем просто выборка этот метод вам не подойдет. Кроме того, простой find имеет существенный недостаток - скорость. Если Вы используете MySQL, можете переключиться на <a href="http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html">MySQL full text search</a> - лично я не пробовал но блоги пишут, что сильно ускоряет. Решение плохое так как привяжет вас к СУБД, что не есть очень хорошо.</p>
<p>Для организации эффективного и самое главное быстрого поиска применяются так называемые индексные сервера. Жависты имеют в своем арсенале <a href="http://lucene.apache.org/">Lucene</a> - неплохой движок для полнотекстового поиска. Лопатит миллионы строк и возвращает очень даже приемлемые результаты.</p>
<p>Но наряду с позитивом есть и негатив. Lucene - написан на жаве и для того чтобы его использовать нужно поднимать на сервере  жаву, Tomcat  и т.д. В принципе ничего сложного, тем более есть мануалы.</p>
<p>Но есть альтернатива! <a href="http://ferret.davebalmain.com/trac">ferret </a>- библиотека для полнотекстового поиска написана на Ruby.</p>
<h2><strong>Инсталлируем</strong></h2>
<pre> gem install ferret</pre>
<p>Правда просто? ИМХО gem - гениальная вещь.</p>
<p>Но, есть одно маленькое НО. Для успешной установки ferret на Win32 необходимо иметь в наличии компилятор С/С++. Я воспользовался для этого VC++ 6.0. Для того чтобы все прошло гладко, необходимо настроить пути компиляции( переменные окружения LIB, INCLUDE, PATH).</p>
<h2>Используем совместно с ActiveRecord в RubyOnRails</h2>
<p>Для того чтобы все было гладко есть плагин - <a href="http://projects.jkraemer.net/acts_as_ferret/wiki">Acts as Ferret</a>. ( Правда этот плагин доступен также и как gem ).</p>
<h3>Ставим плагин</h3>
<pre>script/plugin install svn://projects.jkraemer.net/acts_as_ferret/tags/stable/acts_as_ferret</pre>
<h3>Используем в моделях</h3>
<p>Вписываем в модель такой код:</p>
<pre><code lang="xhtml">class Foo &lt; ActiveRecord::Base
   acts_as_ferret
end
</code></pre>
<p>Тоже не сложно. После такой записи у вас будет доступен следующий синтаксис:</p>
<pre> Foo.find_with_ferret("запрос")</pre>
<p>Кроме того ferret создаст директорию index в Вашем проекте, в которой создаст также поддиректории конфигураций запуска (test, development, production). В этих директориях ferret и будет сохранять индексы. Для каждой модели будет создано свою поддиректорию.</p>
<p>Индексом можно управлять. По умолчанию добавление/удаление данных в модели провоцирует обновление индекса. Кроме того Вы сами можете настраивать, что отображать в поиске а что нет. Для постраничного вывода также существует ряд параметров поиска (limit, page).</p>
<p>Это конечно только вершина айсберга использования ferret, завесу понимания приоткроет чтение <a href="http://projects.jkraemer.net/rdoc/acts_as_ferret/">документации</a>.</p>
<p>Вот и все.  Будут вопросы - пишите.</p>
]]></content:encoded>
			<wfw:commentRss>http://smartviolet.com/blog/2008/09/27/ferret-polnotekstovyj-poisk-v-vashem-sajte/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Новый дизайн</title>
		<link>http://smartviolet.com/blog/2008/09/09/novyj-dizajn/</link>
		<comments>http://smartviolet.com/blog/2008/09/09/novyj-dizajn/#comments</comments>
		<pubDate>Tue, 09 Sep 2008 15:48:19 +0000</pubDate>
		<dc:creator>Станислав Погребняк</dc:creator>
		
		<category><![CDATA[Новости]]></category>

		<category><![CDATA[design]]></category>

		<category><![CDATA[Smartviolet]]></category>

		<category><![CDATA[наше]]></category>

		<guid isPermaLink="false">http://smartviolet.com/blog/2008/09/09/novyj-dizajn/</guid>
		<description><![CDATA[Уух заработались и даже забыли всем сообщить о том, что на сайте ж новый дизайн. Быстро всем смотреть и фидбечить сюда. Все коменты велком.
]]></description>
			<content:encoded><![CDATA[<p>Уух заработались и даже забыли всем сообщить о том, что на сайте ж новый дизайн. Быстро всем смотреть и фидбечить сюда. Все коменты велком.</p>
]]></content:encoded>
			<wfw:commentRss>http://smartviolet.com/blog/2008/09/09/novyj-dizajn/feed/</wfw:commentRss>
		</item>
		<item>
		<title>CSV with Ruby</title>
		<link>http://smartviolet.com/blog/2008/08/22/csv-with-ruby/</link>
		<comments>http://smartviolet.com/blog/2008/08/22/csv-with-ruby/#comments</comments>
		<pubDate>Fri, 22 Aug 2008 13:00:24 +0000</pubDate>
		<dc:creator>Александр Паладий</dc:creator>
		
		<category><![CDATA[Ruby]]></category>

		<category><![CDATA[rails]]></category>

		<category><![CDATA[csv]]></category>

		<category><![CDATA[fastercsv]]></category>

		<category><![CDATA[RoR]]></category>

		<guid isPermaLink="false">http://smartviolet.com/blog/2008/08/22/csv-with-ruby/</guid>
		<description><![CDATA[Если стоит задача работы с csv(Comma Separated Values) файлами на помошь может прийти замечательная гемка fastercsv. Ставится она, как и все, очень просто:
 gem install fastercsv
Ну и конечно небольшой примерчег кода где открывается csv файл, парситься и выводиться его содержимое в консоль:
require &#8216;fastercsv&#8217;
FasterCSV.parse( File.open( &#8220;example.csv&#8221; ) ) do &#124;row&#124;
row.each {&#124;cell&#124; puts cell}
end
Вот и все 
]]></description>
			<content:encoded><![CDATA[<p>Если стоит задача работы с csv(Comma Separated Values) файлами на помошь может прийти замечательная гемка fastercsv. Ставится она, как и все, очень просто:</p>
<blockquote><p> gem install fastercsv</p></blockquote>
<p>Ну и конечно небольшой примерчег кода где открывается csv файл, парситься и выводиться его содержимое в консоль:</p>
<blockquote><p>require &#8216;fastercsv&#8217;</p>
<p>FasterCSV.parse( File.open( &#8220;example.csv&#8221; ) ) do |row|</p>
<blockquote><p>row.each {|cell| puts cell}</p></blockquote>
<p>end</p></blockquote>
<p>Вот и все <img src='http://smartviolet.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://smartviolet.com/blog/2008/08/22/csv-with-ruby/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Playing with twitter</title>
		<link>http://smartviolet.com/blog/2008/08/22/playing-with-twitter/</link>
		<comments>http://smartviolet.com/blog/2008/08/22/playing-with-twitter/#comments</comments>
		<pubDate>Fri, 22 Aug 2008 10:49:13 +0000</pubDate>
		<dc:creator>Станислав Погребняк</dc:creator>
		
		<category><![CDATA[Ruby]]></category>

		<category><![CDATA[rails]]></category>

		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://smartviolet.com/blog/2008/08/22/playing-with-twitter/</guid>
		<description><![CDATA[Почти Все знают про твиттер. Кто не знает быстро вникаем в тему. Весчь прикольная. Можно писать о том где ты и чем сейчас занят. И еще это одно из самых больших и посещаемых RoR приложений.
Вопчем как и у всех нормальных сервисов у твиттера есть свое апи. Можно юзать REST а можно и гемку, которая припрячет [...]]]></description>
			<content:encoded><![CDATA[<p><strike>Почти</strike> Все знают про <a href="http://twitter.com/">твиттер</a>. Кто не знает быстро вникаем в тему. Весчь прикольная. Можно писать о том где ты и чем сейчас занят. И еще это одно из самых больших и посещаемых RoR приложений.</p>
<p>Вопчем как и у всех нормальных сервисов у твиттера есть свое апи. Можно юзать REST а можно и гемку, которая припрячет от вас все секреты обмена.</p>
<p>Ставим гемку:</p>
<blockquote><p><strike>sudo</strike> gem install twitter4r</p></blockquote>
<p>Примерчег</p>
<blockquote><p>config_file = File.join(File.dirname(__FILE__), &#8216;twitter.yml&#8217;)<br />
twitter = Twitter::Client.from_config(config_file,&#8217;development&#8217;)</p></blockquote>
<blockquote><p>twitter.timeline_for(:me)do |status|</p>
<blockquote><p> puts status.to_yaml</p></blockquote>
<p>end</p></blockquote>
<p>Вопчем играемсо.</p>
]]></content:encoded>
			<wfw:commentRss>http://smartviolet.com/blog/2008/08/22/playing-with-twitter/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Tha ruby - Tha language</title>
		<link>http://smartviolet.com/blog/2008/07/25/tha-ruby-tha-language/</link>
		<comments>http://smartviolet.com/blog/2008/07/25/tha-ruby-tha-language/#comments</comments>
		<pubDate>Fri, 25 Jul 2008 09:55:12 +0000</pubDate>
		<dc:creator>Станислав Погребняк</dc:creator>
		
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://smartviolet.com/blog/2008/07/25/tha-ruby-tha-language/</guid>
		<description><![CDATA[Задача:
Сделать xml заглушку ответа состоящую из 20 постов.
Решение на руби:
def success_post_message
messages = &#8220;&#8221;
20.times do
messages &#60;&#60; %Q!
 &#60;message&#62;
 &#60;guid&#62;#{Time.now.to_f}&#60;/guid&#62;
&#60;body&#62;The time is #{Time.now.to_s}&#60;/body&#62;
&#60;author_id&#62;author_id_#{Time.now.to_i - 100}&#60;/author_id&#62;
&#60;created_at&#62;#{Time.now.to_s}&#60;/created_at&#62;
&#60;/message&#62;
!
end
%Q!
&#60;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&#62;
&#60;ciabe_response&#62;
 &#60;message&#62;Successfully created&#60;/message&#62;
 &#60;code&#62;201&#60;/code&#62;
&#60;data&#62;
 &#60;messages&#62;#{messages}&#60;/messages&#62;
&#60;/data&#62;
&#60;errors&#62;
&#60;/errors&#62;
&#60;/ciabe_response&#62;
!
end
Вот так вот товарищи. Не перестаем восхищатьсо&#8230;
]]></description>
			<content:encoded><![CDATA[<p>Задача:</p>
<p>Сделать xml заглушку ответа состоящую из 20 постов.</p>
<p>Решение на руби:</p>
<blockquote><p>def success_post_message<br />
messages = &#8220;&#8221;<br />
20.times do<br />
messages &lt;&lt; %Q!</p>
<blockquote><p> &lt;message&gt;</p>
<blockquote><p> &lt;guid&gt;#{Time.now.to_f}&lt;/guid&gt;<br />
&lt;body&gt;The time is #{Time.now.to_s}&lt;/body&gt;<br />
&lt;author_id&gt;author_id_#{Time.now.to_i - 100}&lt;/author_id&gt;<br />
&lt;created_at&gt;#{Time.now.to_s}&lt;/created_at&gt;</p></blockquote>
<p>&lt;/message&gt;</p></blockquote>
<p>!<br />
end<br />
%Q!<br />
&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;<br />
&lt;ciabe_response&gt;</p>
<blockquote><p> &lt;message&gt;Successfully created&lt;/message&gt;</p>
<blockquote><p> &lt;code&gt;201&lt;/code&gt;<br />
&lt;data&gt;</p>
<blockquote><p> &lt;messages&gt;#{messages}&lt;/messages&gt;</p></blockquote>
<p>&lt;/data&gt;</p></blockquote>
<p>&lt;errors&gt;<br />
&lt;/errors&gt;</p></blockquote>
<p>&lt;/ciabe_response&gt;<br />
!<br />
end</p></blockquote>
<p>Вот так вот товарищи. Не перестаем восхищатьсо&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://smartviolet.com/blog/2008/07/25/tha-ruby-tha-language/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
