<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>Neurons to bytes</title>
	<atom:link href="http://torqueo.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://torqueo.net</link>
	<description>Всё в кучу!</description>
	<pubDate>Fri, 03 Sep 2010 11:35:27 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Прекрасные контроллеры в Rails 3</title>
		<link>http://torqueo.net/beautiful-controllers-in-rails-3/</link>
		<comments>http://torqueo.net/beautiful-controllers-in-rails-3/#comments</comments>
		<pubDate>Fri, 03 Sep 2010 09:29:07 +0000</pubDate>
		<dc:creator>Ouch!</dc:creator>
		
		<category><![CDATA[программерское]]></category>

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

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

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

		<guid isPermaLink="false">http://torqueo.net/?p=552</guid>
		<description><![CDATA[Зацените, кто еще не видел, насколько меньше кода стало в контроллерах Rails 3! Теперь можно сказать, что контроллеры стали по-настоящему соответствующими принципу DRY. И всё это благодаря респондерам. В общем, мне нравится:
class ProductsController < ApplicationController
  respond_to :html, :xml  

  def index
    respond_with(@products = Product.all)
  end  

  [...]]]></description>
			<content:encoded><![CDATA[<p>Зацените, кто еще не видел, насколько меньше кода стало в контроллерах Rails 3! Теперь можно сказать, что контроллеры стали по-настоящему соответствующими принципу DRY. И всё это благодаря респондерам. В общем, мне нравится:</p>
<pre><code class="ruby">class ProductsController < ApplicationController
  respond_to :html, :xml  

  def index
    respond_with(@products = Product.all)
  end  

  def show
    respond_with(@product = Product.find(params[:id]))
  end  

  def new
    respond_with(@product = Product.new)
  end  

  def create
    @product = Product.new(params[:product])
    flash[:notice] = "Successfully created product." if @product.save
    respond_with(@product)
  end  

  def edit
    respond_with(@product = Product.find(params[:id]))
  end  

  def update
    @product = Product.find(params[:id])
    flash[:notice] = "Successfully updated product."
      if @product.update_attributes(params[:product])

    respond_with(@product)
  end  

  def destroy
    @product = Product.find(params[:id])
    @product.destroy
    flash[:notice] = "Successfully destroyed product."
    respond_with(@product)
  end
end  </code></pre>
<p>В респондерах теперь содержится вся та <em>магия</em> по отдаче ответа клиенту, которая раньше находилась в контроллере, в методе respond_to. Сейчас стало удобно контролировать отдачу типов контента - ну нужно править каждый метод контроллера, если вы захотите добавить или убрать тип контента. Кстати, метод respond_to поддерживает ключи :only и :except, чтобы контролировать типы контента для методов.<br />
Самое главное - это все работает, и работает замечательно! Я сейчас пишу проект на Rails 3 и использую всю эту красоту. В общем - радости нет предела)</p>
<p>Рекомендую почитать вот эту статейку на английском: <a href="http://asciicasts.com/episodes/224-controllers-in-rails-3">Controllers in Rails 3</a></p>
<h3  class="related_post_title" style="margin-top: 40px">Also interesting</h3><ul class="related_post"><li><a href="http://torqueo.net/rails-3-improvements-presentation/" title="Отличная презентация об улучшениях в коде проекта на Rails 3">Отличная презентация об улучшениях в коде проекта на Rails 3</a></li><li><a href="http://torqueo.net/installing-ruby-192-and-rails-3-stable-on-ubuntu/" title="Installing Ruby 1.9.2 and Rails 3 stable on Ubuntu">Installing Ruby 1.9.2 and Rails 3 stable on Ubuntu</a></li><li><a href="http://torqueo.net/installing-ruby-192-and-rails-2-stable-on-ubuntu-ru/" title="Установка Ruby 1.9.2 и Rails 3 stable на Ubuntu">Установка Ruby 1.9.2 и Rails 3 stable на Ubuntu</a></li><li><a href="http://torqueo.net/install-ruby-and-ror-on-ubuntu-1004/" title="Установка Ruby и RoR на Ubuntu 10.04">Установка Ruby и RoR на Ubuntu 10.04</a></li><li><a href="http://torqueo.net/making-virtual-dev-server-on-virtualbox-with-rails/" title="Делаем сервер разработчика Rails с использованием виртуализации">Делаем сервер разработчика Rails с использованием виртуализации</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://torqueo.net/beautiful-controllers-in-rails-3/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Отличная презентация об улучшениях в коде проекта на Rails 3</title>
		<link>http://torqueo.net/rails-3-improvements-presentation/</link>
		<comments>http://torqueo.net/rails-3-improvements-presentation/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 15:07:47 +0000</pubDate>
		<dc:creator>Ouch!</dc:creator>
		
		<category><![CDATA[Без рубрики]]></category>

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

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

		<guid isPermaLink="false">http://torqueo.net/?p=537</guid>
		<description><![CDATA[Смотрим, как нужно писать код теперь. Мне презентаха очень понравилась!
Rails 3 Beautiful Code
View more presentations from GreggPollack.

Also interestingПрекрасные контроллеры в Rails 3Installing Ruby 1.9.2 and Rails 3 stable on UbuntuУстановка Ruby 1.9.2 и Rails 3 stable на UbuntuУстановка Ruby и RoR на Ubuntu 10.04Делаем сервер разработчика Rails с использованием виртуализации]]></description>
			<content:encoded><![CDATA[<p>Смотрим, как нужно писать код теперь. Мне презентаха очень понравилась!</p>
<div style="width:425px" id="__ss_3219240"><strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/GreggPollack/rails-3-beautiful-code-3219240" title="Rails 3 Beautiful Code">Rails 3 Beautiful Code</a></strong><object id="__sse3219240" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=beautifulcodeinrails3-greggpollack-100218130149-phpapp02&#038;stripped_title=rails-3-beautiful-code-3219240" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse3219240" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=beautifulcodeinrails3-greggpollack-100218130149-phpapp02&#038;stripped_title=rails-3-beautiful-code-3219240" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="padding:5px 0 12px">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/GreggPollack">GreggPollack</a>.</div>
</div>
<h3  class="related_post_title" style="margin-top: 40px">Also interesting</h3><ul class="related_post"><li><a href="http://torqueo.net/beautiful-controllers-in-rails-3/" title="Прекрасные контроллеры в Rails 3">Прекрасные контроллеры в Rails 3</a></li><li><a href="http://torqueo.net/installing-ruby-192-and-rails-3-stable-on-ubuntu/" title="Installing Ruby 1.9.2 and Rails 3 stable on Ubuntu">Installing Ruby 1.9.2 and Rails 3 stable on Ubuntu</a></li><li><a href="http://torqueo.net/installing-ruby-192-and-rails-2-stable-on-ubuntu-ru/" title="Установка Ruby 1.9.2 и Rails 3 stable на Ubuntu">Установка Ruby 1.9.2 и Rails 3 stable на Ubuntu</a></li><li><a href="http://torqueo.net/install-ruby-and-ror-on-ubuntu-1004/" title="Установка Ruby и RoR на Ubuntu 10.04">Установка Ruby и RoR на Ubuntu 10.04</a></li><li><a href="http://torqueo.net/making-virtual-dev-server-on-virtualbox-with-rails/" title="Делаем сервер разработчика Rails с использованием виртуализации">Делаем сервер разработчика Rails с использованием виртуализации</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://torqueo.net/rails-3-improvements-presentation/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Installing Ruby 1.9.2 and Rails 3 stable on Ubuntu</title>
		<link>http://torqueo.net/installing-ruby-192-and-rails-3-stable-on-ubuntu/</link>
		<comments>http://torqueo.net/installing-ruby-192-and-rails-3-stable-on-ubuntu/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 13:40:12 +0000</pubDate>
		<dc:creator>Ouch!</dc:creator>
		
		<category><![CDATA[программерское]]></category>

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

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

		<category><![CDATA[Ubuntu 10.04]]></category>

		<guid isPermaLink="false">http://torqueo.net/?p=532</guid>
		<description><![CDATA[Let&#8217;s install Ruby 1.9.2 and Rails 3 stable on Ubuntu. I&#8217;m going to use just one Ruby version so, this installation without RVM (Ruby Version Manager). I&#8217;m using Ubuntu 10.04, 32 bit version.
If you have not yet installed the following packages - install them:
$ sudo apt-get install gcc g++ build-essential libssl-dev libreadline5-dev zlib1g-dev linux-headers-generic
Now download [...]]]></description>
			<content:encoded><![CDATA[<p>Let&#8217;s install Ruby 1.9.2 and Rails 3 stable on Ubuntu. I&#8217;m going to use just one Ruby version so, <strong>this installation without RVM</strong> (<a href="http://rvm.beginrescueend.com/">Ruby Version Manager</a>). I&#8217;m using Ubuntu 10.04, 32 bit version.</p>
<p>If you have not yet installed the following packages - install them:</p>
<pre><code class="shell">$ sudo apt-get install gcc g++ build-essential libssl-dev libreadline5-dev zlib1g-dev linux-headers-generic</code></pre>
<p>Now download Ruby 1.9.2 sources, unpack them and install:</p>
<pre><code class="shell">$ wget ftp://ftp.ruby-lang.org//pub/ruby/1.9/ruby-1.9.2-p0.tar.gz
$ tar -xvzf ruby-1.9.2-p0.tar.gz
$ cd ruby-1.9.2-p0/
$ ./configure --prefix=/usr/local/ruby
$ make &#038;&#038; sudo make install</code></pre>
<p>Add path to binary Ruby files.</p>
<pre><code class="shell">$ sudo gedit /etc/environment</code></pre>
<p>You need to add in the PATH variable that path - /usr/local/ruby/bin, should look something like this:</p>
<pre>PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/ruby/bin"</pre>
<p>Then run the <em>source</em> command for the file /etc/environment to apply changes.</p>
<pre><code class="shell">$ source /etc/environment</code></pre>
<p>Now check is Ruby installed properly:</p>
<pre><code class="shell">$ ruby -v</code></pre>
<p>You should see something like this: ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-linux]<br />
Now create a symbolic link for ruby and gem program</p>
<pre><code class="shell">$ sudo ln -s /usr/local/ruby/bin/ruby /usr/local/bin/ruby
$ sudo ln -s /usr/local/ruby/bin/gem /usr/bin/gem</code></pre>
<p>Ruby 1.9.2 is already includes Rubygems, so you do not have to install it.<br />
Now install the required gem packages, including Rails 3.:</p>
<pre><code class="shell">$ sudo gem install tzinfo builder memcache-client rack rack-test erubis mail text-format bundler thor i18n sqlite3-ruby
$ sudo gem install rack-mount --version=0.4.0
$ sudo gem install rails --version 3.0.0</code></pre>
<p>Check Rails version:</p>
<pre><code class="shell">$ rails -v</code></pre>
<p>You should see the version number 3.0.0. Otherwise, try to execute command <em>source /etc/environment</em> and enter <em>rails -v</em> command once again.<br />
Now you are ready to create a new Rails 3 application:</p>
<pre><code class="shell">$ rails new myproject
cd myproject
rails server</code></pre>
<h3  class="related_post_title" style="margin-top: 40px">Also interesting</h3><ul class="related_post"><li><a href="http://torqueo.net/installing-ruby-192-and-rails-2-stable-on-ubuntu-ru/" title="Установка Ruby 1.9.2 и Rails 3 stable на Ubuntu">Установка Ruby 1.9.2 и Rails 3 stable на Ubuntu</a></li><li><a href="http://torqueo.net/install-ruby-and-ror-on-ubuntu-1004/" title="Установка Ruby и RoR на Ubuntu 10.04">Установка Ruby и RoR на Ubuntu 10.04</a></li><li><a href="http://torqueo.net/beautiful-controllers-in-rails-3/" title="Прекрасные контроллеры в Rails 3">Прекрасные контроллеры в Rails 3</a></li><li><a href="http://torqueo.net/rails-3-improvements-presentation/" title="Отличная презентация об улучшениях в коде проекта на Rails 3">Отличная презентация об улучшениях в коде проекта на Rails 3</a></li><li><a href="http://torqueo.net/installing-mongodb-for-ubuntu-1004-from-deb-package/" title="Установка MongoDB для Ubuntu 10.04 из пакета">Установка MongoDB для Ubuntu 10.04 из пакета</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://torqueo.net/installing-ruby-192-and-rails-3-stable-on-ubuntu/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Установка Ruby 1.9.2 и Rails 3 stable на Ubuntu</title>
		<link>http://torqueo.net/installing-ruby-192-and-rails-2-stable-on-ubuntu-ru/</link>
		<comments>http://torqueo.net/installing-ruby-192-and-rails-2-stable-on-ubuntu-ru/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 13:25:46 +0000</pubDate>
		<dc:creator>Ouch!</dc:creator>
		
		<category><![CDATA[Без рубрики]]></category>

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

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

		<category><![CDATA[Ubuntu 10.04]]></category>

		<guid isPermaLink="false">http://torqueo.net/?p=525</guid>
		<description><![CDATA[Давайте установим Ruby 1.9.2 и Rails 3 stable на Ubuntu. Я использовал Ubuntu 10.04, 32-х битную версию. Здесь рассматривается установка Ruby без RVM, так что если будете следовать этому мануалу, то сначала удалите старую версию Ruby и её зависимости.
Если у вас еще не установлены следующие пакеты - установите их:
$ sudo apt-get install gcc g++ build-essential [...]]]></description>
			<content:encoded><![CDATA[<p>Давайте установим Ruby 1.9.2 и Rails 3 stable на Ubuntu. Я использовал Ubuntu 10.04, 32-х битную версию. Здесь рассматривается установка Ruby без RVM, так что если будете следовать этому мануалу, то сначала удалите старую версию Ruby и её зависимости.</p>
<p>Если у вас еще не установлены следующие пакеты - установите их:</p>
<pre><code class="shell">$ sudo apt-get install gcc g++ build-essential libssl-dev libreadline5-dev zlib1g-dev linux-headers-generic</code></pre>
<p>Теперь скачаем исходники Ruby 1.9.2, распакуем их и установим:</p>
<pre><code class="shell">$ wget ftp://ftp.ruby-lang.org//pub/ruby/1.9/ruby-1.9.2-p0.tar.gz
$ tar -xvzf ruby-1.9.2-p0.tar.gz
$ cd ruby-1.9.2-p0/
$ ./configure --prefix=/usr/local/ruby
$ make &#038;&#038; sudo make install</code></pre>
<p>Добавим путь к бинарным файлам Ruby. </p>
<pre><code class="shell">$ sudo gedit /etc/environment</code></pre>
<p>Вам нужно добавить в переменную PATH этот путь - /usr/local/ruby/bin, должно получиться примерно так:</p>
<pre>PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/ruby/bin"</pre>
<p>Затем выполним команду source для файла, чтобы применить изменения.</p>
<pre><code class="shell">$ source /etc/environment</code></pre>
<p>Теперь проверим, установился ли Ruby:</p>
<pre><code class="shell">$ ruby -v</code></pre>
<p>Вы должны увидеть примерно следующее: ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-linux]<br />
Теперь создадим символическую ссылку, чтобы программа gem работала</p>
<pre><code class="shell">$ sudo ln -s /usr/local/ruby/bin/ruby /usr/local/bin/ruby
$ sudo ln -s /usr/local/ruby/bin/gem /usr/bin/gem</code></pre>
<p>Ruby 1.9.2 уже содержит Rubygems, поэтому вам не придется его устанавливать.<br />
Теперь установим нужные пакеты gem, включая rails 3.:</p>
<pre><code class="shell">$ sudo gem install tzinfo builder memcache-client rack rack-test erubis mail text-format bundler thor i18n sqlite3-ruby
$ sudo gem install rack-mount --version=0.4.0
$ sudo gem install rails --version 3.0.0</code></pre>
<p>Проверим версию rails:</p>
<pre><code class="shell">$ rails -v</code></pre>
<p>Вы должны увидеть номер версии 3.0.0. Если этого не произошло, по попробуйте выполнить команду <em>source /etc/environment</em>, затем запустите <em>rails -v</em> еще раз.<br />
Теперь всё готово к созданию нового приложения rails:</p>
<pre><code class="shell">$ rails new myproject
cd myproject
rails server</code></pre>
<h3  class="related_post_title" style="margin-top: 40px">Also interesting</h3><ul class="related_post"><li><a href="http://torqueo.net/installing-ruby-192-and-rails-3-stable-on-ubuntu/" title="Installing Ruby 1.9.2 and Rails 3 stable on Ubuntu">Installing Ruby 1.9.2 and Rails 3 stable on Ubuntu</a></li><li><a href="http://torqueo.net/install-ruby-and-ror-on-ubuntu-1004/" title="Установка Ruby и RoR на Ubuntu 10.04">Установка Ruby и RoR на Ubuntu 10.04</a></li><li><a href="http://torqueo.net/beautiful-controllers-in-rails-3/" title="Прекрасные контроллеры в Rails 3">Прекрасные контроллеры в Rails 3</a></li><li><a href="http://torqueo.net/rails-3-improvements-presentation/" title="Отличная презентация об улучшениях в коде проекта на Rails 3">Отличная презентация об улучшениях в коде проекта на Rails 3</a></li><li><a href="http://torqueo.net/installing-mongodb-for-ubuntu-1004-from-deb-package/" title="Установка MongoDB для Ubuntu 10.04 из пакета">Установка MongoDB для Ubuntu 10.04 из пакета</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://torqueo.net/installing-ruby-192-and-rails-2-stable-on-ubuntu-ru/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Интервью с владельцем интернет-магазина</title>
		<link>http://torqueo.net/interviews-with-the-internet-shop-owner/</link>
		<comments>http://torqueo.net/interviews-with-the-internet-shop-owner/#comments</comments>
		<pubDate>Mon, 30 Aug 2010 07:34:46 +0000</pubDate>
		<dc:creator>Ouch!</dc:creator>
		
		<category><![CDATA[Разработка проектов]]></category>

		<category><![CDATA[бизнес]]></category>

		<category><![CDATA[интернет-магазин]]></category>

		<category><![CDATA[интернет-торговля]]></category>

		<guid isPermaLink="false">http://torqueo.net/?p=521</guid>
		<description><![CDATA[Недавно у меня появилась идея открыть интернет-магазин, поэтому сейчас я крайне интересуюсь всем, что связано с онлайн-торговлей, организацией продаж, логистикой и прочим. Но пока мне нечем похвастаться, поэтому представляю интервью с Вадимом, моим товарищем и бывшим коллегой, который сейчас является владельцем собственного интернет-магазина. Я не стал вдаваться в подробности - у всех есть свои секреты [...]]]></description>
			<content:encoded><![CDATA[<p><em>Недавно у меня появилась идея открыть интернет-магазин, поэтому сейчас я крайне интересуюсь всем, что связано с онлайн-торговлей, организацией продаж, логистикой и прочим. Но пока мне нечем похвастаться, поэтому представляю интервью с Вадимом, моим товарищем и бывшим коллегой, который сейчас является владельцем собственного интернет-магазина. Я не стал вдаваться в подробности - у всех есть свои секреты и лезть в них было бы глупо, я обошелся достаточно общими, но интересными для меня вопросами, надеюсь, интервью будет интересно и для вас, читателей сего блога.</em> И да, это не реклама - у меня нет рекламных постов в блоге.<span id="more-521"></span></p>
<h3><strong>torqueo.net: </strong>Привет, Вадим, расскажи о бизнесе, которым ты владеешь?</h3>
<p>Мы занимаемся своим любимым делом - дарим прекрасное прекрасным. Компания &#8220;Edelweiss&#8221; это международная служба доставки цветочных композиций на территории России, стран СНГ и Балтики. Главный офис компании находится в Екатеринбурге.</p>
<h3><strong><strong>torqueo.net</strong>: </strong>Как вообще появилась идея открыть свой интернет-магазин?</h3>
<p>Если бы кто-то, лет 5 назад, сказал мне, что я буду заниматься доставкой цветов, я бы, мягко говоря, удивился. Тогда я был web-программистом с десятилетним стажем, подавал надежды и  имел перспективы карьерного роста. Довелось как следует поработать и менеджером проектов и заместителем директора. В общем, свое направление  знал со всех сторон. Хотелось и дальше развиваться в этом направлении, но мне не давали покоя две вещи. Профессиональный век программиста (как и  многих it-спецов) весьма не долог, хотя бы в силу того, что у нашего  брата процесс проф.обучения непрерывен. В отличие от других отраслей технологии  сменяют друг друга со скоростью света и в силу возрастных особенностей (не говоря уже о психологических аспектах) годам к 40 +- пара лет,  человеку уже трудно угнаться за молодыми, постоянно быть впереди планеты  всей.<br />
Мне тогда было 24 года, до айтишной пенсии еще далеко, но тем не менее  хотелось выстроить свою профессиональную деятельность так, что бы годам к 40-45 выйти не в тираж, а на заслуженную и обеспеченную пенсию.<br />
Вторая вещь, которая сподвигла меня пересмотреть свои взгляды на  будущее, это упадок, который переживала отрасль. Горизонтальная карьера,  уготованная большинству специалистов, экономический кризис, бушеваший в то время, не  способствовали радужным перспективам. Всё это и заставило меня пересмотреть свои планы на будущее. Выход напрашивался сам собой -  открыть свое дело, стартап, в его первоначальном смысле. Мысль эта зрела  долго, но во что-то конкретное вырастать не спешила, т.к. не было самого  главного - идеи. Чем заняться? Ничего кроме как программировать и  организовывать команды под айтишные проекты я не умел. Не было и кадров, денег. Да по  сути не было ничего кроме желания что-то изменить в своей жизни.<br />
Как всегда и бывает, все произошло случайно. Идею подарил друг за  кружкой пива. Откуда он ее взял, а главное почему я согласился, ни я, ни  он не знаем до сих пор. Однако, идея прижилась и не смотря на то, что в цветочном бизнесе я не  понимал вообще ничего, решил попытать счастья. Собрал команду, которая  состояла в основном из бывших программистов (хотя бывших не бывает), скопили немного денег  для старта и начали работать. Проанализировав высококонкурентный рынок, решили что наш богатый опыт сайтостроителей будет нашим главным оружием. В итоге общими усилиями был создан сайт <a href="http://perfect-flowers.ru/" target="_blank">http://perfect-flowers.ru</a>, которым мы заслуженно гордимся и считаем, что это лучший интернет-магазин среди ближайших конкурентов.</p>
<h3><strong>torqueo.net: </strong>А сколько денег вложил в запуск?</h3>
<p>Один из самых больных вопросов всех начинающих свое дело. Стартовый  капитал. Нам в этом плане повезло. Я сумел собрать команду, где каждый  участник владеет долей от бизнеса. Поэтому наши вложения это много-много труда и  накладные расходы, как-то открытие юр.лица и прочее. Сейчас уже не  вспомню, но деньгами мы вложили около 40 тысяч рублей.</p>
<h3><strong>torqueo.net: </strong>Не было страшно, а вдруг затея не получится?</h3>
<p>Нет, бояться было некогда. Да и в случае провала мир бы не рухнул.  Придумали бы другой проект =) Я вообще считаю, что если есть такой страх  в самом начале, браться за дело не стоит. Думать головой, хорошая команда, уверенность в своих силах и все получится.</p>
<h3><strong>torqueo.net: </strong>Если бы не получилось - чем бы ты занимался сейчас?</h3>
<p>Пути было бы два. Или открыл бы еще один проект или вернулся к своим корням программиста и ушел бы в enterprise.</p>
<h3><strong>torqueo.net: </strong>Расскажи про первый заказ.</h3>
<p>Как ни странно, это был заказ от друзей из Питера в Дзержинск. Вся  команда волновалась, следили за ходом выполенения заказа. Сделали все в  лучшем виде. Пользуясь случаем, передаю привет нашему первому клиенту Марине Автушко :)</p>
<h3><strong>torqueo.net: </strong>Когда ты запустил магазин, ты работал где-либо еще?</h3>
<p>Да, у всех членов команды была основная работа. Таким образом, у нас  были средства к существованию и некоторый запас для вложения в наше  дело. Такой подход самый безопасный в финансовом плане для участников проекта,  но в то же время самый долгий. Из-за того, что все работы велись в свободное время, этот процесс растянулся почти на 9 месяцев, если считать с момента возниконовения идеи.</p>
<h3><strong>torqueo.net: </strong>Сколько времени прошло с тех пор, когда ты стал работать только на свой бизнес?</h3>
<p>Как только открылся Edelweiss, я уволился с предыдущего места работы. Но  тем не менее, какое-то время я подрабатывал различными программерскими  заказами. Примерно еще около года.</p>
<h3><strong>torqueo.net: </strong>Сейчас твой бизнес растет? Как сказался кризис?</h3>
<p>Кризис затрнул всех участников рынка без исключения. Самые мелкие  закрылись, все остальные затянули пояса и пустили в ход резервы. Т.к.  самый тяжелый перирод кризиса пришелся на мертвый сезон в нашем деле - лето, а  нам тогда был только год и планировать такие вещи мы не умели, то пришлось очень тяжело. Но мы выдержали и, спустя некоторое время, даже  расширили географию доставки, что требует определенных вложений.</p>
<h3><strong>torqueo.net: </strong>Учитывая, что у тебя интернет-магазин по продаже цветов, то в  какие дни обеспечиваются наибольшие продажи? (Хотя я, кажется,  догадываюсь)</h3>
<p>Наш любимый праздник это 8 марта, чего уж тут скрывать =) Хотя для людей  из цветочного бизнеса это самые напряженные трудовые будни в году.</p>
<h3><strong>torqueo.net: </strong>Расскажи про курьёзы в работе, если таковые были?</h3>
<p>Курьезов как таковых не случалось, но бывают такие моменты, когда ты  понимаешь, что занимешься очень нужным делом. Иногда от того, насколько  качественно будет сделана наша работа зависит помирятся любящие люди или наоборот  поссорятся. Выйдет она за него или нет. Часто люди поручая нам доставить цветы, доверяют нам кусочек своей жизни.</p>
<h3><strong>torqueo.net: </strong>Используете покупной движок для интернет-магазина, или самописный? Есть штатные программисты?</h3>
<p>Весь проект написан с нуля для себя. В качестве движка использовалась  наработка нашего штатного программиста, которой он занимается уже  несколько лет. Как говорится, проверена в боях, испытана на себе. Кроме того,  использованы последние сторонние и собственные наработки в области  юзабилити, что делает магазин самым удобным среди конкурентов. За что я хочу сказать спасибо всей команде и отдельно нашему программисту Евгению Рябинину.</p>
<h3  class="related_post_title" style="margin-top: 40px">Also interesting</h3><ul class="related_post"><li>No Related Post</li></ul>]]></content:encoded>
			<wfw:commentRss>http://torqueo.net/interviews-with-the-internet-shop-owner/feed/</wfw:commentRss>
		</item>
		<item>
		<title>К вопросу об эффективности</title>
		<link>http://torqueo.net/question-of-the-effectiveness-of/</link>
		<comments>http://torqueo.net/question-of-the-effectiveness-of/#comments</comments>
		<pubDate>Fri, 27 Aug 2010 08:33:04 +0000</pubDate>
		<dc:creator>Ouch!</dc:creator>
		
		<category><![CDATA[программерское]]></category>

		<category><![CDATA[рутина]]></category>

		<category><![CDATA[эффективность]]></category>

		<guid isPermaLink="false">http://torqueo.net/?p=516</guid>
		<description><![CDATA[Привет.
Сегодня моему коллеге понадобилось внести количество населения в городах России в его табличку cities в БД. Он, конечно, начал писать парсер Википедии, дабы добыть нужную информацию из страниц городов на сайте. То есть, он хотел обращаться к Википедии примерно так:
http://ru.wikipedia.org/wiki/&#60;название города&#62;
Он просто обращался по этому адресу при помощи php-функции file_get_contents(), но ему возвращалась 403 ошибка. [...]]]></description>
			<content:encoded><![CDATA[<p>Привет.<br />
Сегодня моему коллеге понадобилось внести количество населения в городах России в его табличку cities в БД. Он, конечно, начал писать парсер Википедии, дабы добыть нужную информацию из страниц городов на сайте. То есть, он хотел обращаться к Википедии примерно так:</p>
<pre>http://ru.wikipedia.org/wiki/&lt;название города&gt;</pre>
<p>Он просто обращался по этому адресу при помощи php-функции file_get_contents(), но ему возвращалась 403 ошибка. Я обратился телнетом к странице и узнал, что Википедия требует присутствие заголовка User-Agent в HTTP-запросе.<br />
Показал коллеге как юзать telnet и формировать HTTP-запрос =) Этим убедил его в том, что ему нужно юзать cURL. И он принялся писать свой мега-парсер.</p>
<p>Но лично я получил требуемый список городов за 5 минут. Как я это сделал? Я просто использовал более подходящие инструменты и шел легким путем.</p>
<p>Для начала я нашел HTML-табличку со списком городов и населением в них. Потом я скопировал эту табличку при помощи firebug в отдельный HTML-файл, подключил туда JQuery с Google CDN, и написал абсолютно тупой джаваскрипт, который обходил табличку и забирал оттуда нужные данные, а потом писал их в лог при помощи console.log(). Знаю, что можно было выполнить свой JS прямо на странице Википедии, но не знаю почему так не сделал :). Дальше осталось только передать эти данные коллеге.<br />
Я потратил на это всего минут 5, мой коллега потратил бы на это половину рабочего дня, т.к. парсинг HTML-страниц в PHP это дело непростое, там нет <a href="http://mechanize.rubyforge.org/mechanize/">Mechanize</a>, к тому же Википедия может забанить по IP при парсинге кучи страниц :).</p>
<p>Вот как-то так, стоит всегда использовать подходящие инструменты и немного задействовать программерскую смекалку.</p>
<h3  class="related_post_title" style="margin-top: 40px">Also interesting</h3><ul class="related_post"><li>No Related Post</li></ul>]]></content:encoded>
			<wfw:commentRss>http://torqueo.net/question-of-the-effectiveness-of/feed/</wfw:commentRss>
		</item>
		<item>
		<title>New Mysql connector for Nodejs</title>
		<link>http://torqueo.net/new-mysql-connector-for-nodejs/</link>
		<comments>http://torqueo.net/new-mysql-connector-for-nodejs/#comments</comments>
		<pubDate>Thu, 19 Aug 2010 19:28:25 +0000</pubDate>
		<dc:creator>Ouch!</dc:creator>
		
		<category><![CDATA[Без рубрики]]></category>

		<guid isPermaLink="false">http://torqueo.net/?p=508</guid>
		<description><![CDATA[Briefly: here&#8217;s a new connector to Mysql for Nodejs. In my opinion, it gives great hope)
So, you can get more info at github page: node-mysql-libmysqlclient
Also interestingNo Related Post]]></description>
			<content:encoded><![CDATA[<p>Briefly: here&#8217;s a new connector to Mysql for Nodejs. In my opinion, it gives great hope)<br />
So, you can get more info at github page: <a href="http://github.com/Sannis/node-mysql-libmysqlclient">node-mysql-libmysqlclient</a></p>
<h3  class="related_post_title" style="margin-top: 40px">Also interesting</h3><ul class="related_post"><li>No Related Post</li></ul>]]></content:encoded>
			<wfw:commentRss>http://torqueo.net/new-mysql-connector-for-nodejs/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Установка Ruby и RoR на Ubuntu 10.04</title>
		<link>http://torqueo.net/install-ruby-and-ror-on-ubuntu-1004/</link>
		<comments>http://torqueo.net/install-ruby-and-ror-on-ubuntu-1004/#comments</comments>
		<pubDate>Wed, 18 Aug 2010 11:42:09 +0000</pubDate>
		<dc:creator>Ouch!</dc:creator>
		
		<category><![CDATA[программерское]]></category>

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

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

		<category><![CDATA[Ubuntu 10.04]]></category>

		<guid isPermaLink="false">http://torqueo.net/?p=501</guid>
		<description><![CDATA[Если вы используете Ubuntu 10.04 или 9.10, то следующие шаги по установке будут одинаковы для той и другой версии ОС. Чтобы установить Ruby on Rails, сначала вам нужно установить некоторые примочки, а так же сам Ruby.
Можно установить Ruby из репозитория, либо из исходного кода. Чтобы установить Ruby из репозитория, наберите в терминале следующую строку:
$ sudo [...]]]></description>
			<content:encoded><![CDATA[<p>Если вы используете Ubuntu 10.04 или 9.10, то следующие шаги по установке будут одинаковы для той и другой версии ОС. Чтобы установить Ruby on Rails, сначала вам нужно установить некоторые примочки, а так же сам Ruby.</p>
<p>Можно установить Ruby из репозитория, либо из исходного кода. Чтобы установить Ruby из репозитория, наберите в терминале следующую строку:</p>
<pre><code class="no-highlight">$ sudo apt-get install ruby-full build-essential</code></pre>
<p>Если же вы хотите установить из исходников, то сначала нужно установить следующие пакеты:</p>
<pre><code class="no-highlight">$ sudo apt-get install build-essential libssl-dev libreadline5-dev zlib1g-dev</code></pre>
<p>Теперь вам нужно скачать архив с исходными кодами Ruby:</p>
<pre><code class="no-highlight">$ wget ftp://ftp.ruby-lang.org/pub/ruby/stable-snapshot.tar.gz</code></pre>
<p>Разархивируем файлы:</p>
<pre><code class="no-highlight">tar xzf stable-snapshot.tar.gz</code></pre>
<p>Компилируем и устанавливаем Ruby:</p>
<pre><code class="no-highlight">$ cd ruby/
$ ./configure
$ make
$ sudo make install</code></pre>
<p>Теперь запустите в консоли команду irb, и если вы не увидите никаких ошибок - поздравляю, Ruby установился успешно.</p>
<p>Перед тем, как установить Rails, вам нужно установить некоторые пакеты gem. Gem-пакеты - это упакованные приложения или библиотеки Ruby. Вы можете использовать команду gem чтобы установить различные бесплатные библиотеки, включая и Rails. Подробнее о rubygems <a href="http://docs.rubygems.org/read/book/1">можно почитать в мануале</a>.</p>
<p>Устанавливаем rubygems следующей командой:</p>
<pre><code class="no-highlight">$ wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.2.tgz
$ tar xzvf rubygems-1.3.2.tgz
$ cd rubygems-1.3.2
$ sudo ruby setup.rb
$ sudo ln -s /usr/bin/gem1.8 /usr/bin/gem</code></pre>
<p>Теперь при помощи команды gem устанавливаем Rails:</p>
<pre><code class="no-highlight">$ sudo gem install rails</code></pre>
<p>Эта команда установит последнюю версию Rails, но если вы хотите установить одну из предыдущих версий, например 2.2.2, то воспользуйтесь следующей командой:</p>
<pre><code class="no-highlight">$ sudo gem install –version = 2.2.2 rails</code></pre>
<h3  class="related_post_title" style="margin-top: 40px">Also interesting</h3><ul class="related_post"><li><a href="http://torqueo.net/installing-ruby-192-and-rails-3-stable-on-ubuntu/" title="Installing Ruby 1.9.2 and Rails 3 stable on Ubuntu">Installing Ruby 1.9.2 and Rails 3 stable on Ubuntu</a></li><li><a href="http://torqueo.net/installing-ruby-192-and-rails-2-stable-on-ubuntu-ru/" title="Установка Ruby 1.9.2 и Rails 3 stable на Ubuntu">Установка Ruby 1.9.2 и Rails 3 stable на Ubuntu</a></li><li><a href="http://torqueo.net/beautiful-controllers-in-rails-3/" title="Прекрасные контроллеры в Rails 3">Прекрасные контроллеры в Rails 3</a></li><li><a href="http://torqueo.net/rails-3-improvements-presentation/" title="Отличная презентация об улучшениях в коде проекта на Rails 3">Отличная презентация об улучшениях в коде проекта на Rails 3</a></li><li><a href="http://torqueo.net/installing-mongodb-for-ubuntu-1004-from-deb-package/" title="Установка MongoDB для Ubuntu 10.04 из пакета">Установка MongoDB для Ubuntu 10.04 из пакета</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://torqueo.net/install-ruby-and-ror-on-ubuntu-1004/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Установка MongoDB для Ubuntu 10.04 из пакета</title>
		<link>http://torqueo.net/installing-mongodb-for-ubuntu-1004-from-deb-package/</link>
		<comments>http://torqueo.net/installing-mongodb-for-ubuntu-1004-from-deb-package/#comments</comments>
		<pubDate>Tue, 17 Aug 2010 08:10:11 +0000</pubDate>
		<dc:creator>Ouch!</dc:creator>
		
		<category><![CDATA[Без рубрики]]></category>

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

		<category><![CDATA[Ubuntu 10.04]]></category>

		<guid isPermaLink="false">http://torqueo.net/?p=493</guid>
		<description><![CDATA[MongoDB можно собрать вручную, а можно и установить из пакета. Я предпочитаю последнее, так как это гораздо проще и занимает меньше времени. К тому же, нам не нужно добавлять init.d скрипты - все добавится само.
Сначала добавим репозиторий в sources.list. Откроем файл:
sudo gedit /etc/apt/sources.list
и добавим в конец файла строку:
deb http://downloads.mongodb.org/distros/ubuntu 10.4 10gen
Затем, добавим ключ при помощи [...]]]></description>
			<content:encoded><![CDATA[<p>MongoDB можно собрать вручную, а можно и установить из пакета. Я предпочитаю последнее, так как это гораздо проще и занимает меньше времени. К тому же, нам не нужно добавлять init.d скрипты - все добавится само.</p>
<p>Сначала добавим репозиторий в sources.list. Откроем файл:</p>
<pre><code class="no-highlight">sudo gedit /etc/apt/sources.list</code></pre>
<p>и добавим в конец файла строку:</p>
<pre><code class="no-highlight">deb http://downloads.mongodb.org/distros/ubuntu 10.4 10gen</code></pre>
<p>Затем, добавим ключ при помощи следующей команды:</p>
<pre><code class="no-highlight">sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10</code></pre>
<p>И обновим кэш:</p>
<pre><code class="no-highlight">sudo aptitude update</code></pre>
<p>Всё. Теперь тупо ставим mongoDB из пакета:</p>
<pre><code class="no-highlight">sudo aptitude install mongodb-stable</code></pre>
<p>После установки, проверим, все ли установилось. Для этого в консоли можно запустить mongo-shell:</p>
<pre><code class="no-highlight">mongo</code></pre>
<p>Дальше можно поменять <em>dbpath</em> в конфиге и указать место, где у вас хранится база данных. Не забудьте сделать эту папку доступной для записи юзеру mongodb.</p>
<pre><code class="no-highlight">sudo gedit /etc/mongodb.conf</code></pre>
<p>После редактирования конфига перезапустим mongod:</p>
<pre><code class="no-highlight">sudo service mongodb restart</pre>
</pre>
<p>Вот вроде бы и все. Дополнительную информацию смотрите здесь: <a href="http://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages">http://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages</a></p>
<h3  class="related_post_title" style="margin-top: 40px">Also interesting</h3><ul class="related_post"><li><a href="http://torqueo.net/installing-ruby-192-and-rails-3-stable-on-ubuntu/" title="Installing Ruby 1.9.2 and Rails 3 stable on Ubuntu">Installing Ruby 1.9.2 and Rails 3 stable on Ubuntu</a></li><li><a href="http://torqueo.net/installing-ruby-192-and-rails-2-stable-on-ubuntu-ru/" title="Установка Ruby 1.9.2 и Rails 3 stable на Ubuntu">Установка Ruby 1.9.2 и Rails 3 stable на Ubuntu</a></li><li><a href="http://torqueo.net/install-ruby-and-ror-on-ubuntu-1004/" title="Установка Ruby и RoR на Ubuntu 10.04">Установка Ruby и RoR на Ubuntu 10.04</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://torqueo.net/installing-mongodb-for-ubuntu-1004-from-deb-package/feed/</wfw:commentRss>
		</item>
		<item>
		<title>А как вы проверяете mime-type файлов в php?</title>
		<link>http://torqueo.net/mime-type-php/</link>
		<comments>http://torqueo.net/mime-type-php/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 14:13:21 +0000</pubDate>
		<dc:creator>Ouch!</dc:creator>
		
		<category><![CDATA[Без рубрики]]></category>

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

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

		<category><![CDATA[mime magic]]></category>

		<category><![CDATA[mime-type]]></category>

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

		<category><![CDATA[zend framework]]></category>

		<guid isPermaLink="false">http://torqueo.net/?p=481</guid>
		<description><![CDATA[Как известно, все загружаемые на сервер файлы нужно проверять на соответствие разрешенным mime-type. Большинство программистов проверяют это соответствие, сверяясь с mime-типом из $_FILES, но этот mime-тип берется из заголовков HTTP запроса и может быть определен неправильно, т.к. определяет его браузер. У меня например, некоторые jpeg-файлы определяются как application/octet-stream и естественно, скрипт их не принимает. К [...]]]></description>
			<content:encoded><![CDATA[<p>Как известно, все загружаемые на сервер файлы нужно проверять на соответствие разрешенным <em>mime-type</em>. Большинство программистов проверяют это соответствие, сверяясь с mime-типом из <em>$_FILES</em>, но этот mime-тип берется из заголовков <em>HTTP </em>запроса и может быть определен неправильно, т.к. определяет его браузер. У меня например, некоторые jpeg-файлы определяются как application/octet-stream и естественно, скрипт их не принимает. К тому же решение построенное на проверке mime-типа из HTTP заголовка потенциально опасно, т.к. заголовки можно подделать и указать любой mime-тип.</p>
<p>Как же сделать правильно?</p>
<p>Нужно установить расширение PECL, которое называется Fileinfo. Это расширение является заменой более старого расширения mime_magic. Валидатор MimeType в Zend Framework использует именно Fileinfo, как наиболее приоритетный способ определения mime-типа. Fileinfo определяет mime-тип по специальным сигнатурам, которые есть внутри файла.</p>
<p>Другой способ состоит в том, чтобы переложить определение mime-типа на веб-сервер. У веб-сервера Apache есть специальный файл magic с сигнатурами, с помощью которого он определяет, какого mime-типа является загружаемый файл, и устанавливает это значение в заголовок. Таким образом, в php скрипт придет верный mime-тип.</p>
<p>Для того, чтобы, Apache определял mime-тип файла, нужно включить модуль <em>mod_mime_magic</em>.</p>
<p><em>Небольшой офф: не забывайте так же проверять тип файлов еще и по расширению.</em></p>
<h3  class="related_post_title" style="margin-top: 40px">Also interesting</h3><ul class="related_post"><li><a href="http://torqueo.net/using-zend-form-without-decorators/" title="Использование Zend_Form без декораторов">Использование Zend_Form без декораторов</a></li><li><a href="http://torqueo.net/caching-and-compression-files-in-apache2/" title="Кэширование и сжатие файлов в apache2">Кэширование и сжатие файлов в apache2</a></li><li><a href="http://torqueo.net/translating-validation-messages/" title="Встроенные переводы сообщений валидаторов в Zend Framework">Встроенные переводы сообщений валидаторов в Zend Framework</a></li><li><a href="http://torqueo.net/how-to-work-comfortably-with-layout-blocks-in-zend-framework/" title="How to work comfortably with layout blocks in Zend Framework">How to work comfortably with layout blocks in Zend Framework</a></li><li><a href="http://torqueo.net/blocks-in-zend-framework-updated/" title="Обновление кода к статье &#8220;Блоки в Zend Framework&#8221;">Обновление кода к статье &#8220;Блоки в Zend Framework&#8221;</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://torqueo.net/mime-type-php/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
