Ruby on Rails

Blog article versioning in Ruby on Rails - a post mortem
March 28, 2015

Blog comments in Ruby on Rails - a post mortem
March 27, 2015

How to use PaperTrail for soft-deletion
PaperTrail is the leading Ruby gem for ActiveRecord versioning. A less known fact is that once you use PaperTrail, you also get undeletion for free.
February 28, 2014

Memcached expiration time: a horrible API fail
The description of the memcached protocol says that the expiration time:
February 26, 2014

Some of my chef definitions that help deploy Rails apps
I DRYed up my Chef deploy scripts and extracted some definitions in to a cookbook: chef-rails-helpers.
February 26, 2014

Unobtrusive flash messages for Rails
I’d like to announce a gem that I wrote three years ago, then it got off my radar, albeit having some traction on RubyGems. I finally updated it to be compatible with recent technologies and also easier to use.
October 10, 2013

Clean your development log files every day
Rails applications tend to create a lot of log files in development mode, especially if you’re practicing TDD. If you work with many applications, the logs can take up to several gigabytes of disk space.
October 28, 2012

RailsGirls 2012 Днепропетровск - post mortem
6 октября 2012 года я участвовал в организации RailsGirls в Днепропетровске в роли тренера. В целом событие прошло невероятно успешно; каждая из пришедших 30-40 девушек написала и опубликовала свой собственный сайт на Heroku, приблизительно такой.
October 10, 2012

Проведение платежей через LiqPAY посредством Ruby
(The English version of this tutorial is at liqpay’s GitHub page).
January 27, 2012, revised April 17, 2012

How to install nginx over Pow in OS X
Pow is a nice starter level server which is useful as long as all you want is develop Rack apps. But what if you need to run a PHP app on the same development machine? Or a Node.js app? Then you’re out of luck (or, directed to some arcane techniques to run them inside Rack, which is just backwards in my opinion).
January 20, 2012

Что делает deliver! в Rails 3
Потратил некоторое время на поиск неполадки в premailer-rails3 – гем, который «разворачивает» определения стилей в письмах. Наконец, нашел причину.
September 28, 2011

Hoptoad Notifier теперь Airbrake, а также обработка ошибок в задачах Rake
<span class="nobr">Во-первых</span>, Hoptoad окончательно переименовался, и даже вместо гема hoptoad_notifier нужо использовать гем airbrake. <span class="nobr">Во-вторых</span>, я заметил, что аж два месяца назад в основную ветку hoptoad_notifier добавили мое дополнение, перехватывающее исключения в <span class="nobr">Rake-задачах</span>.
August 26, 2011

Как сделать обалденный почтовый шаблон
Недавно я был озабочен версткой (и подключением к Rails) целого комплекта шаблонов рассылок и почтовых уведомлений и решил извлечь из этого процесса наибольшую пользу.
April 14, 2011

Строгий режим MySQL и почему он должен быть включен
В MySQL есть такой специальный режим, предназначенный для введения в базу неправильных данных. Например, чтобы вместо 20000000000 вставлять в INT-поле 2147483647. Или наполнять базу несуществующими датами. Или обрезанными строками. Ну или мало ли для чего этот режим может тебе пригодится.
April 6, 2011, revised June 30, 2012

Обновление сайта до Ruby on Rails 3 - отчет
Отчет об обновлении CarGid с Ruby on Rails 2.3 на Ruby on Rails 3. Все больше библиотек перестают поддерживать Rails 2.3, и скоро тебе придется обновляться.
April 5, 2011

Мой доклад про acceptance-тесты с kiev.rb #1
7 марта в Киеве произошла — довольно спонтанно — конференция kiev.rb, устроенная рубистами из Питера, на которой я — довольно спонтанно — читал доклад про <span class="nobr">acceptance-тесты</span> с использованием RSpec и Capybara.
March 9, 2011

Запущен Rubyhub.com.ua
Rubyhub — агрегатор всего, происходящего с Ruby на Украине.
January 26, 2011

Эпическое обновление моего сайта на Ruby on Rails
Идея переписать сайт на Ruby витет надо мной уже, наверно, год. Основной мотивацией было то, что используемый мной ранее WordPress феерически плохо написан и его так же феерически сложно дополнять. Это я вам говорю как человек, который писал к Wordpress темы, плагины, и совсем недавно переносил базу на собственную структуру данных.
January 2, 2011, revised January 21, 2011

Улучшения для rake db:dump
Поскольку заниматься <span class="nobr">чем-то</span> полезным в поезде довольно сложно, я решил ограничиться тем, что добавил в `rails_db_dump` возможность сдампить одну таблицу вместо всей базы.
December 9, 2010, revised January 1, 2011

Улучшение поддержки Sass в rails.vim
Я добавил в rails.vim автоопределение каталога с файлами .sass, а заодно к .less и .<span class="nobr">coffee-файлам</span>.
December 4, 2010, revised January 1, 2011

rake db:dump - сливаем базу приложения на Ruby on Rails
Простой способ дампа базы приложения на Ruby on Rails.
December 2, 2010, revised January 1, 2011

Еще о схеме БД, миграциях и нестандартных полях в Rails
Совершенно случайно наткнулся на интересный комментарий в db/schema.rb.
August 31, 2010, revised January 7, 2011

Как завести Rails 3 вместе с Passenger
Поставить Rails 3 на Passenger – дело нетривиальное, ибо:
August 3, 2010

Плагин для подсчета посещаемости страниц в Ruby on Rails
Я написал плагин для подсчета посещаемости избранных страниц Rails-приложения. Взять его можно на http://github.com/leonid-shevtsov/page_visit_tracker.
July 7, 2010

Кеширование страниц с динамическими элементами средствами Ruby on Rails
Последний раз я занимался кешированием сайта без аутентификации. Что более важно – сайт этот для всех выглядит одинаково, поэтому проблему отдачи
July 3, 2010

Time.now против Time.zone.now в Rails
Функции Time.now и Time.zone.now в Ruby on Rails практически идентичны. Возвращают одни и те же значения, ведут себя одинаково. Из-за этого легко перепутать и использовать более короткую формулировку Time.now.
June 4, 2010

Как Hoptoad помогает на тестовом сервере
Итак, Hoptoad – это такая продвинутая штука для записывания исключений в Rails-приложениях. Его использование выливается в то, что каждое новое исключение логируется, а также при желании отправляется тебе на почту. Удобно.
March 26, 2010, revised June 5, 2010

Валидатор e-mail
Правильный шаблон для валидации адресов электронной почты
March 15, 2010, revised January 29, 2011

Кеширование страниц средствами Ruby on Rails
Бывают случаи, когда страницы сайта можно целиком и полностью закешировать и подложить серверу в виде статических HTML-файлов. Чтобы запросы за ними вообще не лезли в Rails, и выполнялись поэтому офигенно быстро.
February 25, 2010, revised March 6, 2011

Предотвращение повторного запуска Rake-скрипта
if File.exists?(RAILS_ROOT+’tmp/grabber.pid’) && system(«kill -0 #{File.read(RAILS_ROOT+’tmp/grabber.pid’).to_i}») fail «Grabber already running» else File.open(RAILS_ROOT+’tmp/grabber.pid’,'w’) {|f| f.write(Process.pid) } end
February 25, 2010, revised February 26, 2010

Почему в Rails нет метода для создания HABTM-таблицы?
В очередной раз набирая те шесть строчек, которыми – по соглашению – нужно описать таблицу для HABTM-связи, я подумал: а почему в Rails нет готового метода для этого? Почему каждый раз надо переписывать один и тот же код, попутно вспоминая, как сделать таблицу без ID – ведь используются они только для HABTM?
January 15, 2010

Как добавить в конкретный Ruby-объект какое-нибудь свойство
Задача такая:
January 11, 2010

Как открыть терминал из Gvim
Во-первых, я добрался до сессий в виме – теперь не приходится переходить в каталог проекта вручную. Пригодился плагин SessionMan.
December 10, 2009

Этакий DSL для прикрывания неиспользуемых блоков во view
Или же, на менее человечных языках
October 29, 2009

Хостинг Ruby on Rails от Hostpro.ua - первые впечатления
Коротко, списком, основные моменты: cPanel. Как-то врет она про наличествующие в системе гемы, по крайней мере их список никак не совпадаеет с ls /usr/local/ Mongrel.
September 3, 2009, revised September 8, 2009

Украинский хостинг с mod_rails
Существует ли в Украине хостинг для Ruby on Rails на основе mod_rails/Passenger? Мне казалось, что так на shared-хостинге использовать Passenger удобнее, чем mongrel, но тем не менее все пересмотренные хостинги (hostpro.ua, tophost.com.ua, 1gb.ua) используют последний.
August 26, 2009

Что можно делать с миграциями в Rails
Миграции призваны заменить всякие SQL-менеджеры. Нет, серьезно: при работе с рельсами не нужны SQL-менеджеры, я гарантирую это. Зато нужно освоиться с механизмом миграций. И еще с script/console.
August 7, 2009

Конспект интервью twit.tv с DHH
25 июля twit.tv провели интервью с DHH.
July 28, 2009

Использование after_filter в Ruby on Rails
Есть такая штука в Rails – after_filter. Судя по гуглу, его используют раз в пять реже, чем before_filter. Тем не менее, с after_filter можно делать всякие интересные штуки с результатом работы приложения. Например:
July 27, 2009

Оглавления папок из-под Rails
Passenger почему-то не хочет отдавать оглавление папок (или index.html) из папки public, если на конце URL нет слеша. Это довольно просто решается соответствующим
July 23, 2009

Почему я перешел с PHP на Ruby on Rails?
Короткий ответ такой: я перешел с PHP на Ruby on Rails, потому что Rails позволяет мне делать все, что я делал на PHP, и получать от этого больше удовольствия. А я не представляю себе программирования без удовольствия.
July 17, 2009

Обновление
Да, за последние девять месяцев много чего изменилось. :)
July 14, 2009

Ruby in Steel - Ruby-разработка в Visual Studio
…Перепробовал NetBeans и Aptana+RadRails, в итоге остановился на Ruby in Steel – плагине для рельсоукладки прямо в MS Visual Studio 2005/2008. Люблю я её и все. Хотя VS.Php так и не прижился в свое время.
October 18, 2008, revised July 23, 2009

Рельсоукладка №1
Со вчерашнего дня я перестал смотреть – иногда c завистью, иногда с недоумением – на RoRистов и сел писать свой первый проект на рельсах.
October 13, 2008

Rails. Первые впечатления.
Перейти c PHP+MySQL+jQuery+XHTML+CSS на RoR+Rjs+Haml+Sass – это как с гекзаметра на хайку.
October 12, 2008