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

Ruby *

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

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

Ruby on Rails и Яндекс.Фотки API: показываем последние фотографии на домашней странице

Время на прочтение2 мин
Количество просмотров1.8K
image
Уже пару лет пользуюсь сервисом Яндекс.Фотки для хранения всех своих фотографий, а недавно возникло желание на своей домашней страничке выводить последние n фотографий, загруженных на Яндекс.Фотки, тем самым убив сразу несколько зайцев:
  • домашняя страничка не требует администрирования;
  • не требуется хранение и управление изображениями;
  • не требуется заниматься ресайзингом изображений для превью и т.д.


Сказано — сделано. Оказалось, что Фотки предоставляют достаточно удобный API по протоколу AtomPub. Т.к. страничку планировал делать на платформе Ruby on Rails, после непродолжительных поисков нашел неплохую библиотеку для работы feedzirra. Устанавливалась библиотека совершенно стандартным образом:
  1. gem sources -a gems.github.com
  2. gem install pauldix-feedzirra

и далее в ruby достаточно прописать ее использование:
  1. require 'feedzirra'

Пришло время изучить предоставляемый API
Читать дальше →
Всего голосов 16: ↑10 и ↓6+4
Комментарии6

Добрый вечер уважаемые читатели, подписчики и авторы блога Ruby

Время на прочтение1 мин
Количество просмотров575
Некоторое время назад мне стало стыдно, что я в своё время создал блог Ruby на этом сайте и совершенно забросил его, уйдя с сайта после слива кармы.

Решил вернуться и исправить положение :)

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

Собственно в комментариях я хотел бы услышать любые предложения по улучшению блога.

Так же хочу назначить пару людей модераторами, для этого в одном комментарии напишите ссылки на ваши статьи для этого блога я их прочту и если мне понравиться вы прикоснетесь к истории :)

С уважением и готовностью ответить на любые вопросы ;)
Всего голосов 6: ↑3 и ↓30
Комментарии10

Spree 0.10.0 release

Время на прочтение1 мин
Количество просмотров1.3K
Intro: Spree — довольно мощный и гибкий движок для создания интернет-магазинов, написанный на Ruby on Rails, распространяющийся под лицензией New BSD.

Спустя почти полгода после релиза 0.9.0 вышла очередная версия Spree — 0.10.0, эта версия вобрала в себя множество замечательных, новых возможностей:
  • Поддержка тем оформления
  • Расширяемый механизм поиска (с помощью расширений поддерживается поиск через Xapian, Sphinx и Solr)
  • Настраиваемый процесс оформления заказа (можно убирать или добавлять шаги)
  • Группы товаров на основе разнообразных критериев
  • Улучшена поддержка конфигурации платёжных систем
  • Возможность выбора(для пользователя) из нескольких способов оплаты
  • RESTful API
  • Несколько SEO улучшений
  • Поддержка Rails 2.3.5 и Ruby 1.9

Также была существенно улучшена поддержка интернационализации в целом и русского языка в частности.

Полный список примечаний к релизу

UPD: перенесено в блог «Ruby»
Всего голосов 12: ↑9 и ↓3+6
Комментарии19

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

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

Начнем с того, что мы обычно указываем на Rake, RSpec или Sinatra в качестве примеров удивительного использования блочного синтаксиса:
Читать дальше →
Всего голосов 60: ↑53 и ↓7+46
Комментарии46

Истории

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

Время на прочтение3 мин
Количество просмотров42K
Многие любят руби за его красоту и гибкость. Но некоторые не догадываются о темной стороне языка Ruby. Сегодня расмотрим одну из темных лошадок руби, многие им пользуются, но не многие знают его секрет. Итак, тема дня блоки!
Читать дальше →
Всего голосов 1: ↑1 и ↓0+1
Комментарии13

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

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

Чтобы улучшить качество программы было решено ввести процедуру голосования за доклады.
Теперь чтобы стать докладчиком баркемпа необходимо заполнить небольшую анкету до 28 февраля.
Затем список заявок будет выставлен на открытое голосование, и в программу баркемпа войдут те доклады, которые будут иметь большее количество голосов.
Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии11

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

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

Что такое Bundler?


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

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

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

Предисловие


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

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

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

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

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

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

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

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

* — любезно предоставленный locum.ru.
Всего голосов 34: ↑30 и ↓4+26
Комментарии8

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

Время на прочтение1 мин
Количество просмотров6.4K
Часто возникает необходимость протестировать приложение на предмет работы с реальными данными. Причём, данные должны быть максимально приближены к реальным как с качественной стороны, так и с количественной. Работу по наполнению базы такими данными значительно упрощают гемы Populator и Faker.
Читать дальше →
Всего голосов 54: ↑49 и ↓5+44
Комментарии22

Shoulda TextMate bundle

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

Исходный код выложен на Github поэтому все желающие могут присоединиться к работе над проектом http://github.com/shaliko/shoulda-tmbundle
Всего голосов 6: ↑5 и ↓1+4
Комментарии0

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;
    }
  })
})

Но обо всём по порядку
Всего голосов 54: ↑30 и ↓24+6
Комментарии120

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

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

Например в моем последнем проекте есть модель Schema
Читать дальше →
Всего голосов 40: ↑32 и ↓8+24
Комментарии33

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

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

Время на прочтение1 мин
Количество просмотров737
Дорогие друзья

Язык 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

Здесь можно прочесть спецификацию и оставить свои комментарии
Всего голосов 34: ↑28 и ↓6+22
Комментарии9

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

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


Автозавершение в 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/.
Читать дальше →
Всего голосов 33: ↑28 и ↓5+23
Комментарии24

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

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

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

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


Приходите — устроим аналоговый holy war, а так же пожалуйста,
ggVG"+y"+gP это объявление.
Всего голосов 10: ↑9 и ↓1+8
Комментарии1

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

Время на прочтение1 мин
Количество просмотров793
Интересный случай произошел в Японии. Молодой подросток, который участвовал летом в сборе «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
Всего голосов 60: ↑54 и ↓6+48
Комментарии32

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

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

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

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

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

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

Читать дальше
Всего голосов 22: ↑18 и ↓4+14
Комментарии15

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

Работа

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