Программирование на Ruby - Новости

Установка Ruby 1.9.2 и Rails 3 stable на Ubuntu

В небольшой заметке рассказано про установку Ruby 1.9.2 и Rails 3 stable для Ubuntu 10.04, без RVM.

Пройдите по ссылке: Установка Ruby 1.9.2 и Rails 3 stable на Ubuntu

Источник: rubyflow.ru

Превращаем телефон на базе Android в шпионскую камеру

При этом не нужно писать код на Java, а реализовать проект можно за 15 минут (во всяком случае так обещает автор статьи). Все это становится возможным благодаря Ruboto (Ruby on Android).

Ruboto позволяет писать приложения для Android и не использовать для этого Java.

Но ведь нам нужно создать шпионскую камеру? Тогда пошаговая инструкция дальше в статье Turn your Android Phone Into a Remote Spy Camera with Ruby in 15 Minutes

P.S. В случае успешного эксперимента, поделитесь ссылкой на свою камеру в комметариях к этому посту :)

Источник: rubyflow.ru

Piter.rb #2 –Питер, 15 сентября 2010

В Петербурге пройдет очередая встреча Ruby-программистов Piter.rb #2

Отчет о предыдущей встрече можно посмотреть здесь

Уже есть 7 докладов:

  1. Работа Rails программистом в Малайзии, Сингапуре и Таиланде. Павел Тимофеев
  2. Различия веток Ruby 1.8.x и 1.9.×. Артем Гарматий
  3. R18n – i18n для Ruby и Rails. Андрей Ситник
  4. Интерграция iPhone и Rails приложений. Александр Кобяков
  5. Введение в метапрограммирование на Ruby. Михаил Вайсман
  6. Интерграция Android и Rails приложений. Сергей Стаськов
  7. Полнотекстовый поиск в RubyOnRails приложениях. Павел Тимофеев

Участие бесплатное. Встреча будет идти около 3 часов.

Место, дата и время:
Санкт-Петербург, 18-я линия Васильевского Острова, БЦ «Сенатор» (д. 31),
15 сентября 2010, 19:00 (подходите на ресепшен внутрь здания, мы вас встретим),
Моб.тел. +7-921-3372119 (Павел)

Информация и карта: http://piterrb.heroku.com/

Твиттер: #piterrb

Источник: rubyflow.ru

Rails 3.0

Свершилось! Аннонсирован релиз Rails 3.0.

  • новый query engine у Active Record
  • новый рутер у Action Controller
  • новый Action Mailer
  • встроенная защита от XSS-атак
  • официальный API для плагинов
  • и еще куча всего нового.

Подробнее в официальном пресс-релизе Rails 3.0: It’s ready!

Источник: rubyflow.ru

Rails 3 RC2

Уже вышел второй кандидат, а оф. релиз обещают на этой неделе. Команда разработчиков просит помочь им с двумя самыми проблемными частями — Bundler и ARel. Подробности в оф. пресс-релизе Rails 3.0: Release candidate 2

Источник: rubyflow.ru

Ruby Koans

Ruby Koans — это набор небольших задач, решая которые вы улучшаете свои познания в Ruby. Отличные упражнения для новичков и даже профи.

Только справившись с одним задание, вы получаете следующее. Хочу еще отметить интересную подачу материала:

Thinking AboutAsserts 
test_assert_truth has damaged your karma.

You have not yet reached enlightenment ...
<false> is not true.

Please meditate on the following code:
./about_asserts.rb:10:in `test_assert_truth'
path_to_enlightenment.rb:27

mountains are merely mountains

Все, кто заинтересовался, должны проследовать на официальный сайт rubykoans.com, где смогут найти все-все инструкции и собственно сам код задач.

Источник: rubyflow.ru

Make your own DSL... it's really easy!

Небольшая cтатья, о том как создать простенький DSL своими руками.

Источник: rubyflow.ru

Happy Whyday!

Сегодня еще один отличный день, чтобы сделать что-то хорошее и подарить это людям.

Если вы еще не знаете, что такое “Whyday”, то это день посвященный Why the Lucky Stiff и всему, что он сделал для Ruby-сообщества. Все подробности на оф. сайте — whyday.org

Источник: rubyflow.ru

Тощие демоны

Заголовок этого поста есть дословный перевод статьи “Skinny daemons”.

Здесь вы узнаете как очень быстро сделать мини-приложение на базе Sinatra, работающее под Thin. Но это еще не все. Ваше приложение можно запустить/останосить как настоящего демона. Вся эта “красота” упаковывается как gem и готово :) Очень интересно (уже хотя бы для общего развития).

И так, ссылки:

Источник: rubyflow.ru

RubyConfUA 2010 приглашает докладчиков

Рады пригласить желающих выступить на RubyConfUa. Основная программа мероприятия включает в себя две сессии для технических докладов длительностью 4 часа каждая.
Одна из технических сессий будет посвящена Rails3 В рамках этой сессии уже запланированы два доклада от Jose Valim и Piotr Sarnacki. Также в программу мероприятия входит бизнес-секция с демонстрацией проектов. Приглашаем компании рассказать здесь о своих стартапах или же просто интересных и сложных проектах. Более подробно на сайте http://rubylang.org.ua/

Источник: rubyflow.ru

Mongomatic

Это новая библиотека, позволяющая легко моделировать документы MongoDB в вашем приложении.

Установка:

[sudo] gem install mongomatic

Более подробное описание и примеры кода вы найдете на официальном сайте Mongomatic

Источник: rubyflow.ru

Вышел Ruby 1.9.1-p430

Этот релиз закрывает дыру в безопасности CVE-2010-0541 (XSS in WEBrick).

Всем, кто использует Ruby 1.9.1 рекомендуется обновиться до Ruby 1.9.1-p430. Подробнее..

Источник: rubyflow.ru

Трюки консоли Rails

Две отличные статьи о некоторых интересных командах консоли Rails.
Например, вы знали как вызвать предыдущую команду?

Вот как – с помощью “_”. Пример:

>> user.roles
=> [#<Role id: 1, name: "admin" etc, etc, etc...
>> _
=> [#<Role id: 1, name: "admin" etc, etc, etc...
>> (2 + 5 ) * (10 / 2)
=> 35
>> _
=> 35

А как сделать короче вызов User.find_by_name('john').to_yaml?

Вот так:


>> user = User.find_by_name('john') # user whatever model you want
=> #<User id: 876, name: "john", email: "john@raflabs.com", etc, etc, etc...
>> puts user.to_yaml
>> y user

Читайте о других возможностях в статьях My friend the Rails Console, Part 1 и My friend the Rails Console, Part 2

Источник: rubyflow.ru

Получение случайной записи из MongoDB с помощью Ruby

В SQL получение случайно записи возможно при помощи чего-то типа “ORDER BY RAND()”.

В MongoBD не все так просто, но Эрик Любов (Eric Lubow) придумал одно решение:

@@mongodb = Mongo::Connection.new("localhost", 27017).db("test_db}")
@collection = @@mongodb["collection_name"]

@rand = Kernel.rand()
@random_record = @collection.find_one({ 'random' => { '$gte' => @rand } })
if @random_record.nil?
@random_record = @collection.find_one({ 'random' => { '$lte' => @rand } })
end

Суть метода в том, что к коллекции добавляется специальный столбец (random), который хранит значение от 0 до 1.

После соединения с базой данных генерируется случайное число (от 0 до 1) и мы пытаемся получить документ со значением в поле random большим или равным этому числу. Если результат отрицательный, то берем документ со значением меньшим или равным случайному числу.

Больше деталей в статье Getting a Random Record From a MongoDB Collection

Источник: rubyflow.ru

Ruby возглавляет десятку языков репозиториев GitHub

В десятке языков среди всех репозиториев Ruby более чем в два раза обгоняет идущих за ним JavaScript и Perl.

Ruby также самый популярный язык среди пользователей GitHub.

Другая статистика в статье GitHub Stats on Programming Languages

Источник: rubyflow.ru

Мини-версия RCov своими руками

RCov — это “code coverage tool”. Обычно используется для определения отношения вашего кода к его тестам. Другими словами насколько тесты “покрывают” имеющийся код.

Аарон Паттерсон (Aaron Patterson) описывает пример создания подобного инструмента с помощью Ruby 1.9 и подставляющейся с ним библиотеки coverage. Подробнее в статье Writing a Code Coverage Tool with Ruby 1.9

Источник: rubyflow.ru

Вход для пользователей

Новые пользователи