Ruby on Rails
16 Августа 2010 09:04
Этот релиз закрывает дыру в безопасности CVE-2010-0541 (XSS in WEBrick).
Всем, кто использует Ruby 1.9.1 рекомендуется обновиться до Ruby 1.9.1-p430. Подробнее..
http://feedproxy.google.com/~r/r...
16 Августа 2010 09:04
Это новая библиотека, позволяющая легко моделировать документы MongoDB в вашем приложении.
Установка:
<pre class="prettyprint">
[sudo] gem install mongomatic
</pre>
Более подробное описание и примеры кода вы найдете на официальном сайте Mongomatic
http://feedproxy.google.com/~r/r...
14 Августа 2010 13:55
Две отличные статьи о некоторых интересных командах консоли Rails.
Например, вы знали как вызвать предыдущую команду?
Вот как – с помощью “_”. Пример:
<pre class="prettyprint">
>> user.roles
=> [#<Role id: 1, name: "admin" etc, etc, etc...
>> _
=> [#<Role id: 1, name: "admin" etc, etc, etc...
>> (2 + 5 ) * (10 / 2)
=> 35
>> _
=> 35
</pre>
А как сделать короче вызов User.find_by_name('john').to_yaml?
Вот так:
<pre class="prettyprint">
>> user = User.find_by_name('john') # user whatever model you want
=> #<User id: 876, name: "john", email: "john@raflabs.com", etc, etc, etc...
>> puts user.to_yaml
>> y user
</pre>
Читайте о других возможностях в статьях My friend the Rails Console, Part 1 и My friend the Rails Console, Part 2
http://feedproxy.google.com/~r/r...
10 Августа 2010 16:51
В SQL получение случайно записи возможно при помощи чего-то типа “ORDER BY RAND()”.
В MongoBD не все так просто, но Эрик Любов (Eric Lubow) придумал одно решение:
<pre class="prettyprint">
@@mongodb = Mongo::Connection.new("localhost", 27017).db("test_db}")
@collection = @@mongodb["collection_name"]
@rand = Kernel.rand()
@random_record = @collection.find_one({ 'random' => { '$gte' => @rand } })
if @random_record.nil?
@random_record = @collection.find_one({ 'random' => { '$lte' => @rand } })
end
</pre>
Суть метода в том, что к коллекции добавляется специальный столбец (random), который хранит значение от 0 до 1.
После соединения с базой данных генерируется случайное число (от 0 до 1) и мы пытаемся получить документ со значением в поле random большим или равным этому числу. Если результат отрицательный, то берем документ со значением меньшим или равным случайному числу.
Больше деталей в статье Getting a Random Record From a MongoDB Collection
http://feedproxy.google.com/~r/r...
10 Августа 2010 16:20
В десятке языков среди всех репозиториев Ruby более чем в два раза обгоняет идущих за ним JavaScript и Perl.
Ruby также самый популярный язык среди пользователей GitHub.
Другая статистика в статье GitHub Stats on Programming Languages
http://feedproxy.google.com/~r/r...
10 Августа 2010 15:50
RCov — это “code coverage tool”. Обычно используется для определения отношения вашего кода к его тестам. Другими словами насколько тесты “покрывают” имеющийся код.
Аарон Паттерсон (Aaron Patterson) описывает пример создания подобного инструмента с помощью Ruby 1.9 и подставляющейся с ним библиотеки coverage. Подробнее в статье Writing a Code Coverage Tool with Ruby 1.9
http://feedproxy.google.com/~r/r...
6 Августа 2010 01:57
Недавно столкнулся с задачей по верстке HTML-писем. Как известно, многие почтовые клиенты, в том числе и Gmail игнорируют css-классы и содержимое тега style, ни говоря уже о подключении внешних CSS-файлов. Поэтому обычной практикой при верстке HTML-писем является использование inline-стилей. Если делать это самостоятельно, то шаблон письма очень быстро превращается в кашу, поддерживать и расширять которую очень сложно. В связи с чем rails-разработчики используют различные плагины, которые позволяют «встроить» css-класс в аттрибут style.
http://habrahabr.ru/blogs/ror/10...
5 Августа 2010 11:03
Встречал много статей на эту тему, но эта мне показалась самой понятной и простой.
Если вам интересно в чем разница между “and” и “&&”, “or” и “||”, а также о том, в каких случаях правильно употреблять эти операторы, то советую прочитать статьи Using “and” and “or” in Ruby и “and” and “or” are like backwards statement modifiers
http://feedproxy.google.com/~r/r...
5 Августа 2010 11:03
Джон Лич (John Leach), со-основатель и технический директор Brightbox, рассказывает как устроен и работает их дата центр.
Brightbox – это компания из Великобритании, предлагающая rails-хостинг.
И так, смотрим видео-интервью с Джоном – John Leach on Virtualization and Unix Tools for the Data Center
http://feedproxy.google.com/~r/r...
2 Августа 2010 12:16
Devise — система авторизации от Plataforma Tecnologia, очень гибкая и удобная. Исходный код и документацию можно найти в репозитории Devise на GitHub. Очень советую также посмотреть статьи в разделе Вики.
CanCan — хороший помощник в делах связанных с ролями и разделением прав. Его создатель – всем известный Райан Бейтс (Ryan Bates), хранит исходные коды CanCan на GitHub. Вы найдете там отличное описание и примеры.
А теперь, рассказ о том, как совместить эти два продукта и получить систему авторизации с использованием роле всего за 30 минут. Статья Rails Authentication with Devise and CanCan – Customizing Devise Controllers большая и подробнаяя, но главное интересная и полезная.
http://feedproxy.google.com/~r/r...
2 Августа 2010 10:14
Аарон Самнер (Aaron Sumner) в своем блоге предложил список книг о Ruby/Rails, которые можно получить совершенно бесплатно. Среди них такая классика, как "Programming Ruby: The Pragmatic Programmer’s Guide " и “Why’s (Poignant) Guide to Ruby”. Отличный набор “прочитать за лето” для новичков. Весь список в статье Build a virtual bookshelf of free Ruby and Rails books
http://feedproxy.google.com/~r/r...
28 Июля 2010 10:02
Джонатан Руденберг (Jonathan Rudenberg) создал Mailman. Это микрофреймворк для обработки входящей почты. Поддерживается протоколы POP3 и Maildir, также работа с Rails.
Пример приложения, которое берет сообщения, поступившие на адрес поддержки (support@example.com) и добавляет в базу данных тикеты с текстами из этих писем.
<pre class="prettyprint">
# 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
</pre>
Подробности и примеры в репозитории Mailman на GitHub
http://feedproxy.google.com/~r/r...
28 Июля 2010 09:31
Павел Чипига (@chipiga) в своем блоге делится опытом работы с кодировками при работе Rails 3 под Ruby 1.9.
Для все, кто столкнулся с “кодировочной проблемой” статья Rails 3 + Ruby 1.9 = борьба с кодировками
http://feedproxy.google.com/~r/r...
27 Июля 2010 20:41
Еще один шаг в сторону таких же, как и я сам: людей, которые гордо заявили, что не прикаснутся к новым рельсам, пока не выйдет релиз.
Собственно, ура–ура!
http://habrahabr.ru/blogs/ror/10...
27 Июля 2010 17:43
Вышел релиз кандидат Rails 3. Мы плавно приближаемся к релизу :)
Установка как и раньше:
<pre class="prettyprint">
gem install rails --pre
</pre>
Как сообщается в пресс-релизе, значительно выросла производительность (исключая пока Arel, но работы тут ведутся). Кроме того, добавилась поддержка gem-библиотеки MySQL2, вернулись обратно shallow routes и другие фиксы.
Подробнее в официальном пресс-релизе Rails 3.0: Release candidate!
http://feedproxy.google.com/~r/r...
26 Июля 2010 09:55
Новый ресурс Rails Best Practices дает возможность каждому поделится своим опытом практического решения некоторый вопросов, возникающих при работе с Rails (например, проблема “N+1 запросов”, "что лучше перенести в модель?, “какой код перенести в хелпер?”).
Те, кому нечем пока поделится, могу просто читать публикации более опытных разработчиков.
Для каждой публикации можно оставлять комментарии, чтобы в №споре рождалась истина" :)
Ссылки:
http://feedproxy.google.com/~r/r...
23 Июля 2010 17:08
RailsInside опубликовал статью о Refinery CMS. Здесь рассказывается об истории системы (сначала она была закрытым проектом Resolve Digital).
Основные возможности:
- поддердка тем оформления
- поддержка плагинов (по архитектуре сходная с плагинами для Rails)
- WYSIWYG редактор для контента
- локализация (сейчас 10 языков)
- управление страницами
- управление файлами и изображениями
- возможность добавления формы обратной связи и работа с запросами, поступившими через нее
- оптимизация для поисковых систем
И все это управляется через простой и понятный UI.
Установка:
<pre class="prettyprint">
gem install refinerycms
refinerycms path/to/project
</pre>
Запуск:
<pre class="prettyprint">
cd path/to/project
ruby ./script/server
</pre>
Для заинтересовавшихся ссылки:
- Официальный сайт Refinery CMS
- Refinery на GitHub
- Официальный демо-сайт
- Статья о Refinery на RailsInside
http://feedproxy.google.com/~r/r...
22 Июля 2010 12:34
Если вы используете RSpec для тестирования и заинтересованы в тестировании ваших рецептов для Capistrano, советую обратить внимание на capistrano-spec. Это набор хелперов и матчеров.
Установка [sudo] gem install capistrano-spec. Подробные примеры использования в readme проекта capistrano-spec на GitHub
http://feedproxy.google.com/~r/r...
19 Июля 2010 10:56
Tolk — это rails engine для организации совместной работы над локализацией приложения. Его разработал DHH.
Саймон Токумайн (Simon Tokumine) добавил в Tolk возможность получения переводов с помощью Google Translate.
Ссылки:
- Оригинальная версия Tolk на GitHub
- Tolk + Google Translate на GitHub
- Небольшой скринкаст (чуть больше минуты) о Tolk + Google Translate
http://feedproxy.google.com/~r/r...
16 Июля 2010 14:05
Новый сервис берет на себя работу по обрезке, изменению размера, пометке “водными знаками” и т.д, освобождая ресурсы вашего сервера для других задач.
Juicer разработан специально для работы с Ruby/Rails проектами (для остальных есть REST API).
Среди тарифных планов есть и бесплатный.
Заинтересованных лиц просят пройти по адресу www.uploadjuicer.com
http://feedproxy.google.com/~r/r...
Информация
- Категория:
- Технологии
- Участников:
- 2
- Администратор
- Михаил Алексеев