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

Ruby *

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

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

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

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

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

  • Qt
  • wxWidgets
  • Tk
  • Shoes


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

Vim Ruby Debugger

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

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

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

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

Итак, установим 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 тем самым сподвигнув меня разобраться во всём в деталях и написать это небольшое руководство-памятку.
Всего голосов 25: ↑21 и ↓4+17
Комментарии16

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

Время на прочтение2 мин
Количество просмотров28K
Итак, подобного материала я нигде не видел, так что считаю необходимым опубликовать данную информацию. 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.
Читать дальше →
Всего голосов 51: ↑35 и ↓16+19
Комментарии23

Истории

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

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

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

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

Мы надеемся, что RubyJobs.ru будет полезен всем вам. Приятного рабочего дня!
Всего голосов 49: ↑31 и ↓18+13
Комментарии16

RailsClubMoscow

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

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

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

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

Читать дальше →
Всего голосов 31: ↑24 и ↓7+17
Комментарии10

Делаем gem для RubyGems

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

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


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

Итак, gem за пол-часа
Всего голосов 32: ↑27 и ↓5+22
Комментарии17

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

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

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

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

Мы ждем тебя, %username%!
Всего голосов 26: ↑21 и ↓5+16
Комментарии46

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

Время на прочтение2 мин
Количество просмотров5.2K
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-запросы на чистом Руби. Теперь попробуем что-нибудь посложнее.
Читать дальше →
Всего голосов 64: ↑54 и ↓10+44
Комментарии59

MountainWest RubyConf 2009

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

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

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

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

Читать дальше →
Всего голосов 8: ↑6 и ↓2+4
Комментарии2

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

Время на прочтение2 мин
Количество просмотров704
После поста пользователя 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"

Читать дальше →
Всего голосов 28: ↑20 и ↓8+12
Комментарии4

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

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

Читать дальше →
Всего голосов 19: ↑14 и ↓5+9
Комментарии48

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

Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург

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

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

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

Читать дальше →
Всего голосов 23: ↑17 и ↓6+11
Комментарии26

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

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

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

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

Читать дальше →
Всего голосов 8: ↑5 и ↓3+2
Комментарии15

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

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

Авторизация в Ruby on Rails с помощью плагина restful-authentication

Время на прочтение6 мин
Количество просмотров7.4K
Сидя в Москве (как тут у вас многолюдно :), нашел время на написание серии статей по Rails.
Сегодняшняя тема навеяна печальным сообщением. Итак моя задача: показать как можно легко сделать авторизацию в Ruby on Rails. Задача новичков прочитать и попробовать, задача не новичков прочитать и написать как сделать лучше и/или указать на ошибки.
поехали
Всего голосов 14: ↑12 и ↓2+10
Комментарии16

Индикатор загрузки файлов в веб-приложениях на Ruby on Rails

Время на прочтение5 мин
Количество просмотров2.7K
Задача: показать как реализовать индикатор загрузки файла при различных конфигурациях Ruby on Rails:
Я разделю цикл статей на три части.
mongrel
mongrel(s)+nginx
mod_rails
часть I. mongrel
Всего голосов 24: ↑19 и ↓5+14
Комментарии15

acts_as_conference 2009

Время на прочтение4 мин
Количество просмотров445
6 и 7 февраля в штате Флорида прошла очередная конференция посвященная Ruby и Rails. На сайте который специализируется на публикации видео с конференций связанных с Ruby были выложены записи выступлений.

Выступления на английском языке.

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

Кому это может быть интересно? Это может прозвучать странно, но самые интересные, на мой взгляд, доклады достаточно универсальны. Они затрагивают темы которые будут интересны людям независимо от того, какой язык программирования они используют. Разумеется, со знанием Ruby будет легче понять примеры, но идеи которые излагаются могут использоваться в разных языках. Два доклада на которых хотелось бы заострить внимание — The Grand Unified Theory… и Relaxing with CouchDB

Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии3

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

Работа

Ruby on Rails
8 вакансий
Программист Ruby
6 вакансий