home_run: Рубиновые классы Date и DateTime стали в десятки раз быстрее!

августа 24, 2010  |  Published in Ruby, Ruby Gems

clock, ruby's date/datetimeHome_run – реализация рубиновых Date / DateTime классов на языке Си, с улучшенной производительностью (ускорение в десятки раз), что полностью совместима со стандартной библиотекой Ruby.
Home_run возникла стараниями Джереми Эванса, известного также по разработке Sequel. Были проведены бенчмарки на двух различных моделях Rails, что показали прирост скорости работы моделей соответственно в 2 и 3 раза.

Read the rest of this entry »

Tags: , ,

Модули и Примеси в Ruby

августа 9, 2010  |  Published in Ruby, Основы  |  2 Comments

ruby modulesМодули являются отличным решением для группирования методов, классов и констант вместе.
Использую модули можно извлечь две значительные выгоды:

-Модули обеспечивают пространства имен и, следовательно, предотвращают возникающие с именованием методов, классов и констант ошибки.

-Модули реализуют примеси (mixins) – элегантное решение заменяющее множественное наследование.

Модули определяют пространства имен, песочницу в которой ваши методы и константы могут работать без возникновения проблем с другими методами и константами, которые имеют такие же имена.

Так выглядит модуль:

module Identifier
statement1
statement2
………..
end

Read the rest of this entry »

Tags: ,

Неглубокое погружение в особенности CSS3

июля 24, 2010  |  Published in CSS и верстка

Выход стандарта CSS3 и его поддержка большинством современных браузеров – достаточно приятное событие. CSS3 позволяет дизайнерам сайтов и верстальщикам решать типичные задачи наиболее простыми способами – собственными возможностями CSS3 без прибегания к другим технологиям. Давайте познакомимся с этими интересными возможностями нового стандарта. Read the rest of this entry »

Tags:

Ruby Version Manager: приручаем gemset или Установка нескольких версий Rails

июля 12, 2010  |  Published in Ruby, Ruby Gems, Ruby on Rails

Как и обещал, еще одна статья об RVM.

rvm's gemset is gold!Одной из самых мощных и полезных вещей в RVM являются наборы gem’ов – gemsets. Gemset представляет собой отдельную директорию для gem’ов, таким образом, что не возникает конфликта между одноименными gem’ами в разных gemset’ах. Gemset’ы, или наборы gem’ов, предоставляют на удивление полезную возможность использовать сразу несколько версий одного и того же расширения Ruby, например использовать несколько версий Rails. Так же с их помощью вы можете проверить как хорошо работает ваше приложение при различных конфигурациях gem’ов.

В предыдущей статье мы уже обсуждали установку и использование RVM, таким образом, вы наверняка уже установили несколько версий Ruby. В этой статье мы поговорим о том, как установить несколько версий Rails и как их использовать под различными реализациями и версиями Ruby. Read the rest of this entry »

Tags: , , , ,

Ruby Version Manager: Использование нескольких версий Ruby на одном компьютере.

июля 7, 2010  |  Published in Ruby  |  2 Comments

ruby versioon managerRuby очень быстро развивающийся язык программирования, что несомненно очень прекрасно, но имеется один недостаток, при очередном обновлении Ruby до новой версии, ваши старые приложения могут не заработать. Что же делать? Есть два выхода из ситуации, первый – это переписывание приложения с учетом особенностей новой версии интерпретатора, а затем тестирование, исправление ошибок и т.д. Разумеется, данный способ очень плох. Второй способ решения данной проблемы является совершенным решением, он заключается в установке нескольких версий Ruby на вашу машину.

Для установки нескольких версий или реализаций Ruby на один компьютер следует использовать такой замечательный консольный инструмент как RVM – Ruby Version Manager (Менеджер версий Ruby), который позволяет не просто установить несколько версий интерпретатора или несколько различных реализаций, но и создавать сколько-угодно окружений для разработки и проверки совместимости вашего приложения с различными версиями и реализациями Ruby, Ruby on Rails или другими Gem’ами. Read the rest of this entry »

Tags: , , ,

Устанавливаем Ruby 1.8.7 и Ruby on Rails

июня 26, 2010  |  Published in Ruby, Ruby Gems, Ruby on Rails, Основы  |  4 Comments

railsЯ решил описать установку Ruby, RubyGems и Ruby on Rails отдельной статьей. Знаю, немножко запоздало, ведь блог ориентирован главным образом на новичков и следовало бы начать со статьи описывающей инсталляцию, но…

Установка Ruby

Прежде, чем вы сможете создать свое первое приложение на Rails, вам необходимо установить на свой компьютер Ruby, RubyGems и собственно Rails.
Read the rest of this entry »

Tags: , ,

Начинаем знакомится с Ruby on Rails

июня 26, 2010  |  Published in Ruby on Rails  |  2 Comments

ruby on rails

Данная статья является частью Учебника Rails и вместе с тем первой частью перевода первой статьи из оффициальной документации (гайда  Rails) по Rails3 с сайта RailsGuides – статьи Getting Started withRails.

Некоторое время я не мог писать статьи в блог и причиной тому была сессия, которая на данный момент считается успешно сданной. Теперь-то я постараюсь писать почаще и переводить самые актуальные и интересные статьи, а еще я начинаю новую рубрику посвященную разработке веб приложений на замечательном веб фреймворке Ruby on Rails. Начнем с ознакомительной статьи.

Ruby on Rails – поистине один из самых мощных фреймворков для разработки веб приложений. Факт превосходства над любым другим фреймворком в плане скорости разработки не оспорим, с этим соглашаются даже заядлые враги Рубистов – Пайтониты =)

Ценой такого могущества и упрощения/ускорения разработки является производительность. Дело в том, что сайты, созданные на Rails уступают в скорости работы сайтам на других менее развитых Ruby-фреймворках, не говоря уже о Python и PHP – фреймворках. Что ж, язык Ruby сам по себе ориентирован не на высокую производительность в плане скорости работы, а на высокую производительность в плане написания кода. Read the rest of this entry »

Tags: ,

to_hex, to_binary, to_… или преобразование систем счисления

мая 26, 2010  |  Published in Ruby, Основы  |  2 Comments

В очередной раз поражаюсь тому, на сколько Ruby интересный и изящно спроектированный язык. Например, вы  знали, что стандартными методами преобразования типов данных to_i и to_s можно преобразовывать систему счисления. Для того, чтобы было понятней приведу примеры:

puts 2.to_s(2) #=> 10
puts 11.to_s(2) #=> 1011
puts 'aa'.to_i(16) #=> 170
puts 'fe'.to_i(16) #=> 254
a = 0xff+0xee #=> 493
b= a.to_s(16) #=> 1ed
puts b
puts b.to_i(16) #=> 493
class Fixnum
	def to_hex
		"0x" << self.to_s(16)
	end
	def to_binary
		"0b" << self.to_s(2)
	end
end

puts 16.to_hex #=> 0x10
puts (16+16).to_hex #=> 0x20
puts 3.to_binary #=> 0b11 

Вы можете сами придумать любую систему счисления (пятнядцетиричную, троичную и т.д.) и написать метод для преобразования чисел по аналогии с to_hex и to_binary.

Tags: ,

Методы модуля Enumerable.

мая 24, 2010  |  Published in Ruby, Основы

ruby module enumerable Модуль Enumerable в Ruby представляет собой хранилище методов для работы с исчисляемыми типами данных: массивами, хэшами и диапазонами и включается в определение всех этих классов. Enumerable содержит огромное количество методов для работы с исчисляемыми типами и решения различных задач, в случае, если вам понадобится объявить свой метод, который будет доступен для всех исчисляемых типов, вы можете сделать это в определении модуля Enumerable:

module Enumerable
def my_method
...
end
end

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

В следующих примерах мы будем использовать следующий массив, который содержит названия различных транспортных средств:

vehicles = %w[ car truck boat plane helicopter bike ]

Read the rest of this entry »

Tags: ,

Богатство Ruby на циклы и итераторы

мая 6, 2010  |  Published in Ruby, Основы  |  4 Comments

loopRuby очень богат на циклы, итераторы и другие синтаксические конструкции. Очень часто изучающие Ruby тратят много времени на изучение всех этих конструкций. Этому способствует даже не так разнообразие и богатство языка Ruby, как то, что в книгах и сайтах посвященных азам программирования на языке Ruby мало внимания уделяется освещению всех способов создания циклов и итераторов как не самых интересных для изучающего частей языка.

В этой статье я познакомлю вас со всеми знакомыми мне циклами и некоторыми часто используемыми итераторами и приведу простые примеры их использования. Read the rest of this entry »

Tags: ,