Обновить
-0.2

Ruby on Rails *

Фреймворк, написанный на Ruby

Сначала показывать
Порог рейтинга
Уровень сложности

Работая в интересах Будущих Разработчиков

Время на прочтение11 мин
Количество просмотров16K
Успешный программный продукт обычно проходит за свою жизнь через руки множества разработчиков. Вы — лишь одно из звеньев в цепочке опекунов вашего проекта, и каждая строчка кода, которую Вы написали — это оставленный Вами артефакт, который когда-нибудь будет изучаться Будущим Разработчиком. Также, как Вы унаследовали решения разработчиков, которые были до Вас, другие разработчики унаследуют решения, которые Вы приняли сегодня. Они получают от нас в наследство все наши недоразумения, срезанные нами углы, примененные нами недопонятые паттерны и техники, наше невнимание к деталям, нашу лень, наши изменения, сделанные на скорую руку, наших скелетов в шкафах, наше грязное белье. И гораздо реже — выгоду от нашей дисциплинированности, наших обсуждений и подготовок.


Хочу очистить свою совесть!

7 паттернов рефакторинга толстых моделей в Rails

Время на прочтение6 мин
Количество просмотров30K
Толстые модели сложны в поддержке. Они, конечно, лучше, чем контроллеры, захламленные логикой предметной области, но, как правило, нарушают Single Responsibility Principle(SRP). “Всё, что делает пользователь” не является single responsibility.
В начале проекта SRP соблюдается легко. Но со временем модели становятся де-факто местом для бизнес-логики. И спустя два года у модели User больше 500 строчек кода и 50 методов в public.
Цель проектирования — раскладывать растущее приложение по маленьким инкапсулированным объектам и модулям. Fat models, skinny controllers — первый шаг в рефакторинге, так давайте сделаем и второй.
Второй шаг

Как подружить Sphinx с OpenShift для ThinkingSphinx под Rails

Время на прочтение3 мин
Количество просмотров3.3K
Для стейджинга моих небольших проектов на Rails я использую Openshift. Впринципе для небольших проектов он очень удобен — удобный деплой, все самое необходимое из коробки. Чего еще душе может быть необходимо? Но душа захотела сфинкса, при том очень сильно хзахотела. Так как среди картриджей я сфинкса не обнаружил, то пошел в google за советом.
А в гугле ничего… Ну или почти ничего. Все советовали поднимать DIY, накатывать все вручную, некоторые из моих знакомых советовали пересесть на AWS, но я в упор не хотел признавать, что под OpenShift нельзя поднять сфинкс. А так как приложение уже крутилось под сборкой для рельс то и DIY создавать не хотелось и я, стал думать как же все-таки поднять sphinx в уже готовой среде.
Под катом то, что я придумал.
Читать дальше →

Pow — легкий, быстрый, удобный

Время на прочтение2 мин
Количество просмотров6.3K
Как много у вас приложений, сайтов, систем на Ruby, запускаемых под Rails и другие frameworks? Как часто вам приходится лезть в терминал и запускать приложения через 'rails s' и другие консольные команды? Это трата времени, сложность в управлении (в плане организации проектов). Как было бы хорошо, если бы все проекты были бы в одном месте и запускались по одному клику…

Я хочу рассказать вам про Pow. С одной стороны это простой Rack сервер для запуска ваших проектов, с другой стороны это очень удобный инструмент. Сервер разработан компанией 37signals. Единственная оговорка: сервер работает только под Mac OSX.
Читать дальше →

Унаследованные базы данных в Rails 3

Время на прочтение3 мин
Количество просмотров4.1K
Основано на реальных событиях, произошедших(происходящих) с реальными людьми.

Если вы работаете с унаследованными базами данных, у вас не всегда есть возможность менять имена полей, когда поля начинают конфликтовать с Ruby on Rails. Самый простой пример, это поле с именем 'class' в одной из ваших таблиц. Рельсам это действительно не нравится. Это как теща, которой не нравится твоя новая прическа, и она обращает на это внимание при любой возможности.
В виду отсутствия драматургического таланта, переводчик не смог, породить более яркую метафору, создающую общую ассоциацию, в противоположность частной

Решение

Опыт участия в Rails Rumble

Время на прочтение3 мин
Количество просмотров4.5K
В прошедшие выходные (13 и 14 октября) мы с aishek и еще двумя нашими коллегами участвовали в хакатоне Rails Rumble 2012. По условиям конкурса за 48 часов нужно задеплоить готовое Rails-приложение.

Надо сказать, что кроме выпитого ящика пива и прочего фана мы получили действительно хороший опыт.
Читать дальше →

RailsClub'Moscow 2012. Материалы

Время на прочтение3 мин
Количество просмотров2.5K
Добрый вечер, уважаемые посетители конференций RailsClub.

В сентябре мы провели нашу очередную конференцию. Хотим искренне поблагодарить всех участников, пришедших на наше мероприятие.

В этот раз нас собралось действительно много. Я рад, что увидел много новых лиц. По моим ощущениям, процентов 80 из пришедших ребят — мне не знакомы. Это значит, что наше сообщество стремительно растет. И я очень рад тому, что railsclub вносит свой вклад в развитие сообщества и способствует данному росту.

Наши мероприятия продолжаются. Впереди нас ждет секция railslub'а на highload'е и конференция RailsClub'Ульяновск.

Друзья, простите, пожалуйста, за некоторые задержки в публикации материалов конференции. Наконец, нам удалось собрать все вместе.

Фотографии:

Конференция — www.facebook.com/media/set/?set=a.282688708508940.59084.115204928590653
AfterParty — www.facebook.com/media/set/?set=a.283311401780004.59279.115204928590653

Видео — railsclub.ru/materials/video_2

Презентации — railsclub.ru/files/presentations/railsclub_moscow_2012.zip

Еще раз благодарим наших спонсоров и всех, кто помогал нам.

Читать дальше →

Ruby-встречи в Санкт-Петербурге снова в моде

Время на прочтение2 мин
Количество просмотров3.3K
В четверг 4 октября в Бизнес Инкубаторе «Ингрия» прошла первая встреча Saint Petersburg Ruby User Group. Хотелось бы провести некую ретроспективу мероприятия, подвести итоги, собрать мнения и рассказать о дальнейших планах.
Читать дальше →

Простейшая free-lance доска на Ruby on Rails

Время на прочтение4 мин
Количество просмотров13K
Я исхожу из того, что вы уже минимально знакомы с RoR и что-то пытались на нем делать. Этот материал будет интересен простейшей аутентификацией пользователя посредством OpenID, а также тем, кто давно хотел попробовать MongoDB, но не знал с чего начать.

Мы будем использовать:
  • Ruby on Rails 3.2.8
  • Slim
  • Mongoid
  • Loginza

Читать дальше →

Неканоническое STI в Rails

Время на прочтение4 мин
Количество просмотров9.4K
Перед тем как начать повествование, вспомним что же такое STI.

STI (Single Table Inheritance) — паттерн проектирования, который позволяет перенести объектно-ориентированное наследование на таблицу реляционной базы данных. В таблице БД должно присутствовать поле идентифицирующее название класса в иерархии. Зачастую, в том числе в RoR, поле называют type.

С помощью данного паттерна можно создавать объекты, которые содержат идентичный набор полей, но имеют разное поведение. Например, таблица пользователей, содержащая имя, логин и пароль, но использовалось два класс пользователей Admin, Visitor. Каждый класс, содержит как унаследованны так и индивидуальный набор методов. Определение того, какой класс будет создан и используется поле type, имя поля может быть переопределено.

Таким образом, если рассматривать канонический случай: имена классов хранятся в одной таблице с данными.

Но может случится иная ситуация…
Читать дальше →

Молниеносный JSON в Ruby on Rails

Время на прочтение2 мин
Количество просмотров24K
Вывод результата в JSON достаточно прост в Rails:

render json: @statuses

Это работает отлично, если нужно вывести небольшое количество записей. Но что случится, если нам потребуется вывести сразу 10'000 записей? Производительность серьезно просядет, а самыми затратными по времени окажутся сериализация JSON и операции с базой данных.

Читать дальше →

Хоткеи в приложенях Ruby on Rails

Время на прочтение2 мин
Количество просмотров5.4K
Fingers on the railsMousetrap — javascript-библиотека, позволяющая легко и непринужденно добавлять хоткеи на сайты, появилась не так давно. Но уже успела полюбиться мне настолько, что я решил сделать ее добавление к проекту на Ruby on Rails простым и приятным. А именно, завернуть в ruby-библиотеку для рельсов. Так появился gem mousetrap-rails.

Читать дальше →

Автоматическое создание объекта ассоциаций has_one и belongs_to

Время на прочтение2 мин
Количество просмотров3.2K
Если у вас когда либо возникала чудная ситуация, когда вы прописали ассоциации для моделей (has_one и belongs_to), accepted_nested_attributes, но хелпер fields_for не показывает форму то это пост поожет вам раз и навсегда избавится от этого «глюка». Заранее предупреждаю, что пост сугубо для rails разработчиков, и ни для кого никому, кроме как rails разработчикам интересен не будет!
Читать дальше →

Ближайшие события

RailsClub'Moscow 2012. Интервью с Сау Шонг Чанг (Sau Sheong Chang)

Время на прочтение5 мин
Количество просмотров2.1K
До очередной конференции RailsClub’Moscow 2012 остается 3 дня. На 11-ый по счету слет российских рубистов приедет самая представительная компания международных Ruby звезд за всю историю конференции.

На наши вопросы уже ответили звездные спикеры Стив Клабник, Ксавье Нориа, ДиркЯн Буссинк и Винн Нидерланд. Теперь пришла очередь представить вам последнего зарубежного гостя нашей конференции, который приедет в Москву из Сингапура!

Интервью публикуются с оригинальными ответами на английском языке и нашим вольным переводом :)

Итак, Сау Шонг Чанг / Sau Sheong Chang — директор прикладных исследований в HP Labs и автор книг “Ruby on Rails Web Mashup Projects” и “Cloning Internet Applications with Ruby”.


Читать дальше →

RailsClub'Moscow 2012. Программа конференции, afterparty

Время на прочтение3 мин
Количество просмотров2.3K
Добрый день, друзья!

До очередной конференции RailsClub’Moscow остается 4 дня.

Итак, в данный момент, программа мероприятия полностью сформирована.

image

Помимо иностранных спикеров к числу докладчиков присоединились: Сергей Нартымов из brainspec.com, Юрий Соколов из mail.ru, Николай Рекубратский из undev.ru и Дмитрий Галинский из evrone.ru

Подробнее об всех докладах читайте тут — railsclub.ru/reports

Традиционно наши конференции делятся на 2 части. В первой части мы слушаем доклады и получаем знания. Вторая часть посвящена неформальному общению.

Несколько последних RoR-конференций были слабо организованы с точки зрения тусовки после конференции. Мы решили исправить эту ситуацию и в этот раз мы выбрали один большой бар для afterparty. Он находится в уютном месте в центре Москвы в двух шагах от Кремля. Наша цель — дать каждому из вас возможность потусоваться с Ruby-народом и неформально пообщаться с нашими звездными докладчиками. Подробности о вечернем мероприятии будут дополнительно объявлены на конференции.

Будем ждать вас на конференции и afterparty.

Купить билеты можно тут — railsclub.timepad.ru/event/29192

Читать дальше →

RailsClub'Moscow 2012. Интервью с Винн'ом Нидерланд'ом (Wynn Netherland)

Время на прочтение4 мин
Количество просмотров2.1K
До очередной конференции RailsClub’Moscow 2012 остается 5 дней. На 11-ый по счету слет российских рубистов приедет самая представительная компания международных Ruby звезд за всю историю конференции.

Мы уже познакомили вас со Стивом Клабником, Ксавье Нориа и ДиркЯном Буссинком. На очереди еще один звездный спикер RailsClub’Moscow 2012 — американец Винн Нидерланд / Wynn Netherland, разработчик GitHub.com, соавтор @thechangelog и книги «Sass, Compass».

Интервью публикуются с оригинальными ответами на английском языке и нашим вольным переводом :)

Wynn Netherland (США): разработчик GitHub.com, соавтор @thechangelog и книги «Sass, Compass».



Читать дальше →

RailsClub'Moscow 2012. Интервью с ДиркЯном Буссинком (Dirkjan Bussink)

Время на прочтение6 мин
Количество просмотров1.9K
До очередной конференции RailsClub’Moscow остается меньше 8 дней. На 11-ый по счету слет российских рубистов приедет самая представительная компания международных Ruby звезд за всю историю конференции.

Мы продолжаем знакомить вас со звездными спикерами RailsClub’Moscow. Сегодня мы представляем вашему вниманию интервью с ДиркЯном Буссинком / Dirkjan Bussink — голландским разработчиком rubinius и datamapper. Это третье интервью серии, ранее мы уже поговорили со Стивом Клабником и Ксавье Нориа.

Интервью публикуются с оригинальными ответами на английском языке и нашим вольным переводом :)

Dirkjan Bussink (Голландия): разработчик rubinius и datamapper


Читать дальше →

RailsClub'Moscow 2012. Интервью с Ксавье Нориа (Xavier Noria)

Время на прочтение7 мин
Количество просмотров2.9K
До очередной конференции RailsClub’Moscow остается меньше 2-х недель. На 11-ый по счету слет рубистов приедет самая представительная компания международных Ruby звезд за всю историю конференции.

В ожидании личной встречи мы решили задать им несколько вопросов. Звездные спикеры RailsClub’Moscow рассказали о своих планах и поделились некоторыми личными историями.

Представляем вашему вниманию интервью с Ксавье Нориа (Xavier Noria). Это второе интервью серии, которая будет опубликована в ближайшем будущем. Интервью публикуются с оригинальными ответами на английском языке и нашим вольным переводом :)

Xavier Noria (Испания): участник Rails core team и обладатель Ruby Hero Award 2010


Читать дальше →

RailsClub'Moscow 2012. Интервью со Стивом Клабником (Steve Klabnik)

Время на прочтение2 мин
Количество просмотров3.9K
До очередной конференции RailsClub’Moscow остается меньше 2-х недель. На 11-ый по счету слет рубистов приедет самая представительная компания международных Ruby звезд за всю историю конференции.

В ожидании личной встречи мы решили задать им несколько вопросов. Звездные спикеры RailsClub’Moscow рассказали о своих планах и поделились некоторыми личными историями.

Представляем вашему вниманию короткое интервью со Стивом Клабником (Steve Klabnik). Это первое интервью серии, которая будет опубликована в ближайшем будущем. Интервью публикуются с оригинальными ответами на английском языке и нашим вольным переводом :)

Steve Klabnik (США): автор «Designing Hypermedia Apis» и обладатель Ruby Hero Award 2011;


Читать дальше →

Новости RailsClub'Moscow 2012

Время на прочтение2 мин
Количество просмотров2.3K

Добрый день, друзья!

Хочу рассказать вам о последних новостях RailsClub.ru

Напомню, что конференция, посвященная ruby, ruby on rails и веб технологиям в целом состоится 15 сентября 2012 в digitaloctober.ru (начало в 10:00).

Это будет одно из самых крупных ruby/ror событий в России по числу иностранных докладчиков, титулованных спикеров, приглашенных российских ruby звезд, участников, участвующих организаций.

Самая хорошая новость на данный момент это то, что абсолютно все наши иностранные докладчики получили визы. Нет ни одной причины, которая не позволила бы кому либо из иностранцев не приехать в Россию на наше ruby on rails событие. Все готовятся ко встрече с Россией и Москвой, а мы готовим для наших гостей культурную программу.

Также, хочу рассказать, что докладчиком нашей конференции стал Сергей Нартымов. Сергей — software engineer в команде Brainspec, контрибьютор в Ruby on Rails (больше сотни коммитов), Rubinius и Elixir. Сергей использует Ruby и Erlang в своей работе, почитывая на досуге книги по Lisp и Haskell.

Кстати, мы взяли короткие интервью у наших спикеров. В ближайшие дни мы расскажем о наших докладчиках чуть подробнее и опубликуем интервью.

Читать дальше →

Вклад авторов