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

Ruby *

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

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

Простой способ получить поля модели в ActiveResource

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

Быстрая разработка GUI приложений на Ruby

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

Вступление


На хабре, по-моему, уже почти все возможные графические API для руби рассматривались. Но почему-то все воспринимают и подают эти самые API исключительно как чистый код. Никаких тебе графических дизайнеров, никакой скоростной разработки GUI — сиди, вычисляй координаты ручками, подгоняй как надо. А зачем иначе, ведь на руби серьезных GUI приложений не написать.
А вот и нет! Если уж на то пошло, то на руби можно написать даже Wolfenstein. Но начинать лучше все-таки с чего-то менее глобального :)

Подготовка


Итак, попробуем написать что-нибудь не очень простое, достаточно GUI'евое и желательно не заморачиваясь на вычисление координат.
Читать дальше →

Мини-конференция по Ruby и Rails — Петербург

Время на прочтение1 мин
Количество просмотров616
Мы планируем очередную мини-конференцию по Ruby и Rails 31 мая в 16.00 в iClub (iclub.su).

Выступления:

— Илья Заяц расскажет об основах использования memcached в Rails.

— Дмитрий Жемеров (Development Lead в JetBrains)
расскажет о Ruby IDE RubyMine

— Роман Чернятчик (Developer в JetBrains)
расскажет о CI и билдсервере TeamCity

Адрес iClub:
Конюшенная Б. ул., 12/10
На ЯКарте

Приходите, будет интересно!

Ruby + Shoes = Миленький GUI

Время на прочтение4 мин
Количество просмотров11K
Статья изначально публиковалась для личного блога, но думаю те кто начинают изучать Ruby, или просто хотят написать GUI к приложению сочтут ее полезной.

Вступлений не будет. Тема сегодня — Shoes. Такой небольшой kit, для создания GUI к приложениям на Ruby. Впервые я о нем них услышал, когда пытался понять, как сделать на руби нечто графическое. Ответ пришел сразу, причем в двух(а то и трех вариантах):

  • Qt
  • wxWidgets
  • Tk
  • Shoes


Посмотрел пункт первый, затем второй. Узнал, что множество из ныне живущих популярных GUI-приложений на C++ имеют под собой Qt-основу :) В общем, вызнал много полезного да и вообще позитивного. На шузы (нравится их так называть) я почти не смотрел, а зря.
Читать дальше →

Vim Ruby Debugger

Время на прочтение3 мин
Количество просмотров6.4K
До недавнего времени я писал Ruby код в Netbeans. Штука клевая и очень удобная, но я давно заглядывался на Vim, уж больно он мощный текстовый редактор, бобам и не снилось. Пытался несколько раз на него перейти, но как только встречался какой-то затык в коде, закрывал Vim, открывал Netbeans, ставил брейкпоинт и начинал разбираться что не так. В общем, привык я к отладчику.

Помучившись некоторое время, пришла идея написать Ruby дебаггер под Vim. Открыл код rails.vim, NERDTree.vim и начал учиться VimScript'у. Так что спасибо tpope и Marty Grenfell за уроки (хотя наверно они никогда этого не прочтут и не узнают об этом). Плагин можно сейчас лицезреть на гитхабе.
Как это установить и как этим пользоваться

Ручная установка Ruby 1.8.7 и Rails на Windows XP

Время на прочтение2 мин
Количество просмотров3.8K
Написал однажды для себя, но подумал — «А что, если кому-то тоже пригодится?»

Итак, установим Ruby. Для этого нужно:

  1. скачать бинарники для Ruby 1.8.7 здесь: http://www.ruby-lang.org/en/downloads/. Распаковать их в желаемую директорию (например в c:\ruby).
  2. открыть My Computer → Properties → Advanced → Enviromental Variables, и дописать в переменную Path такую строку "с:\ruby\bin\" (это зависит от того, куда вы распаковали бинарники)
  3. скачать пакет zlib здесь: http://www.zlib.net/zlib123-dll.zip. Из него достать файл zlib1.dll, переименовать его в zlib.dll и поместить по адресу с:\ruby\bin\
  4. скачать пакет iconv здесь: http://sourceforge.net/project/showfiles.php?group_id=25167&package_id=51458. В архиве отыскать файл iconv.dll и скопировать его по адресу с:\ruby\bin\
  5. скачать и установить библиотеку OpenSSL отсюда: http://www.slproweb.com/products/Win32OpenSSL.html
  6. скачать rubygems здесь: http://rubyforge.org/frs/?group_id=126. Распаковать архив, отыскать файл setup.rb и запустить в консоли команду ruby setup.rb
Теперь необходимо установить Rails. Для этого нужно:
  1. в консоли выполнить команду gem install rails
  2. в консоли выполнить команду gem install sqlite3-ruby -v 1.2.3
  3. скачать и библиотеку SQLite3 здесь: http://www.sqlite.org/download.html. Распаковать из скачанного архива файл sqlite3.dll в папку с:\ruby\bin\
Последние два пунка нужны для того, чтобы запустить Rails-приложение «из коробки», где изначально в конфигурации прописано использование базы данных SQLite.

Теперь необходимо проверить, как работает Rails. Для этого нужно:
  1. в консоли выполнить выполнить команду rails my_projects_name_with_path (например: "rails d:/my_blog") – тем самым мы создадим каркас пустого приложения
  2. перейти в папку с созданным каркасом и выполнить в консоли команду ruby script/server – тем самым мы запустим нашу пустую Rails-программу
  3. в браузере перейти по адресу localhost:3000
  4. на открывшейся странице нажать по ссылке "About your application's environment" – тем самым должно быть показано версии установленых компомент Rails

Спасибо добрым людям, однажды ответившим на вопрос об установке Ruby на сайте stackoverflow.com тем самым сподвигнув меня разобраться во всём в деталях и написать это небольшое руководство-памятку.

Настройка хостинга heroku.com + custom domain name *для новичков

Время на прочтение2 мин
Количество просмотров29K
Итак, подобного материала я нигде не видел, так что считаю необходимым опубликовать данную информацию. image
  • Регистрируемся на Heroku.com письмо с линком приходит быстро, мне пришло уже через 30 секунд.
  • Далее необходимо установить git, я работал в ОС windows (как устанавливать в linux я думаю знают те, кто его используют), вот версия для win, если использовать портативную версию, то необходимо в интерфейсе командной строки, перейти в директорию (куда распаковали) git, и запустить либо оболочку git-bash.bat (лично мне удобнее с ней работать), либо использовать команды только лишь cmd, git-cmd.bat.
  • Далее, необходимо установить gem heroku командой (sudo) gem install heroku у него есть зависимости с другими гемами, вообще они сами установятся автоматически, ну а если нет, то вот ссылки для них: rest-client, launchy, json.
Читать дальше →

Поиск и размещение вакансий для ruby-профессионалов

Время на прочтение1 мин
Количество просмотров1.2K
Сегодня наша команда (hashtrain.com) запустила очередной сервис — RubyJobs.ru.

Здесь компании могут разместить свои вакансии, а руби-профессионалы (и новички ;) найти интересную работу.

Использование сервиса совершенно бесплатно и даже не требует регистрации.

Мы надеемся, что RubyJobs.ru будет полезен всем вам. Приятного рабочего дня!

RailsClubMoscow

Время на прочтение2 мин
Количество просмотров490
В 19-го апреля в Москве прошла дегустация хреновухи под прикрытием RailsConf. По размаху конференция не сравнима с аналогичными в США которые я описывал в этом блоге, но сам факт ее проведения меня очень радует.

Доклады будут интересны исключительно рубистам и рельсовикам.

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

Одной из отличительных черт этой конференции является присутствие многих (всех?) докладчиков на хабре. Поэтому можете задавать вопросы по теме в комментах и думаю вы получите ответы.

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

Делаем gem для RubyGems

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

Собираем камешки для Ruby


Зачастую бывает так, что таскаешь из проекта в проект какие-то куски кода. Такие куски очень удобно выносить во внешние файлы, модули. Для этого в Ruby существует RubyGems — менеджер приложений и библиотек, оформленных в один файл-пакет — gem. И собрать такой гем, а главное, сделать его доступным для любой машины, подключенной к интернету, оказалось очень просто.

Итак, gem за пол-часа

Мини-конференция по ruby и rails в Москве

Время на прочтение1 мин
Количество просмотров581
Привет, хабрачеловек!

Мы организовали небольшую конференцию про ruby и ruby on rails в Москве, в клубе «Гоголь», 19-го апреля в три часа дня.
Вот чего интересного в ней будет:
  • Несколько коротких презентаций и докладов по 5-15 минут.
  • Общение с коллегами.
  • Хороший кофе и вкусные сандвичи: р

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

Мы ждем тебя, %username%!

Пишем SQL на чистом Ruby

Время на прочтение2 мин
Количество просмотров5.4K
Ruby — это гибкий язык, позволяющий создавать на своей основе различные DSL. Появилась идея написать DSL для SQL-запросов (для SELECT'ов), максимально приближенный к оригиналу. Кажется, получилось. Получившаяся штука называется Boroda. Далее следуют примеры кода.

require 'boroda'

sql = Boroda.build do
  from :posts, :users
  select posts.*
  where (posts.author_id == users.id) & (users.name == 'Vlad Semenov')
end

Получим:

SELECT posts.*
FROM posts, users
WHERE (posts.author_id = users.id) AND (users.name = 'Vlad Semenov')


Если кто не понял — мы пишем SQL-запросы на чистом Руби. Теперь попробуем что-нибудь посложнее.
Читать дальше →

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

MountainWest RubyConf 2009

Время на прочтение5 мин
Количество просмотров526
13 и 14 марта этого года в штате Юта прошла очередная конференция посвященная языку программирования Ruby.

Я заметил, что на этой конференции более короткие доклады по сравнению с предидущими конференциями. Докладчики, восновном, вкладывались в 25-30 минут, в то время как в ноябре прошлого года на RubyConf 2008 им было нужно около часа на каждое выступление.
Кстати, с удивлением заметил фирму Microsoft среди спонсоров конференции. Несмотря, на полуживой IronRuby как-то у меня не ассоциируется эта организация с open-source сообществом вообще и R*-сообществами в частности.

Интересно будет, восновном, рубистам и рельсовикам. Некоторые доклады могут быть интересны Java-программистам желающим мигрировать в сторону Ruby/Rails.

Лично мне понравились, и поэтому рекомендую, следующие доклады: The Great Rails Refactor и BDD with Cucumber.

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

Method Finder для Ruby по мотивом Squeak'овского

Время на прочтение2 мин
Количество просмотров751
После поста пользователя aovoe захотелось что-то аналогичное для ruby. Наспех был накидан код, который умеет искать по селекторам без аргументов (например «hello».upcase).
Примеры:

  irb(main):001:0> "hello".suggest_method("HELLO")
  => ["upcase", "swapcase"]
  
  irb(main):002:0> "hello".suggest_method("Hello")
  => "capitalize"
  
  irb(main):007:0> Date.parse('13 Sep 2009').suggest_method(256) # Programmer's Day
  => "yday"
  
  irb(main):009:0> 1.01.suggest_method(1)
  => ["prec_i", "round", "truncate", "to_i", "to_int", "floor"]
  
  irb(main):010:0> 1.01.suggest_method(2)
  => "ceil"

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

Встреча в Питере: Воскресенье, 29 Марта

Время на прочтение1 мин
Количество просмотров606
После встречи питерских программистов в iClub-е возникла идея провести отдельную встречу руби-прогеров.
Чтобы избавить всех от прелестей бесконечных обсуждений где и когда, я забил место и время. И я подумал, что для разнообразия будет круто провести встречу утром в Воскресенье, хаха.

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

Ruby — проксирование методов класса

Время на прочтение4 мин
Количество просмотров3.8K
Иногда возникает необходимость, запроксировать (обернуть) методы класса в свой код.

Например:
  • запустить их в тредах
  • навесить фильтры до и после
  • померить производительность

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

Ruby — async_fu, простота использования тредов

Время на прочтение2 мин
Количество просмотров1K
Я не очень давно работаю с ruby но почти в первые дни появилась острая нужда запускать долго играющие функции, которые не должны блокировать работу основной программы.

Готового и простого решения я не нашел, посему начал изобретать велосипед.

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

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

Краткий обзор развития фреймворка Ruby on Rails за последние 14 месяцев

Время на прочтение12 мин
Количество просмотров1.2K
За временем не успеть. Все вокруг развивается очень стремительно. В какой-то момент я заметил, что хоть и работаю с последней версией Ruby on Rails, но многих «фич», которые в ней реализованы я не использую, более того о многих я даже не слышал.
Я попробую сделать ретроспективу, что было введено в Rails за последние 14 месяцев. Каждое нововведение буду сопрождать небольшим примером, который буду копировать as is из источника, на котором основана статья, так как подобные пояснения для каждой это тема для кучи отдельных статей или ссылкой.
поехали

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