Обновить
-0.2

Ruby on Rails *

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

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

Я влюбился в DelegateClass

Время на прочтение3 мин
Количество просмотров3.6K
Если ваш класс разросся настолько, что начинает нарушать принцип единственной обязанности, вы без труда сможете разбить его на несколько более связных классов. Поможет вам в этом предоставляемая Ruby конструкция DelegateClass.

Допустим, у вас есть класс Person. Пользователи в системе могут продавать что-то и/или публиковать статьи. Подклассы здесь использовать не получится, потому что пользователь может одновременно быть и автором, и продавцом. Проведем рефакторинг.
Читать дальше →

RailsClub'Moscow 2012 – 15 сентября в Москве. Конференция ruby / ruby on rails разработчиков

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

15 сентября 2012 в Москве на территории центра Digital October состоится 11-ая конференция веб разработчиков на Ruby и Ruby On Rails – RailsClub’Moscow 2012.

RailsClub’Moscow 2012 соберет вместе ведущих российских и известных иностранных Ruby разработчиков, которые поделятся с участниками конференции своими знаниями и опытом, обсудят новинки разработки, расскажут о возникших проблемах в работе и методах их решений.

На RailsClub 2012 будем обсуждать проектирование, разработку, тестирование, отладку, оптимизацию под большие нагрузки, масштабирование ruby on rails проектов. Также затронем темы: управления конфигурацией, деплоя, администрирования больших веб проектов.

В этом году в качестве докладчиков к нам приедут знаменитые ruby звезды.

Свое участие на данный момент подтвердили:
Steve Klabnik (США), автор «Designing Hypermedia Apis» и обладатель Ruby Hero Award 2011;
Xavier Noria (Испания), участник Rails core team и обладатель Ruby Hero Award 2010;
Wynn Netherland (США), разработчик GitHub, соавтор @thechangelog и книги «Sass, Compass»;
Dirkjan Bussink (Голландия), разработчик rubinius и datamapper;
Sau Sheong Chang (Сингапур), автор книг “Ruby on Rails Web Mashup Projects” и “Cloning Internet Applications with Ruby”, директор прикладных исследований в HP Labs.

Выступления иностранных спикеров будут синхронно переводиться на русский язык.

Регистрация и оплата участия в конференции — railsclub.timepad.ru/event/29192

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

edX этой осенью: MITx / HarvardX / BerkeleyX

Время на прочтение1 мин
Количество просмотров8.4K
На Хабре много раз писали про edX — замечательный образовательный проект, инициатором которого в свое время стал MIT. Это возможность проверить себя, получить новые знания и все это в кругу квалифицированных преподавателей и студентов со всего мира.

Весною некоторые Хаброжители даже сдали финальный экзамен и остались крайне довольны.

Этой осенью к MIT и Harvard присоединился Berkeley с, как мне кажется, крайне позитивным курсом CS169.1x: Software as a Service — с главным героем в лице Ruby on Rails.



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

Взаимодействие веб-сервисов через REST

Время на прочтение8 мин
Количество просмотров11K
При разработке современных веб-сервисов зачастую появляется вопрос, каким образом обеспечить простое и прозрачное взаимодействие нескольких разнородных систем. Благо, выбор большой: здесь и SOAP, и CORBA, и DCE/RPC, и, конечно же, REST. О создании межплатформенного API на его базе и пойдет речь.
Читать дальше →

Релиз RubyMine 4.5

Время на прочтение1 мин
Количество просмотров8.5K
RubyMine 4.5 Just ReleasedКомпания JetBrains рада сообщить о выходе RubyMine 4.5 — новой версии интеллектуальной интегрированной среды разработки для Ruby on Rails, которую можно загрузить с нашего сайта

Мы искренне верим, что для создания хорошего продукта в первую очередь необходимо прислушиваться к сообществу разработчиков. В этой версии RubyMine мы постарались реализовать как можно больше нового функционала с учетом оставленных вами комментариев и отданных голосов.
Читать дальше →

Интеграция Robokassa в ActiveMerchant

Время на прочтение3 мин
Количество просмотров10K
Прим. переводчика — пост про интеграцию Robokassa и Rails уже был, но способ, предоставленый там, полагаю, многих не устроит.

Когда у вас есть приложение, написанное на Ruby on Rails и вы планируете добавить какую-нибудь платежную систему (например PayPal, Moneybookers или Robokassa, как в нашем случае), то первый гем о котором вы должны подумать — это active_merchant от Shopify.

ActiveMerchant — простая абстрактная платежная библиотека используемая и спонсируемая компанией Shopify.

Поэтому когда мне понадобилось добавить платежи через Robokassa в наш проект, я открыл список поддержеваемых платежных систем и был немного разачарован, потому что Robokassa туда не входила. Чуть позже я нашел форк, который добавлял её поддержку, но он уже устарел, поэтому некоторые тесты падали ec801d3d4f8. Таким образом я решил глянуть на этот код и исправить его, а не писать всё с чистого листа.
Читать дальше →

Немного Rails трюков

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

Хочу поделиться в вами несколькими трюками, которые помогут сделать работу с Ruby on Rails лучше, быстрее, а также позволят вам много зарабатывать и более лучше одеваться.
Читать дальше →

Обработка большого количества задач при помощи delayed_job

Время на прочтение2 мин
Количество просмотров17K
Я большой фанат resque, который использует Redis в качестве хранилища, однако если есть необходимость быстро выполнить большое количество фоновых задач, в некоторых случаях delayed_job может работать более эффективно благодаря тому, что он не вызывает fork() каждый раз при выполнении новой задачи.
Читать дальше →

Обновления на лету (zero-downtime deployment) вообще и в Ruby on Rails

Время на прочтение4 мин
Количество просмотров10K
Сначала разберемся с определениями. Под обновлением на лету мы подразумеваем такое обновление системы, при котором не нарушается штатная ее работа: клиенты работают, посетители ходят и никто не наблюдает ошибок, увеличившегося времени отклика или таблички “УЧЁТ”.

Зачем это нужно? Если вы задаетесь этим вопросом — вам не нужно. Вешайте табличку, садитесь обедать.

Как это делается? Сложно. Почему? Главных причин две:
— вы не можете обновить систему мгновенно и атомарно (то есть ровно между двумя HTTP запросами). При наивном подходе пользователи заметят как минимум долгое время отклика, а то и ошибку, если, к примеру, БД обновлена, а код еще нет;
— состояние и конфигурация системы существуют и на клиенте и на сервере. Примеры: данные в сессии, имена полей формы, адреса в ссылках, состояние в javascript на открытой у пользователя странице.
Читать дальше →

Joosy: альтернативный подход к браузерным фреймворкам

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

Если коротко


Мы разработали новый JS-фреймворк, не похожий на существующие. Он использует новый подход. Мы зовём его Joosy.

Официальный сайт
Руководство для новичков
На гитхабе


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

Анонсирован выход Redmine 2.0.1

Время на прочтение1 мин
Количество просмотров3K
image Сегодня анонсирован выход версии Redmine 2.0.1, в которой были исправлены 11 основных ошибок версии 2.0.0(вышла 14 днями ранее), в которой отказались от использования Rails 2.3 в пользу Rails 3.
Таким образом, Redmine теперь стабильно работает на Rails 3.

Естественно, могут возникнуть некоторые проблемы несовместимости плагинов, обновлением которых уже вовсю занимаются разработчики.

Лично я, разрабатывающий расширения под Redmine уже 2 года, считаю, что это большой прорыв. Теперь разработка станет интереснее. Кроме того, если вы как раз подбираете себе систему ведения проектов — Redmine является самым лучшим opensource решением.

Новости на Redmine.org

Три полезных совета по Rails консоли

Время на прочтение3 мин
Количество просмотров4.2K
Топик является вольным переводом статьи на 37signals.

Вчера я копался в документации к Rails API и заметил несколько полезных функций rails консоли, которых не видел ранее. До этого было множество публикаций об irb и Rails, но я надеюсь, что из этой вы почерпнете для себя что-то новое. Приведенные примеры сделаны с использованием Basecamp Next on Rails версии 3.2.3.
Читать дальше →

Переводим Rails–приложение на Ruby 1.9

Время на прочтение3 мин
Количество просмотров2.6K
Итак, у нас есть существующее приложение Ruby on Rails, работающее под ruby 1.8.7. Казалось бы, “работает — не трогай”! Однако, переход на ruby 1.9.x для приложения, которое мы планируем развивать и поддерживать в будущем, неизбежен
Читать дальше →

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

Работа с несколькими БД в Ruby on Rails 3

Время на прочтение5 мин
Количество просмотров7.1K
Всем привет. Я — начинающий (относительно) Ruby on Rails разработчик. В данный момент разрабатываю приложение, которое использует несколько баз данных. Информации по данном вопросу в интернете не так много, как хотелось бы, поэтому решил собрать все воедино и поделиться с хабрасообществом.
Повторюсь, я считаю себя новичком в рельсах, поэтому это не статья о том, как делать правильно. Это просто сборник заметок о том, что и как делал именно я.
Перейдем к делу?

5 распространенных ошибок Rails-разработчиков

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

Я проработал с Rails уже порядочное количество времени, и за это время я видел много Rails-приложений, а также немало прочитал и написал плохого кода на Ruby. И вот вам 5 самых распространенных ошибок, которые я наблюдал практически в каждом приложении.
Читать дальше →

Расширяем Ruby с помощью Ruby: заимствуем у Python декораторы функции

Время на прочтение8 мин
Количество просмотров5.1K
От переводчика: предлагаю вам перевод начала презентации Michael Fairley — Extending Ruby with Ruby. Я перевел только первую часть из трех, потому что она имеет максимальные практические ценность и пользу, на мой взгляд. Тем не менее, настоятельно рекомендую ознакомиться с полной презентацией, в которой помимо Python приводятся примеры заимствования фишек из Haskell и Scala.

Декораторы функции


В Python есть такая штука — декораторы, которая представляет собой синтаксический сахар для добавления в методы и функции кусочков часто используемой функциональности. Сейчас я покажу вам некоторые примеры того, что такое декораторы и почему они могли бы быть полезны и в Ruby.

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

Возьмем Ruby и притворимся, что нам нужно перевести деньги с одного банковского аккаунта на другой. Вроде все просто, так?

def send_money(from, to, amount)
  from.balance -= amount
  to.balance += amount
  from.save!
  to.save!
end
Читать дальше →

Rusrails.ru исполнилось 2 года!

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

Доброго времени суток, друзья!


Чуть больше двух лет назад мой младший братишка обратил мое внимание на язык Ruby и фреймворк Rails на нем, и я загорелся желанием их изучить.

К вопросу подошел досконально, и, поскольку английский в то время хромал, и на лету информация на нем не воспринималась, по мере прочтения официальных руководств по Rails я делал для себя их переводы. По сути, учил параллельно Rails и технический английский.

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

Проблема популярности Ruby и Ruby on Rails — плохая документация

Время на прочтение4 мин
Количество просмотров16K
Хочу поделиться своими соображениями. Я читал много топиков на тему Ruby, Ruby on Rails, Ruby vs PHP, Python vs PHP. «Каждый кулик свое болото хвалит». Я считаю, что это дело сугубо каждого — какую систему или язык программирования использовать, личные предпочтения, как говорится, на вкус и цвет товарищей еще поискать. Но суть даже не в этом. Я хорошо знаю PHP, не так давно взялся за изучение Ruby и Ruby on Rails. Знаете, как ни странно это звучит, но мне нравятся обе системы — и PHP, и Ruby, возможно даже одинаково. В Ruby есть свои прелести, которые привлекают — мощность самого языка, очень понятный и лаконичный синтаксис (если с толком подойти к изучению), в PHP — простота и все та же лаконичность языка. Хорошие системы, хорошие инструменты, но все же Ruby как-то в роли догоняющего. Что же тут не так?
Читать дальше →

Создание плагинов для Redmine

Время на прочтение4 мин
Количество просмотров17K
Процесс создания плагинов для Redmine очень слабо документирован. Задача данной статьи отчасти восполнить этот пробел, рассказав про успешный опыт создания небольшого, но полезного плагина. Важное примечание. Redmine написан на Ruby on Rails, вам нужно быть к этому готовым, если вы собрались делать свой плагин :)
Читать дальше →

Почему многие выбирают Ruby, а не PHP

Время на прочтение3 мин
Количество просмотров64K
imageДанный пост является ответом на пост "Почему люди выбирают PHP, или почему миллиарды мух могут ошибаться". Надеюсь, мне удастся развеять миф о несостоятельности платформ вроде Ruby и Python, который активно распространяется PHP разработчиками, причем разработчиками т.с. нижнего сословия, которые кроме PHP больше ничего не видали. Конкретно в данной статье я формате вопрос-ответ расскажу о том, почему Ruby и Rails — реальные игроки, почему они популярны и можете ли вы их использовать для построения собственного бизнеса в интернете.

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

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