Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Авторизация в Ruby on Rails с помощью плагина restful-authentication

Ruby*
Сидя в Москве (как тут у вас многолюдно :), нашел время на написание серии статей по Rails.
Сегодняшняя тема навеяна печальным сообщением. Итак моя задача: показать как можно легко сделать авторизацию в Ruby on Rails. Задача новичков прочитать и попробовать, задача не новичков прочитать и написать как сделать лучше и/или указать на ошибки.
поехали
Всего голосов 14: ↑12 и ↓2+10
Просмотры6.9K
Комментарии 16

RSpec. Часть #1: создаем тесты для модели

Ruby on Rails*
Как и обещал, я начинаю цикл статей, на тему RSpec.

В этой статье, я постараюсь, подробно рассказать, как писать тесты для моделей в Ruby on Rails. Если вы уже знакомы с rspec_on_rails, поправьте и дополните меня, если что то не так. Помните, что я изучаю Rspec вместе с вами и могу где то ошибаться.
Читать дальше →
Всего голосов 20: ↑16 и ↓4+12
Просмотры34K
Комментарии 12

Краткий обзор развития фреймворка Ruby on Rails за последние 14 месяцев

Ruby*
За временем не успеть. Все вокруг развивается очень стремительно. В какой-то момент я заметил, что хоть и работаю с последней версией Ruby on Rails, но многих «фич», которые в ней реализованы я не использую, более того о многих я даже не слышал.
Я попробую сделать ретроспективу, что было введено в Rails за последние 14 месяцев. Каждое нововведение буду сопрождать небольшим примером, который буду копировать as is из источника, на котором основана статья, так как подобные пояснения для каждой это тема для кучи отдельных статей или ссылкой.
поехали
Всего голосов 57: ↑54 и ↓3+51
Просмотры987
Комментарии 22

Advanced Ultrasphinx: теги и фильтры

Чулан
На хабре уже писали о интеграции Rails с великолепной поисковой системой sphinx
Rails+Sphinx=? Часть I
Rails и Sphinx.
В этой статье постараюсь рассказать о дополнительных возможностях плагина Ultrasphinx


Дальше
Всего голосов 2: ↑1 и ↓10
Просмотры209
Комментарии 0

MountainWest RubyConf 2009

Ruby*
13 и 14 марта этого года в штате Юта прошла очередная конференция посвященная языку программирования Ruby.

Я заметил, что на этой конференции более короткие доклады по сравнению с предидущими конференциями. Докладчики, восновном, вкладывались в 25-30 минут, в то время как в ноябре прошлого года на RubyConf 2008 им было нужно около часа на каждое выступление.
Кстати, с удивлением заметил фирму Microsoft среди спонсоров конференции. Несмотря, на полуживой IronRuby как-то у меня не ассоциируется эта организация с open-source сообществом вообще и R*-сообществами в частности.

Интересно будет, восновном, рубистам и рельсовикам. Некоторые доклады могут быть интересны Java-программистам желающим мигрировать в сторону Ruby/Rails.

Лично мне понравились, и поэтому рекомендую, следующие доклады: The Great Rails Refactor и BDD with Cucumber.

Читать дальше →
Всего голосов 8: ↑6 и ↓2+4
Просмотры427
Комментарии 2

Встреча 25 апреля. RAD race

Я пиарюсь
Итак, на последней встрече наконец-то нашлась парочка желающих поучаствовать в вышеупомянутом контесте.

Для тех, кто не знает, что такое rad race, кратко поясню:
Команды из нескольких человек собираются и пишут работающее (веб)-приложение за 12/24/48 часов на своём любимом языке с использованием любимых инструментов, а жюри их оценивает. Подробнее можно посмотреть, например, тут:
www.radrace.org/en/whatis/concepts.html

Поскольку по времени мы слишком ограничены, то я предлагаю следующие правила:
1) Простое веб-приложение на заданную тему пишем дома.
2) На встрече кратко рассказываем о фреймворке, процессе девелопмента, проблемах, которые пришлось решать и показываем получившееся приложение.
3) Сравниваем получившиеся приложения между собой, делаем бенчмарки.
4) Зрители оценивают.
5) PROFIT!

кстати о бенчмарках: для того, чтобы они имели смысл, очевидно, стоит проводить их на одинаковом железе. Поскольку дома одинакового железа у всех нету, есть 2 варианта:
1) провести бенчмарки на моём macbook pro, хотя он и старый, но для бенчмарка должно хватить (core duo 1.83, 2gb ram, hdd@7200 rpm). На mac os x искаропки имеется почти любой софт для вебдевелопмента: java, ruby, php, python, perl, apache итд, недостающие/устаревшие штуки можно обновить/установить.
2) провести бенчмарки на виртуальной машине (ubuntu/debian в virtualbox'е). В этом случае я могу подготовить «пустой» образ, в который каждый может поставить необходимый софт, а на встрече просто запустим каждый образ, можно даже воспользоваться более мощными iMac'ами.

Из желающих предварительно есть:
— thevery (grails)
— yole (ror)
— sevenov (django)

возможные участники:
— stasishe (perl)
— kurokikaze (php)

so far некоторые предложения:
— онлайн-аукцион
— чат; с регитрацией, ивсьотакое, с просмотром профилей, и личные сообщения
— функицонал хабра: блоги личные и общественные, подсчёт кармы
— реализовать функционал, необходимый для coffee-n-code, трансляции и общение

лично мне нравится последний вариант.
Всего голосов 21: ↑17 и ↓4+13
Просмотры402
Комментарии 72

RailsClubMoscow

Ruby*
В 19-го апреля в Москве прошла дегустация хреновухи под прикрытием RailsConf. По размаху конференция не сравнима с аналогичными в США которые я описывал в этом блоге, но сам факт ее проведения меня очень радует.

Доклады будут интересны исключительно рубистам и рельсовикам.

Все доклады были на русском языке. Всреднем доклады длились 15-20 минут. К сожалению, в запись не попали вопросы к докладчикам и ответы на них.

Одной из отличительных черт этой конференции является присутствие многих (всех?) докладчиков на хабре. Поэтому можете задавать вопросы по теме в комментах и думаю вы получите ответы.

Читать дальше →
Всего голосов 31: ↑24 и ↓7+17
Просмотры360
Комментарии 10

Поиск и размещение вакансий для ruby-профессионалов

Ruby*
Сегодня наша команда (hashtrain.com) запустила очередной сервис — RubyJobs.ru.

Здесь компании могут разместить свои вакансии, а руби-профессионалы (и новички ;) найти интересную работу.

Использование сервиса совершенно бесплатно и даже не требует регистрации.

Мы надеемся, что RubyJobs.ru будет полезен всем вам. Приятного рабочего дня!
Всего голосов 49: ↑31 и ↓18+13
Просмотры943
Комментарии 16

Твиттер и мак — вместе навек

IT-компании
На сайте Apple в разделе «Портфолио» (Mac) появилась страничка, посвящённая твиттеру. Оказывается, в офисе компании Twitter стоят только маки и макбуки. Весь персонал (чуть менее 30 человек) работают тоже на них.

Движок твиттера сделан в том числе с использованием инструментария Ruby on Rails, который поставляется в комплекте с Mac OS X. У всех программистов в обязательном порядке стоит последняя версия Mac OS X. Многие из них пользуются редактором кода TextMate, существующем только на Mac-платформе. Во время совещаний программисты твиттера запускают групповой чат Campfire (он доступен в том числе через айфоны).



Дизайнеры тестируют сайт под Safari и Firefox, а в случае необходимости запускают Windows на виртуальной машине прямо на своих маках.

Много фотографий из офиса Twitter — под хабракатом.
Читать дальше →
Всего голосов 87: ↑56 и ↓31+25
Просмотры345
Комментарии 115

Ручная установка Ruby 1.8.7 и Rails на Windows XP

Ruby*
Написал однажды для себя, но подумал — «А что, если кому-то тоже пригодится?»

Итак, установим Ruby. Для этого нужно:

  1. скачать бинарники для Ruby 1.8.7 здесь: http://www.ruby-lang.org/en/downloads/. Распаковать их в желаемую директорию (например в c:\ruby).
  2. открыть My Computer → Properties → Advanced → Enviromental Variables, и дописать в переменную Path такую строку "с:\ruby\bin\" (это зависит от того, куда вы распаковали бинарники)
  3. скачать пакет zlib здесь: http://www.zlib.net/zlib123-dll.zip. Из него достать файл zlib1.dll, переименовать его в zlib.dll и поместить по адресу с:\ruby\bin\
  4. скачать пакет iconv здесь: http://sourceforge.net/project/showfiles.php?group_id=25167&package_id=51458. В архиве отыскать файл iconv.dll и скопировать его по адресу с:\ruby\bin\
  5. скачать и установить библиотеку OpenSSL отсюда: http://www.slproweb.com/products/Win32OpenSSL.html
  6. скачать rubygems здесь: http://rubyforge.org/frs/?group_id=126. Распаковать архив, отыскать файл setup.rb и запустить в консоли команду ruby setup.rb
Теперь необходимо установить Rails. Для этого нужно:
  1. в консоли выполнить команду gem install rails
  2. в консоли выполнить команду gem install sqlite3-ruby -v 1.2.3
  3. скачать и библиотеку SQLite3 здесь: http://www.sqlite.org/download.html. Распаковать из скачанного архива файл sqlite3.dll в папку с:\ruby\bin\
Последние два пунка нужны для того, чтобы запустить Rails-приложение «из коробки», где изначально в конфигурации прописано использование базы данных SQLite.

Теперь необходимо проверить, как работает Rails. Для этого нужно:
  1. в консоли выполнить выполнить команду rails my_projects_name_with_path (например: "rails d:/my_blog") – тем самым мы создадим каркас пустого приложения
  2. перейти в папку с созданным каркасом и выполнить в консоли команду ruby script/server – тем самым мы запустим нашу пустую Rails-программу
  3. в браузере перейти по адресу localhost:3000
  4. на открывшейся странице нажать по ссылке "About your application's environment" – тем самым должно быть показано версии установленых компомент Rails

Спасибо добрым людям, однажды ответившим на вопрос об установке Ruby на сайте stackoverflow.com тем самым сподвигнув меня разобраться во всём в деталях и написать это небольшое руководство-памятку.
Всего голосов 25: ↑21 и ↓4+17
Просмотры3.4K
Комментарии 16

Цитатник суеверий «Чёрный кот»

Чулан
Здравствуйте коллеги!

Прошу любить и жаловать — Цитатник суеверий «Чёрный кот».

image
www.cherniy-kot.ru

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

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

Преимущества в поиске нужной цитаты: подробное теггирование цитат.

Проект развивается, приходят интересные идеи и решения. Если у вас есть предложения — напишите пожалуйста комментарий, принимается любая критика (в рамках приличия, конечно же).

Ну и добро пожаловать на сайт! Пользуйтесь на здоровье!

Отдельное пояснение для верующих людей и священнослужителей:

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

С уважением,
Павел

UPD: Буду рад услышать замечания по верстке, дизайну, юзабилити…

UPD2: Убрал слово стартап, погорячился :)
Всего голосов 15: ↑8 и ↓7+1
Просмотры154
Комментарии 20

Мини-конференция по Ruby и Rails — Петербург

Ruby*
Мы планируем очередную мини-конференцию по Ruby и Rails 31 мая в 16.00 в iClub (iclub.su).

Выступления:

— Илья Заяц расскажет об основах использования memcached в Rails.

— Дмитрий Жемеров (Development Lead в JetBrains)
расскажет о Ruby IDE RubyMine

— Роман Чернятчик (Developer в JetBrains)
расскажет о CI и билдсервере TeamCity

Адрес iClub:
Конюшенная Б. ул., 12/10
На ЯКарте

Приходите, будет интересно!
Всего голосов 8: ↑7 и ↓1+6
Просмотры458
Комментарии 2

релиз RubyMine 1.1

Чулан
Обновилась IDE для Ruby и Ruby on Rails RubyMine от Jetbrains.
Что нового в версии 1.1:
Поддержка Rails 2.3:
  • Поддержка Application Template при создании проекта
  • Поддержка локализованных Views
Подсветка синтаксиса HAML
Поддержка Cucumber
  • Подсветка синтаксиса feature файлов
  • Система запуска и конфигурации тестов
Remote Debug
Поддержка DRb для запуска тестов RSpec
Скачать можно тут
С багами и вопросами ждем в форуме

Для тех, у кого есть купоны на 50% скидку: срок действия до конца мая. Торопитесь ;)
Всего голосов 6: ↑5 и ↓1+4
Просмотры205
Комментарии 6

New Relic — полный мониторинг вашего RoR приложения

Ruby*
Перешел тут недавно на новый VDS для своих сайтов на хостинг webbynode.com. Очень все по-рельсовому сделано. Но сейчас речь не о них.

При регистрации предложили сделать аккаунт в приложении мониторинга RoR сайтов. Называются New Relic. Посмотрел презентации, и надо признаться, очень впечатлило. Как промо акция, там дают недельный gold-account, где можно воспользоваться всеми отчетами. Это, друзья мои, стоит внимания.

Дашборд для лайт версии
New Relic RPM - Overview (color_mondays)
Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Просмотры35K
Комментарии 23

RailsClubMoscow 20/06/2009

Ruby*
Рельсовые конференции в Москве входят в традицию. Завидую белой завистью москвичам.

В этот раз организаторы почему-то решили выкладывать видео на YouTube и поэтому все ролики порезали на кусочки по 10 минут.

Я добавил еще одно поле в свой RSS — докладчик. Там я буду указывать имя и хаброник расказчика.

Читать дальше →
Всего голосов 3: ↑3 и ↓0+3
Просмотры515
Комментарии 3

плагин StringParser

Ruby*
Решил как-то упорядочить избитую проблему: практически в каждом проекте приходится делать кастомный парсер, который бы выводил текст в удобочитаемом виде. И практически в каждом проекте 80% этого парсера — это решение уже решенных задач.

StringParser — это плагин к Рельсам и либа, которая включает методы, реализующие наиболее часто встречающиеся задачи парсинга. Давайте я покажу на примере:

StringParser.new("what a cool url: url.com and image image.com/image.jpg<br/>").urls_to_images.urls_to_links.html_escape.string

То же самое можно оформить в блоке (это кому как больше нравится):

parser = StringParser.new("what a cool url: url.com and image image.com/image.jpg<br/>") do |p|
p.urls_to_images.urls_to_links
p.html_escape
end
parser.string

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

break_long_words
close_tags
cut
highlight_code # использует для подсветки gem ultraviolet
html_escape # в отличие от рельсового аналога принимает :except => []
newlines_to_br
urls_to_images
urls_to_links


Хотел бы пригласить всех дополнить либу и довести до ума.
Всего голосов 6: ↑6 и ↓0+6
Просмотры455
Комментарии 1

ActiveRecord vs SQL

Ruby on Rails*

Привет, %username%!


Недавно я начал изучать Ruby on Rails и передо мной встала задача — реализовать импорт данных из CSV файла в MySQL таблицу. Задача не сложная и код я написал довольно быстро, но вот только я был очень удивлен тем, что пока он выполнялся, я успел налить себе кофе и выкурить сигарету.

— Что-то здесь не так! — подумал я и начал копать.
Читать дальше →
Всего голосов 42: ↑33 и ↓9+24
Просмотры7.2K
Комментарии 49

Интервью с DHH (создателем Rails)

Ruby on Rails*
Перевод
25 июля twit.tv провели интервью с David Heinemeier Hansson (для непосвященных — создателем Rails).

Советую его послушать самому, если с английским нет проблем, а я законспектировал на русском основные мысли про Ruby и Ruby on Rails.
Читать дальше →
Всего голосов 43: ↑36 и ↓7+29
Просмотры1.7K
Комментарии 110

Ruby — хранение части кода в базе данных

Чулан
Сегодня нашел еще один способ как можно использовать «фишку» интерпретируемых языков — создавать и выполнять программный код в процессе работы программы.

Можно положить часть кода в базу данных.

Для чего это нужно?

Мне встретилась такая задача — писать онлайн тесты.
У каждого теста есть функция — по которой ответам пользователя ставится в соответствие — номер описания результата

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

и теперь в месте, где нужно рассчитать результат теста пишем:
eval(@test.function)

function — это и есть ячейка в таблице БД, описывающей тесты.
при этом код просто вставляется в это место программы и выполняется, ему даже не надо передавать в качестве параметров результаты ответов пользователя, он их и так уже видит

Правда если внутри строки, передаваемой eval объявить локальную переменную, то внешняя программа ее не будет видеть (по крайней мере у меня не увидела, хотя в консоли все было ок), поэтому лучше пользоваться переменными экземпляра (instance variables) вида — @varname

Подозреваю справедливую критику со стороны любителей строгого ООП. Но приводить этот пример в согласие с ООП я не буду, если есть желание — поэкспериментируйте.
Всего голосов 16: ↑5 и ↓11-6
Просмотры221
Комментарии 23