Обновить
4K+

Ruby *

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

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

Строительные блоки Ruby

Время на прочтение13 мин
Охват и читатели19K
Хвастаясь классными особенностями Ruby перед непосвященными (или перед партнером по языковому спаррингу), возбужденный рубист часто хватается за «мощный синтаксис блоков» в Ruby. К сожалению, для питониста или джависта остаются непонятными возможности пресловутого «мощного блочного синтаксиса» из-за отсутствия соответствующих механизмов в их языках.

Начнем с того, что мы обычно указываем на Rake, RSpec или Sinatra в качестве примеров удивительного использования блочного синтаксиса:
Читать дальше →

Темная сторона Ruby, Proc и lambda

Время на прочтение3 мин
Охват и читатели43K
Многие любят руби за его красоту и гибкость. Но некоторые не догадываются о темной стороне языка Ruby. Сегодня расмотрим одну из темных лошадок руби, многие им пользуются, но не многие знают его секрет. Итак, тема дня блоки!
Читать дальше →

Ruby and Rails Barcamp 3 состоится в Киеве 20 марта

Время на прочтение1 мин
Охват и читатели751
Приглашаем Вас принять участие в третьем Ruby and Rails Barcamp, который состоится в Киеве 20 марта.

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

Bundler — менеджер для управления gem'ами

Время на прочтение5 мин
Охват и читатели82K

Что такое Bundler?


Это менеджер для управления зависимостями gem'ов в ruby приложениях. Эта утилита позволяет легко устанавливать необходимые gem'ы для вашего приложения, при этом вовсе не зависеть от установленных в системе. Если вы использовали Rails для своих разработок, то вы вспомните, как задавали зависимости gem'ов c помощью config.gem в enviroment.rb, Bundler решает эту задачу намного удобнее и проще. Его включили в Rails 3.0 по умолчанию и теперь, именно он используется для управления зависимостями gem’ов в данной версии фреймворка. Эту утилиту можно использовать для любого ruby фреймворка.
Читать дальше →

Особенности компиляции в MacRuby

Время на прочтение3 мин
Охват и читатели1.5K

Предисловие


Давеча слушал я Ruby NoName Podcast (кстати, весьма всем рекомендую), в котором услышал новость, что MacRuby 0.5 вышел из стадии бета-версии. Также господа ведущие сообщили, что в состав пакета MacRuby входит великолепный компилятор Ruby — MacRubyC, который теперь умеет компилировать в динамические библиотеки. Я, естественно, заинтересовался и решил поэкспериментировать.

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

12.02 — Ruby-встреча в Петербуре — хостинг

Время на прочтение1 мин
Охват и читатели861
image

Когда: 18:30, пятница, 12 февраля 2010.
Где: м. Политехническая, учебный центр Авалон (ФПО СПбГПУ, ул. Обручевых, д. 1), аудитория 107.

Тема встречи — настройка сервера для приложений на Rails/Ruby. Прямо на встрече мы настроим VDS*, для последующего размещения сайта сообщества (который разумеется будет написан на Ruby).

Я уверен многим разработчикам приходится (и это полезно) иногда надевать шляпу системного администратора чтобы поднять сервер для своего проекта. Вероятно многие имеют представление о том, как это сделать, но есть какие-то белые пятна, желание лучше разобраться или узнать про альтернативные способы. Поэтому мы хотим собраться и попробовать настроить реальный production сервер. Максим Филатов будет рулить процессом и покажет один из способов настройки.

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

* — любезно предоставленный locum.ru.

Заполнение БД тестовыми данными при помощи Populator и Faker

Время на прочтение1 мин
Охват и читатели7.2K
Часто возникает необходимость протестировать приложение на предмет работы с реальными данными. Причём, данные должны быть максимально приближены к реальным как с качественной стороны, так и с количественной. Работу по наполнению базы такими данными значительно упрощают гемы Populator и Faker.
Читать дальше →

Shoulda TextMate bundle

Время на прочтение1 мин
Охват и читатели774
Shoulda TextMate bundle — проект который будет интересен всем кто работает с TextMate и пишет тесты при помощи Shoulda.

Исходный код выложен на Github поэтому все желающие могут присоединиться к работе над проектом http://github.com/shaliko/shoulda-tmbundle

Coffeescript — Javascript в силе Ruby

Время на прочтение2 мин
Охват и читатели22K
CoffeeScript — язык, чтобы писать на JavaScript с более удобным синтаксисом.

Краткий пример на CoffeeScript (с jQuery):
jQuery($ =>
 notified: false
 $('a').click( =>
  if notified
   true
  else
   $('.alert').show()
   false..
 ).
)

Этот код будет транслирован в:
jQuery(function($) {
  var notified = false;
  $('a').click(function() {
    if (notified) {
      return true;
    } else {
      $('.alert').show()
      return false;
    }
  })
})

Но обо всём по порядку

Визуальный сахар для ActiveRecord

Время на прочтение4 мин
Охват и читатели1.3K
Каждый, кто разрабатывал приложение на RoR знает, что в консоли (./script/console) не слишком удобно просматривать ActiveRecord объекты, они имеют мягко говоря не читабельный вид

Например в моем последнем проекте есть модель Schema
Читать дальше →

Вышел черновик спецификации Ruby

Время на прочтение1 мин
Охват и читатели824
Дорогие друзья

Язык Ruby своими превосходными качествами привлекает огромное количество программистов, особенно web-разработчиков. Однако спецификация Ruby до сих пор не стандартизирована. Information-technology Promotion Agency, Япония (IPA) собрало рабочую группу стандартизации языка «Ruby Standardization Working Group» в октябре 2008 года, для разработки спецификации. С тех пор рабочая группа выработала черновик спецификации.

Так как первый черновик закончен, мы обращаемся к пользователям и разработчикам Ruby-сообществ за дополнениями и комментариями.

Собирая и просматривая комментарии от Вас, мы хотим доработать черновик спецификации. Дополненный документ мы направим в японский комитет отраслевых стандартов Japanese Industrial Standards Committee (JISC) для того чтобы он приобрел статус японского стандарта (JIS).
После публикации его как JIS, мы предложим его на рассмотрение в Международную организацию стандартизации (ISO/IEC JTC1) для создания международного стандарта.

Мы с нетерпением ждем большого количества комментариев и активных дискуссий вокруг документа

Пожалуйста, направляйте комментарии до 12 января 2010. Мы постараемся отобразить их в спецификации насколько это возможно, прежде чем начать процесс утверждения стандарта.

Ikuo NAKATA
Глава рабочей группы стандартизации Ruby
IPA

Здесь можно прочесть спецификацию и оставить свои комментарии

Автозавершение для Rake

Время на прочтение1 мин
Охват и читатели1.7K


Автозавершение в bash’е по Tab’у — это невероятно удобная вещь. И оно точно нужно для rake, которым каждый программист на Ruby пользуется часто.

Особо ленивые программисты уже давно прописали самодельные скрипты в своих .bashrc. Но настоящий дзен-программист не должен любить велосипеды и чтит репозитории и пакеты. Поэтому я собрал скрипт в пакет и выложил в Ubuntu on Rails PPA.

Установка


Ubuntu
  1. Добавляем Ubuntu on Rails PPA:
    $ sudo add-apt-repository ppa:ubuntu-on-rails/ppa
  2. Устанавливаем пакет rake-completion:
    $ sudo apt-get install rake-completion
Другие UNIX
  1. Клонируем репозиторий:
    $ git clone git://github.com/ai/rake-completion.git
  2. Копируем скрипт в системную папку:
    $ sudo cp rake-completion/rake /etc/bash_completion.d/.
Читать дальше →

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

Ruby-встреча в Петербурге: Инструменты разработки

Время на прочтение1 мин
Охват и читатели716
Очередная встреча ruby-программистов состоится в 20-го ноября
(пятница) в 18:30 в здании учебного центра «Авалон» (он же ФПО СПбГПУ)
по адресу ул. Обручевых, д. 1, аудитория 102, первый этаж,
направо, первая дверь с правой стороны.

В этот раз тема — инструменты разработки.

  • Антон Асташов, автор Vim Ruby Debugger, удаленно из ночного
    Красноярска представит свое детище, а так же расскажет почему и как он
    использует Vim.
  • Федор Кочерга продемонстрирует Emacs, а так же свою версию его
    логотипа.
  • Андрей Ситник расскажет как из Gedit сделать монстра, всего лишь
    установив пакет дополнений Gmate, в разработке которого он участвует.
  • Илья Заяц покажет, чем хорош Textmate для Ruby-разработки


Приходите — устроим аналоговый holy war, а так же пожалуйста,
ggVG"+y"+gP это объявление.

Тинейджер улучшил производительность Ruby

Время на прочтение1 мин
Охват и читатели851
Интересный случай произошел в Японии. Молодой подросток, который участвовал летом в сборе «Security and Programming Camp 2009», под руководством учителя занимался улучшением производительности Ruby 1.9. Достигнутые им успехи можно назвать отличными, а если принять во внимание возраст, то удивительными. Подросток смог ускорить выполнение некоторых методов Ruby 1.9 (которая, напомню, славится своей производительностью относительно версии 1.8) в среднем на 8%. При этом максимальное ускорение составило даже 63%.

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

via yokolet.blogspot.com/2009/11/japanese-teenage-boy-improved-ruby-19.html

BDD/TDD — Учимся писать матчеры

Время на прочтение3 мин
Охват и читатели4.3K
Разработка, основанная на специфицировании поведения (BDD), — один из краеугольных камней философии Ruby.

Очень удачной реализацией BDD является всем знакомый RSpec. Одной из замечательных черт RSpec является его расширяемость.

Так, мы используем RSpec совместно с Factory Girl (хотя стоило бы перейти на Machinist), RR (прекрасный каркас для заглушек), Spork и недавно перешли с Shoulda на Remarkable.

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

Хорошим способом сделать это является создание нового «ожидателя» (matcher).

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

RubyFlow.ru перешагнул рубеж в 500 читателей

Время на прочтение1 мин
Охват и читатели589
Хочу поделится приятной для нас новостью о том, что проект RubyFlow.ru сегодня перешел рубеж в 500 читателей через RSS. А по случайному совпадению сегодня здесь также была опубликована семисотая статья.

Практически каждый день на RubyFlow.ru публикуются статьи о событиях связанных с Ruby. И любой может стать их автором.

Все материалы доступны как просто на сайте, так и через RSS, а также в твиттер-канале @rubyflowru.

Спасибо всем авторами статей и их читателям! :)

Руби-встреча в Петербург: noSQL

Время на прочтение1 мин
Охват и читатели980
Когда: 15 октября (четверг) 2009 в 18:30.
Где: Учебный центр «Авалон».

Тема этой встречи — noSQL, не реляционные базы данных. Будет два доклада:
Алексей Газиев за еду расскажет про MongoDB.
Роман Снитко — про TokyoCabinet.

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

Также мы можем выделить немного времени для различного рода
объявлений. Например, если в Питере есть работодатели, которые ищут
Ruby-программистов, то мы с удовольствием предоставим им время
рассказать о своих вакансиях. Либо если есть какие-то проекты, которым
нужна помощь. Просто предупредите заранее и приходите на встречу.

Ruby-новая встреча в Петербурге

Время на прочтение1 мин
Охват и читатели578
Мы предлагаем возобновить ruby-встречи, проводимые в Петербурге.
Приглашаются абсолютно все желающие.

Место:

Встреча состоится 15 сентября (вторник) в 18.30 в здании учебного
центра «Авалон» (он же ФПО СПбГПУ) по адресу ул. Обручевых, д. 1, аудитория 102, первый этаж,
направо, первая дверь с правой стороны.
Читать дальше →