День 1: Филадельфия
Илья • 3 мая 2009 г.
После бесконечных часов перелёта, таможни и прочей херни, я
В Вашингтоне в аэропорту
Кстати, пришёл мой объектив из BorrowLense.com. Апертура просто гигантская! С плохим освещением
Улетаю через три дня
Илья • 27 апреля 2009 г.
Ну всё. Билеты куплены, пропуск на конференцию забронирован, макбук подготовлен :) В пятницу утром вылетаю в Москву, денёк там гуляю, затем Вашингтон, Филадельфия и Лас Вегас. В сумме 17 часов в воздухе.
В перерывах между РейлсКонфом, думаем посетить Hoover Dam (пол часа на машине от Вегаса) и потусить денёк в Нью Йорке.
Beanstalk API
Илья • 22 апреля 2009 г.
Сегодня
АПИ в данный момент доступно только определённому кругу аккаунтов, которые попросились потестировать. Если есть желание, обращайтесь.
В процессе создания выяснилось, что ActiveResource совсем не понимает singular resources и загрузку вложенных массивов, чисел и символов. Хорошо что в нашем плугине это всё исправлено.
Почему rescue_from пропускает некоторые исключения?
Илья • 10 апреля 2009 г.
Если вы пользовались rescue_from, то наверное замечали, что по
В общем сегодня как раз решал такую проблему в Бинстолке и решил сделать из своего решения маленький плугин. Плугин получился очень простой, всего пару строчек кода, зато работает как надо. Теперь все исключения, не важно где они выпрыгнули — во вьюшках или контроллерах — будут прекрасно обрабатываться вашими rescue_from хендлерами.
Читайте ридми на гитхабе и пользуйтесь на здоровье:
http://github.com/iSabanin/rescue_from_templates_exceptions/tree/master
P.S. — если вы считаете что этот плугин должен быть частью Rails Core, пишите в комментариях своё мнение.
Поддержка вложенных массивов, массивов с числами и символами в ActiveResource
Илья • 2 апреля 2009 г.
Делая API для Бинстолка, столкнулся с большой тупостью ActiveResource, после которой даже подумал перейти на RestClient. Оказалось что ARes не умеет принимать вложенные массивы, или массивы, в которых содержатся символы или цифры. Он умеет загружать только плоские массивы со строками и ничего больше.
Например такой код выбросит исключение:
# changeset объект класса ActiveResource
changeset.load {:files => [["/trunk/bla", "add"], ["/trunk/ble", "delete"]]}
# => ArgumentError: expected an attributes Hash, got ["/trunk/bla", "add"]
То же самое с символами и числами. Простой массив с числами передать ARes не получится.
Абсурд полный! Особенно для библиотеки, которая вроде как перевалила за вторую версию.
В общем я запостил два пачта (под одним тикетом) на лайтхаус: Support for loading nested arrays, numbers and symbols in ActiveResource.
Буду благодарен за плюсики. Сделаем мир лучше, спасём бегемотов в Африке.
За кулисами Бинстолка
Илья • 19 марта 2009 г.
HTTP Client для Мак ОС
Илья • 17 марта 2009 г.
Тащусь от HTTP Client для Мак ОС. Позволяет быстро и легко формировать любой HTTP запрос, отправлять по нужному адресу и просматривать ответ сервера. Самое то для работы над АПИ для своего
Я еду на RailsConf '09
Илья • 14 марта 2009 г.

Я конечно ещё в процессе получения визы, поэтому есть шанс что всё накроется медным тазом в самый последний момент, но будем надеятся на лучшее.
Было бы очень приятно встретить на чужеземных просторах русских программистов. Поэтому, если есть товарищи, которые тоже собираются ехать на РейлсКонф, пожалуйста отпишитесь в комментах. Так же, 23 марта я буду целый день в Москве. Желающие встретиться и показать центр столицы, пишите на мыло (ilya.sabanin@gmail.com).
Как приеду в Вегас, буду публиковать здесь свои впечатления от конференции и путешествия в целом.
Ruby brothers снова жив
Илья • 13 марта 2009 г.
Последние несколько недель блог был недоступен,
Теперь Ruby brothers работает через Passenger у хостера Linode. Было немного геммороя запуска Мефисто под Ruby 1.8.7 и новыми рельсами, но в итоге всё вроде обернулось удачно.
Есть много интересных новостей, которыми хочется поделиться! В ближайшие дни отпишусь.
Кастомные названия аттрибутов модели
Илья • 9 сентября 2008 г.
Всем известно как изменить текст сообщения об ошибке валидации модели. Но не всем известен трюк, как изменить само название атрибута, которое будет отображаться в сообщении об ошибке. Рельсы, к сожалению, нам не предоставляют простого пути решения.
Итак, проблема:

Сообщение об ошибке на русском языке, в то время как название атрибута на английском (причём часто на ломаном английском,
Для того чтобы решить эту проблему, нам понадобиться один маленький файлик — humanized_attributes.rb. Бросаем его в lib/ и подключаем в environment.rb.
Далее в нашей модели создаём константу HUMANIZED_ATTRIBUTES:
class User < ActiveRecord::Base
HUMANIZED_ATTRIBUTES = {
:login => "Имя пользователя"
}
validates_presence_of :login, :message => 'отсутствует'
end
И вуаля:

На самом деле это удобно не только для русифицирования атрибутов, но и когда заказчик хочет чтобы «login» отображался как «user name».
Для пущего удобства, можно обернуть всё это дело плугином с
redirect_to :back
Илья • 22 мая 2008 г.
Оказывается метод redirect_to может принимать аргумент :back.
def destroy
…
redirect_to :back
end
Теперь пользователь будет переброшен обратно на ту страницу, с которой пришёл запрос на destroy.
Очень полезно, когда действие может быть вызвано сразу с нескольких страниц и не понятно на какую из них пользователя перебрасывать.
Профилируем Rails-приложение
Илья • 8 апреля 2008 г.
В комплекте с каждым
Задачки по программированию для всех
Илья • 11 марта 2008 г.
Изучая Lisp, я столкнулся с проблемой поиска подходящих задачек для практики. Хотелось
Как раз для этих целей и был создан сайт Project Euler — решение интересных задач по математике и программированию.
В каталоге сайта находится более сотни задач различной сложности, каждую из которых можно решить на любом предпочтительном языке программирования. Подавляющее большинство задач с математическим уклоном, поэтому имеют один точный ответ.
Если зарегистрироваться на сайте, то можно отправлять свои ответы на задачи и, таким образом, закреплять свой прогресс. По количеству решённых задач на сайте строится
Вот пример одной из самых простых задач с сайта:
If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.
Find the sum of all the multiples of 3 or 5 below 1000.
Несколько интересных фактов: всего на сайте зарегистрировано более 20 тыс. программистов, из которых 290 русских и 580 Рубистов. Самый популярный язык программирования C. На втором месте Питон, затем Джава, Хаскель и — сюрприз — Руби на пятом месте.
Книга The Rails Way
Илья • 4 марта 2008 г.
Не так давно, в мире существовала всего одна книга по Ruby on Rails — Agile Web Development With Rails от создателя Rails Дэвида Хейнмейера Ханссона (David Heinemeier Hansson). Кто бы мог подумать, что сегодня у нас будет выбор из двадцати пяти книг на любой вкус и цвет! Ориентироваться в этом изобилии (ну ладно, пусть не изобилии, но многообразии) становится всё сложнее. Какую книгу выбрать? У меня есть подходящий ответ на этот вопрос…
На днях я купил
Книга достаточно толстая (900+ страниц) и выполнена в виде настольного руководства. В ней нет длинных уроков, домашних заданий и больших тестовых приложений. Она больше ориентируется на людей, которые способны самостоятельно изучить материал, имея максимально полную информацию об инструменте. Каждый компонент фреймворка подробно описан и сопровождён примерами. Иногда, автор приводит отрывки кода прямо из исходного кода Rails, чтобы разъяснить сложные моменты. Так же, практически в каждой главе можно найти актуальные советы по теме от профессиональных
Перечислять темы, которые затрагивает книга, можно бесконечно — одно только содержание занимает пятнадцать страниц. Радует наличие глав о таких, сравнительно новых для мира Rails, темах как REST, ресурсы и ActiveResource.
Книга хороша для более глубокого изучения компонентов фреймворка, а так же для поиска подробностей, не описанных (или описанных, но скудно) в официальной документации. Например раздел об ассоциациях ActiveRecord описывает прокси ассоциаций. А в разделе, посвящённому роутингу в Rails, детально описано как он устроен, с вставками исходного кода Rails.
Помимо описания самого фреймворка Rails, книга содержит множество информации о других подручных инструментах и технологиях, которые мы ежедневно используем в работе: Capistrano, Monit, Mongrel, Nginx, RSpec и даже весьма подробное изучение Prototype.js и Scriptaculous. Что это и как это установить? Как настроить лучшим образом и как использовать? На все эти вопросы книга даёт развёрнутые ответы. И это то, что делает The Rails Way таким хорошим кандидатом на покупку.
The Rails Way является практически идеальной заменой онлайн документации по Rails (за исключением медленного поиска) — в любой момент, когда у вас возник вопрос или хочется узнать как выполнить ту или иную задачу более правильным путём, она будет вашим лучшим помощником.
На мой взгляд, книга The Rails Way обязательно должна быть в библиотеке каждого
А что думаете вы?
Читаете ли вы техническую литературу на английском языке? Есть ли, по вашему мнению, смысл в русском переводе этой книги?
Rubular — онлайн редактор регулярных выражений Ruby
Илья • 5 февраля 2008 г.
Иногда, в течении рабочего дня, возникает потребность написать и протестировать
Приложение бесплатное, интерфейс работает при помощи Аякса, а в низу страницы находится краткая справка по использованию регулярных выражений в Ruby. Класс!



