июля 23, 2011 |
Published in
Ruby, Ruby Gems
Awesome Print — полезный gem авторства Махаэля (Михаила) Дворкина, который занимается тем, что предоставляет удобное представление объектов в консоли.
Для установки Awesome Print следует просто выполнить в консоли следущую команду:
$ gem install awesome_print
Awesome Print также доступен в виде Rails-плагина, в таком случае его установку следует выполнять как установку любого другого Rail-плагина:
$ ruby script/plugin install http://github.com/michaeldv/awesome_print.git
Read the rest of this entry »
марта 19, 2011 |
Published in
Ruby on Rails, Ruby on Rails 3
В прошлой главе мы занимались тем, что создавали себе рабочую среду и создали свое первое приложение на Rails 3. В этой главе RubyDev Rails 3 Tutorial вы еще ближе познакомитесь со структурой приложения Rails, с Git и Bundler, а также создадите свою первую модель и контроллер и узнаете о том, что такое BDD и RSpec.
Прежде чем начать, давайте разберемся с некоторой терминологией: фреймворк Rails построен на основе нескольких принципах, которые очень важно знать любому программисту!
CoC (Convention over Configuration — Соглашение прежде конфигурации) — согласно этому принципу Rails содержит набор соглашений касательно структуры проекта, именования файлов и директорий, а также классов, модулей и так далее. Благодаря этому приложение на Rails избавляется от лишней настройки приложения, чем гораздо ускоряет разработку. Этот принцип вовсе не значит, что приложение на Rails не настраиваемо, Rails как раз таки один из самых гибких фреймворков для веб разработки. Этот принцип означает лишь, то, что мы избегаем лишней конфигурации и приближаемся к стандартизации.
Read the rest of this entry »
февраля 8, 2011 |
Published in
Ruby, Расширения, Си и C++

Это вторая статья — перевод Василия Ермоловича из двух оригинальных статей авторства Аарона Петтерсона (tenderlove), которые Василий любезно решил пожертвовать в архив RubyDev.
Пишем расширение на Си для Ruby, ч. 1
Пишем расширение на Си для Ruby, ч. 2
Во второй части мы изменим наш extconf.rb для того, что бы он мог найти необходимые файлы в libstree. Затем создадим класс на Ruby, который будет оберткой над структурой реализованной на Си.
Готовое расширение можно скачать на github.
Использование mkmf для поиска библиотек
Как говорилось в предыдущей части, extconf.rb используется для поиска библиотек, заголовочных файлов и проверки сведений о целевой системе перед установкой. Сейчас мы научим extconf.rb находить библиотеку libstree вместе с ее заголовочными файлами. Также мы дадим пользователям возможность указывать gem’у, где находится libstree.
Настройка mkmf с помощью dir_config
Первое, что нам следует сделать, это указать mkmf, где следует изначально искать libstree. Для этого мы будем использовать метод dir_config, который принимает 3 аргумента:
* произвольная строка (обычно это имя библиотеки, в нашем случае «stree»)
* список путей, по которым надо искать заголовочные файлы
* список путей, по которым надо искать файлы библиотеки
Read the rest of this entry »
февраля 5, 2011 |
Published in
Ruby, Основы, Расширения, Си и C++
Пишем расширение на Си для Ruby, ч. 1
Пишем расширение на Си для Ruby, ч. 2
Вчера на почтовый ящик мне пришло письмо от читателя блога RubyDev Василия Ермоловича, к которому был приложен перевод понравившейся ему статьи авторства небезызвестного в Ruby сообществе Аарона Петтерсона (известного также под псевдонимом tenderlove). Большое спасибо Василию за приложенные усилия и за помощь!
А теперь собственно статья:
Мне нравится писать расширения для Ruby на C. В этом цикле статей мы разберемся, как это делать. Я раскрою такие темы, как создание рабочего окружения для написания расширения, TDD, отладку, взаимодействие со сборщиком мусора, кросс-компиляцию для windows и т.д.
К концу серии постов мы должны написать расширение, которое будет оберткой для libstree. libstree - это реализация суффиксного дерева на C.
В этой части мы подготовим все, что нам нужно для разработки, изучим шаблон обычного расширения на C и реализуем наш первый метод на C. Естественно, все это мы будем делать используя TDD и autotest.
Read the rest of this entry »
ноября 1, 2010 |
Published in
Ruby Gems
RubyTree — это библиотека позволяющая создавать и управлять древовидными структурами данных основанными на узлах, где каждый узел является одновременно и значением, и ключем, для доступа к вложенным узлам. Одной из важных особенностей / функций RubyTree является возможность импорта и экспорта в json формат.
Библиотека RubyTree будет интересна для тех, кто разрабатывает какие-либо научные приложения — каталоги, где необходима таксономия, либо приложения, что сейчас набирают популярность, для создания гениалогического дерева и т.д. Кстати, древовидная структура данных используется и во всеми нами любимой Википедии. Read the rest of this entry »
августа 24, 2010 |
Published in
Ruby, Ruby Gems
Home_run – реализация рубиновых Date / DateTime классов на языке Си, с улучшенной производительностью (ускорение в десятки раз), что полностью совместима со стандартной библиотекой Ruby.
Home_run возникла стараниями Джереми Эванса, известного также по разработке Sequel. Были проведены бенчмарки на двух различных моделях Rails, что показали прирост скорости работы моделей соответственно в 2 и 3 раза.
Read the rest of this entry »
июля 12, 2010 |
Published in
Ruby, Ruby Gems, Ruby on Rails
Как и обещал, еще одна статья об RVM.
Одной из самых мощных и полезных вещей в RVM являются наборы gem’ов — gemsets. Gemset представляет собой отдельную директорию для gem’ов, таким образом, что не возникает конфликта между одноименными gem’ами в разных gemset’ах. Gemset’ы, или наборы gem’ов, предоставляют на удивление полезную возможность использовать сразу несколько версий одного и того же расширения Ruby, например использовать несколько версий Rails. Так же с их помощью вы можете проверить как хорошо работает ваше приложение при различных конфигурациях gem’ов.
В предыдущей статье мы уже обсуждали установку и использование RVM, таким образом, вы наверняка уже установили несколько версий Ruby. В этой статье мы поговорим о том, как установить несколько версий Rails и как их использовать под различными реализациями и версиями Ruby. Read the rest of this entry »
июня 26, 2010 |
Published in
Ruby, Ruby Gems, Ruby on Rails, Основы
Я решил описать установку Ruby, RubyGems и Ruby on Rails отдельной статьей. Знаю, немножко запоздало, ведь блог ориентирован главным образом на новичков и следовало бы начать со статьи описывающей инсталляцию, но…
Установка Ruby
Прежде, чем вы сможете создать свое первое приложение на Rails, вам необходимо установить на свой компьютер Ruby, RubyGems и собственно Rails.
Read the rest of this entry »
мая 3, 2010 |
Published in
Ruby Gems
LESS — Ruby gem, позволяющий ускорить и сделать более удобным написание CSS-кода для дизайна ваших веб приложений. LESS даёт возможность изящно обойти различные неудобства работы на «чистом» CSS. Его разработчики находились под впечатлением от других подобных разработок и в большей мере от любимого многими SASS.
Зачем же понадобилось создавать LESS, если существует и чрезвычайно популярен SASS?
Все просто: дело в синтаксисе!
SASS действительно очень удобен, но у этого удобства есть и высокая цена — изучение нового синтаксиса и полная переработка вашего CSS кода в код на SASS. Read the rest of this entry »