Как стать автором
Обновить
0.6

Ruby *

Динамический высокоуровневый язык программирования

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

Создание привлекательных диаграмм

Время на прочтение4 мин
Количество просмотров1.8K
Проблема
Хотелось бы иметь возможность динамической генерации привлекательных диа­грамм на основе данных приложения.
Нам потребуется
  • ImageMagick. Эту библиотеку можно получить по адресу www.imagemagick.org.

  • Привязка Ruby к ImageMagick — RMagick. Устанавливается из gem-пакета rmagick. Настройка ImageMagick и RMagick иногда может вызывать небольшие затруднения. Перед установкой RMagick следует заглянуть в сборник самых распространенных вопросов и ответов по адресу rmagick.rubyforge.org/install-faq.html.Когда все получится, останется только радоваться.

  • Библиотека для построения диаграмм Джефри Грозенбака (Geoffrey Grosen-bach) Beautiful Gruff, которая устанавливается из gem-пакета gruff.

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

Реализация оперативного просмотра

Время на прочтение4 мин
Количество просмотров505
Проблема
Хотелось бы дать пользователям возможность оперативного просмотра данных в процессе редактирования, чтобы не получалось так, что после отправки из фор­мы данные появились в испорченном формате (когда речь идет, к примеру, о дневниковой записи, которую собираются выставить на всеобщее обозрение).

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

Создание сортируемого списка с перетаскиваемыми элементами

Время на прочтение7 мин
Количество просмотров2.1K
Проблема
В приложении есть модель со списком, который нужно отсортировать. Жела­тельно управлять порядком сортировки списка, находящегося в базе данных, и предоставить пользователям привлекательный, современный интерфейс с пе­ретаскиванием, позволяющий установить порядок следования элементов списка.

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

Автозаполнение текстового поля

Время на прочтение3 мин
Количество просмотров2.7K
Проблема
Вам наверняка приходилось пользоваться изящной работой элементов управ­ления, обладающих свойством автозаполнения. Вы точно знаете, стоит только приступить к вводу данных, как приложение еще до завершения ввода начнет ди­намический подбор соответствий. Это был самый впечатляющий писк моды в де­вяностых годах прошлого столетия.
Для нового, сногсшибательного приложения вполне естественно желание оформить стильный поиск.
Читать дальше →

Местное редактирование формы

Время на прочтение3 мин
Количество просмотров855
Проблема

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

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

Аутентификация в Rails — плагин jiff_auth

Время на прочтение3 мин
Количество просмотров651
Работая над рельсовым проектом мне, естественно, понадобилось сделать аутентификации пользователей. Монополией на это в Rails обладал плагин restful_authentication, который мне не понравился по нескольким причинам:
  • он генерирует много кода
  • он негибок в настройках
  • он сложно интегрируется в существующие модели и контроллеры (надо создавать с нуля)
  • к нему крайне невнятная документация
Исправить перечисленное и стало задачей плагина jiff_auth, который я решил закодить.
Ниже — небольшая инструкция по настройке и использованию.

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

Qt + Ruby = настройка в Linux и Windows

Время на прочтение3 мин
Количество просмотров11K
Привет всему сообществу. Сегодня напишу как настроить привязку qt и ruby в Linux и Windows.
Ruby — интерпретируемый язык высокого уровня для быстрого и удобного объектно-ориентированного программирования. Язык обладает независимой от операционной системы реализацией многопоточности, строгой динамической типизацией, «сборщиком мусора» и многими другими возможностями. Ruby близок по особенностям синтаксиса к языкам Перл и Эйфель, по объектно-ориентированному подходу к Smalltalk. Также некоторые черты языка взяты из Python, Лисп, Dylan и CLU. Подробнее тут

Trolltech Qt (произносится «кьют») — кросс-платформенный инструментарий разработки ПО на языке программирования C++.Подробнее тут
Читать дальше →

Заметки о Ruby. №1. [[: key,: value], [: key2,: value2]] --> {: key =>: value,: key2 =>: value2 }

Время на прочтение1 мин
Количество просмотров1.1K
Планирую начать очень короткие заметки о ruby.

Иногда нам нужно преобразовать структуру вида [[:key, :value], [:key2, :value2]] в
{ :key => :value, :key2 => :value2 }

Короткое решение:

Hash[[[:key, :value], [:key2, :value2]]]

К сожалению, в ruby 1.8.6 не работает. В 1.8.7 баг (?) исправили.

Обычное решение:

[[:key, :value], [:key2, :value2]].inject({}) { |hash, pair| hash[pair[0]] = pair[1]; hash }

Мегакороткое решение, а главное понятное и работает везде от Eugzol’а:

Hash[*[[:key, :value], [:key2, :value2]].flatten]

Помощь в отладке шаблонов на Rails

Время на прочтение1 мин
Количество просмотров464
Rails — отличный framework, но отладка приложений на нем, обычно не такое уж тривиальное действие. IDE заточенных под это нет, так что все делается вручную. Часто, отладка внутри View'ов основывается на <%= debug @переменная %>. Оказывается, есть плагин, который позволяет это дело облегчить. Называется он debug_view_helper и был создан с целью простового добавления debug информации к view шаблонам. Он позволяет просматривать:
  • Параметры реквеста
  • Переменные сессии
  • Flash-переменные
  • Переменные шаблонов


Он достаточно старый и устанавливается прямо из svn:
svn co www.realityforge.org/svn/code/debug-view-helper/trunk vendor/plugins/debug_view_helper


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

Фоновая обработка видео в Ruby on Rails

Время на прочтение4 мин
Количество просмотров2.7K
Допустим у вас есть сайт, на котором пользователи загружают видео, и это видео надо конвертировать в flv формат.
Делать это непосредственно после загрузки, в текущем рабочем потоке не хорошо, т.к. потоков этих ограниченное число, и при большой нагрузке сайт будет недоступен.
Будет гораздо лучше, если обработкой этих видео-файлов займется демон.
тонкости реализации демонов и потоков в ror

Сжатие JavaScript и CSS на Rails с помощью asset_packager

Время на прочтение2 мин
Количество просмотров608
Часто случается, что делая большой проект в конце концов выходит куча отдельных javascript'овых файлов вроде библиотек, плагинов к ним и прочих. Так же, переодически можно встретить и несколько CSS, которые в основном делаются для удобства восприятия. Так же, по-хорошему, все это дело снабжено рядом комментариев, чтоб потом хоть как-то в этом разобраться.
Благодаря тому, что на Rails development и production версии разделяются, с помощью плагина asset_packager можно наладить автоматический процесс сжатия всех js и всех css файлов в 2 файла с вырезанием всех комментариев.
Т.е. получится, что в development версии у вас будет нормально поддерживаимые скрипты и стили, а в production все будет объединино для ускорения загрузки (п.с. в основном браузеры не поддерживают параллельную загрузку js и css файлов).
Читать дальше →

Чат на рельсах

Время на прочтение4 мин
Количество просмотров8K
Сегодня мы с вами создадим приложение на Руби на Рельсах, он же Рейлс, он же РоР. (Ruby on Rails, RoR, Rails). Я для краткости буду употреблять выражения «рельсы», «рейлс» или «рор».

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

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

Phusion Passenger 2.0 RC 1 and Ruby Enterprise Edition

Время на прочтение1 мин
Количество просмотров1.1K
Вот так вот тихо и незаметно зарелизились два(один точно =) замечательных продукта для рельсо-разработчиков.

Немного справки:
Phusion Passenger — модуль под апач, позволяющий пускать рельсовые приложения. Забудьте о Монгрелах =) Теперь выкатить рельсовое приложение не сложнее, чем пхпшное.

Ruby Enterprise Edition — редакция интерпретатора руби, которая понизит потребление памяти рельсовыми приложениями и увеличит скорость. Эту штуку я еще не успел сам попробовать, но постараюсь в ближайшее время.
Читаем и скачиваем

Ruby on Rails 2.1

Время на прочтение1 мин
Количество просмотров773
Приветствую всех рельсоводов и тех, кто ещё собирается ими стать.
Сегодня произошло знаменательное событие. Через шесть месяцев после выхода Рельс 2.0, наконец, вышла новая версия рельс — 2.1
Из нововведений стоит отметить:

Установить новые рельсы можно точно так же, как и всегда: gem install rails
Официальный анонс

Новое в Rails: named scopes

Время на прочтение1 мин
Количество просмотров1.1K
В Edge Rails появилась возможность определять именованые условия-фильтры для поиска:
class User < ActiveRecord::Base
named_scope :active, :conditions => {:active => true}
named_scope :inactive, :conditions => {:active => false}
named_scope :recent, lambda { { :conditions => ['created_at > ?', 1.week.ago] } }
end

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

Новое в Rails: Грязные объекты

Время на прочтение1 мин
Количество просмотров894
Сейчас можно проверить был ли модифицирован объект (ActiveRecord) и что именно было модифицировано.

article = Article.find(:first)
article.changed? #=> false


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

Эмоциональный обзор Ruby 1.9

Время на прочтение2 мин
Количество просмотров2.6K
Прошло уже около двух месяцев с выхода интерпретатора языка программирования ruby версии 1.9. Вторая нечётная цифра здесь, как и у многих других open source проектов, означает нестабильную, экспериментальную версию, способ опробовать «wild and weird ideas». Ниже приведён краткий обзор этих экспериментальных изменений с точки зрения человека хорошо знакомого с предыдущими версиями. Выбор для обзора ограничен не их важностью (очень важная вещь — улучшенная поддержка юникода, например, пропущена), а интересом, которые они вызвали у автора.
Читать дальше →

Установка RubyGems на хостинге

Время на прочтение2 мин
Количество просмотров2K
Сегодня решил протестировать один из своих рельсовых проектов на хостинге. Дома-то работает всё круто, а вот в продакшн-режиме не захотело. Во-первых, оказалось, что рельсы на хостинге установлены не те, во-вторых, RubyGems старый. Ладно, хоть Ruby сам работал, и на том спасибо ((-:
Первым делом я решил обновить RubyGems, чтобы в дальнейшем избежать лишних вопросов от менеджера gem'ов. Делается это так:
Читать дальше →

Закончился Ruby Logo Contest

Время на прочтение1 мин
Количество просмотров959


Второго сентября этого года стартовал конкурс на лучшее лого языка Ruby.

И вот, вчера на официальном сайте языка Ruby появилась информация о новом официальном лого. Которое, разумеется, и есть лого победителя конкурса.

Итак!
Читать дальше →

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