28 Jul, 2010

Mailman

Джонатан Руденберг (Jonathan Rudenberg) создал Mailman. Это микрофреймворк для обработки входящей почты. Поддерживается протоколы POP3 и Maildir, также работа с Rails.

Пример приложения, которое берет сообщения, поступившие на адрес поддержки (support@example.com) и добавляет в базу данных тикеты с текстами из этих писем.

# mailman_app.rb
require 'mailman'

Mailman.config.maildir = '~/Maildir'

Mailman::Application.new do
  to 'support@example.org' do
    Ticket.new_from_message(message)
  end
end

Подробности и примеры в репозитории Mailman на GitHub

— AlexSoulim (@ 06:33),   (0) /   (0)

Rails 3 + Ruby 1.9 и кодировки

Павел Чипига (@chipiga) в своем блоге делится опытом работы с кодировками при работе Rails 3 под Ruby 1.9.

Для все, кто столкнулся с “кодировочной проблемой” статья Rails 3 + Ruby 1.9 = борьба с кодировками

— AlexSoulim (@ 06:04),   (0) /   (0)

27 Jul, 2010

Релиз кандидат Rails 3

Вышел релиз кандидат Rails 3. Мы плавно приближаемся к релизу :)

Установка как и раньше:

gem install rails --pre

Как сообщается в пресс-релизе, значительно выросла производительность (исключая пока Arel, но работы тут ведутся). Кроме того, добавилась поддержка gem-библиотеки MySQL2, вернулись обратно shallow routes и другие фиксы.

Подробнее в официальном пресс-релизе Rails 3.0: Release candidate!

— AlexSoulim (@ 14:06),   (2) /   (0)

26 Jul, 2010

Лучшие практики для Rails

Новый ресурс Rails Best Practices дает возможность каждому поделится своим опытом практического решения некоторый вопросов, возникающих при работе с Rails (например, проблема “N+1 запросов”, "что лучше перенести в модель?, “какой код перенести в хелпер?”).

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

Для каждой публикации можно оставлять комментарии, чтобы в “споре рождалась истина” :)

Ссылки:

— AlexSoulim (@ 06:47),   (2) /   (1)

23 Jul, 2010

Refinery CMS. Открытый код. Специально для малого бизнеса

RailsInside опубликовал статью о Refinery CMS. Здесь рассказывается об истории системы (сначала она была закрытым проектом Resolve Digital).

Основные возможности:

  • поддердка тем оформления
  • поддержка плагинов (по архитектуре сходная с плагинами для Rails)
  • WYSIWYG редактор для контента
  • локализация (сейчас 10 языков)
  • управление страницами
  • управление файлами и изображениями
  • возможность добавления формы обратной связи и работа с запросами, поступившими через нее
  • оптимизация для поисковых систем

И все это управляется через простой и понятный UI.

Установка:

gem install refinerycms
refinerycms path/to/project

Запуск:

cd path/to/project
ruby ./script/server

Для заинтересовавшихся ссылки:

— AlexSoulim (@ 13:58),   (1) /   (1)

22 Jul, 2010

Тестирование рецептов Capistrano

Если вы используете RSpec для тестирования и заинтересованы в тестировании ваших рецептов для Capistrano, советую обратить внимание на capistrano-spec. Это набор хелперов и матчеров.

Установка [sudo] gem install capistrano-spec. Подробные примеры использования в readme проекта capistrano-spec на GitHub

— AlexSoulim (@ 09:03),   (0) /   (0)

19 Jul, 2010

Tolk + Google Translate

Tolk — это rails engine для организации совместной работы над локализацией приложения. Его разработал DHH.

Саймон Токумайн (Simon Tokumine) добавил в Tolk возможность получения переводов с помощью Google Translate.

Ссылки:

— AlexSoulim (@ 07:33),   (0) /   (0)

16 Jul, 2010

Juicer - сервис для обработки изображений

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

Juicer разработан специально для работы с Ruby/Rails проектами (для остальных есть REST API).

Среди тарифных планов есть и бесплатный.

Заинтересованных лиц просят пройти по адресу www.uploadjuicer.com

— AlexSoulim (@ 10:24),   (0) /   (0)

Новая версия Vlad the Deployer

Vlad — инструмент для автоматизации процесса деплоймента приложений. Как заявляет автор, Vlad намного проще Capistrano.

Установка:

[sudo] gem install vlad

Подробности, примеры и документацию можно найти на официальной странице Vlad the Deployer

— AlexSoulim (@ 08:26),   (0) /   (0)

14 Jul, 2010

Более подробно о методе inherited

Статья рассказывает о том, как метод inherited поможет вам при создании своего фреймворка.

— anon100 (@ 14:56),   (0) /   (0)

08 Jul, 2010

Новые методы у Array и Enumerable в Ruby 1.9.2

Array пополнился методами:

  • Array#keep_if
  • Array#repeated_combination
  • Array#repeated_permutation
  • Array#rotate
  • Array#rotate!
  • Array#select!
  • Array#sort_by!

Enumerable теперь имеет:

  • Enumerable#chunk
  • Enumerable#collect_concat
  • Enumerable#each_entry
  • Enumerable#flat_map
  • Enumerable#slice_before

Jan Lelis в своем блоге опубликовал статью, в которой подробно рассматривает все эти новые методы. Подробнее о новых методах у Array и Enumerable

— AlexSoulim (@ 12:15),   (0) /   (0)

FakeResque

Для тех кто использует очередь Resque может быть интересной библиотека FakeResque. Она позволяет заменить асинхронные вызовы Resque на синхронные. Это может понадобиться в development или test режимах.

Ссылки:

— AlexSoulim (@ 11:59),   (0) /   (0)

Ruby Tracker

Новый сервис от EnvyLabs, который может отлеживать зависимости вашего Rails-приложение от других библиотек и сообщать вам о выпуске их обновлений или новых версий.

Но есть два важный момента: сервис работает только с проектами, имеющими публичные git-репозитории и использующими Bundler. Если вас это не останавливает, то получить аккаунт на Ruby Tracker и посмотреть отличный скринкаст о сервисе можно по адресу rubytracker.com

— AlexSoulim (@ 11:49),   (0) /   (0)

05 Jul, 2010

[перевод] Как получить работу Rails-разработчика не имея опыта

перевод статьи How To Land a Rails Job with No Experience 18 месяцев назад я получил отличную работу Rails-разработчика, не имея опыта в ruby. Ниже представлены три трюка, которые помогут сделать вам тоже самое.

— rbdev (@ 19:46),   (0) /   (0)

Изучаем ядро ruby - классы и объекты

Цикл статей, рассказывающий нам о внутреннем устройстве интерпретатора ruby. Первая часть посвящена структурам класса и объекта. После прочтения данной статьи станут понятны многие метапрограммные особенности руби.

Вы сможете изнутри понять, почему класс – тоже объект и как на самом деле происходит поиск методов.

— rbdev (@ 10:04),   (0) /   (2)

02 Jul, 2010

Ruby 1.9.2 RC

Вышел релиз-кандидат Ruby 1.9.2.

Было исправлено около 130 багов. Версия 1.9.2 в большинстве случаев совместима с 1.9.1. Подробнее обо всех новых фичах и изменениях в Ruby 1.9.2 RC.

P.S. А также вышел Ruby 1.9.1-p429, исправляющий много ошибок, включая баг с ошибкой безопасности. Рекомендуется обновится до этой версии или до Ruby 1.9.2 RC.

— AlexSoulim (@ 17:37),   (0) /   (0)

Заменим Cron на Clockwork

Адам Виггинс (Adam Wiggins) описывает интересное решение для выполнения задач (методов) приложения, которые должны исполняться периодически.

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

В результате получился проект Clockwork.

every 1.hour, 'apis.poll'
every 1.day,  'reports.email', :at => '00:00'

Задача будет передана в очередь. Да, очередь задач здесь обязательна, поскольку Clockwork никогда не выполняет задачи самостоятельно.

Clockwork может работать с любой очередью. Вот пример для Beantstalk+Stalker:

require 'stalker'
handler { |job| Stalker.enqueue(job) }

every 1.hour, 'apis.poll'
every 1.day,  'reports.email', :at => '00:00'

Ссылки и подробности:

— AlexSoulim (@ 09:01),   (3) /   (0)

29 Jun, 2010

toto: супер-мега минималистичный движок для блога

Для работы с toto требует Git и Rack, а для шаблонов использует Erb.

Скелет блога создается за секунды:

$ git clone git://github.com/cloudhead/dorothy.git myblog
$ cd myblog
$ heroku create myblog
$ git push heroku master

База данных не требуется, поскольку toto хранит все статьи в текстовых файлах.

$ git add articles/wizard-of-oz.txt
$ git commit -m 'wrote the wizard of oz.'
$ git push remote master

Интересно? Подробности на сайте разработка toto, а исходный код на GitHub – github.com/cloudhead/toto

— AlexSoulim (@ 16:45),   (2) /   (0)

Новый номер Rails Magazine

В новом номере Rails Magazine вы сможете прочитать:

  • о использовании Haml и Sass,
  • вечная тема “Scaling Rails”,
  • деплой с помощью Capistrano,
  • RVM – The Ruby Version Manager,
  • Fake Data – секрет отличных тестов,

а также другие отличные статьи и интервью. Как обычно, номер доступен бесплатно в PDF.

Ссылки:

— AlexSoulim (@ 15:41),   (0) /   (0)

28 Jun, 2010

Ext.js и Rails

Netzke — это фреймвор с открытым кодом, который позволяет удобно создавать rails-приложения, использую Ext.js для создания “богатого интерфейса”.

На официальном сайте (netzke.org) вы найдете пример реализации полнофункционального приложения всего за 7 минут, а также большое количество документации.

Если перед вами стоит задача создания приложения с интерфейсом на базе Ext.js, то обязательно посмотрите на Netzke. Это сэкономит вам массу времени и сил.

— AlexSoulim (@ 06:09),   (0) /   (0)

RubyFlow.ru on Twitter

Twitter

Следуйте за нами — читайте ruby-новости на twitter.com

Работа для ruby-разработчиков

Последние комментарии

Отличная новость

— Релиз кандидат Rails 3

Мне казалось, что “практики” в данном контексте как-то не по-русски звучит. Но статью переименовал :)

— Лучшие практики для Rails

мне казалось, что перевод названия этого гема (а теперь и сайта) давно уж нарицательное “лучшие практики”. ресурс великолепный, гем удобный в использовании – одни позитивные эмоции

— Лучшие практики для Rails

Также много интересных подробностей в README системы на GitHub.

— Refinery CMS. Открытый код. Специально для малого бизнеса

О)

— Thin 1.0

Все-таки связка whenever + Cron как-то понадежней выглядит.

— Заменим Cron на Clockwork

Что это за проект?

На этом сайте публикуются новости о Ruby и всем, что с ним связано. Все материалы отбираются сообществом разработчиков.

Как он работает?

Читайте материалы, комментируйте или добавляйте свои новости. Вам не нужно быть для этого зарегистрированным пользователем!

Совет: Если вы не авторизованы, то все ваши материалы и ссылки будут отмечены признаком “nofollow”, чтобы предотвратить спам. Вы также будете всегда видеть CAPTCHA-картинку!

Кто?

RubyFlow создал Peter Cooper из Ruby Inside, но, в конечном счете, это сайт сообщества разработчиков.

RubyFlow на других языках

© Alex Soulim, 2008—2010

Полное или частичное использование материалов возможно только с письменного разрешения.