Обновить
8K+

Ruby *

Динамический высокоуровневый язык программирования

0,6
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Ускоряем загрузку рельс

Время на прочтение2 мин
Охват и читатели1.8K
Несмотря на заголовок, речь пойдет скорее о руби, чем о рельсах. Поэтому я решил разместить этот перевод в блоге руби.

Последние релизы MRI Ruby показывают значительное замедление при подключении файлов.

Например, наше средненькое рельсовое приложение при загрузке делает require около 2200 раз — это где-то совсем в правой части графика. Совсем никуда не годится. На 1.9.2 приложение стартует за 20 секунд, а на 1.9.3 уже 46. Слишком медленно!
Читать дальше →

Kazan.rb #1 — встреча Ruby & Rails программистов в Казани 21 мая в It-park

Время на прочтение1 мин
Охват и читатели2.2K
Всем привет,

По аналогии с Piter.rb & Kiev.rb мы планируем проводить конференции на тему Ruby & Rails в Казани.
Первую встреча пройдет 21 мая в 12:00 в It-Park на ул. Петербургская, 52, в зале для пресс конференций.

На ней будут представлены доклады в формате 10 слайдов, 20 минут рассказа и 10 минут обсуждения.

Планируемые темы:
  • Cucumber (Leonid Dinershtein)
  • Git flow (Timur Vafin)
  • JS for Rails developers (Timur Vafin)
  • Rails Hardware (Yaroslav Dmitriev)
  • Simple restful application (Vladimir Mikhailov)
  • Mountable apps (Ruslan Gatiyatov)
Читать дальше →

Вышел Spree 0.60.0

Время на прочтение1 мин
Охват и читатели2K
Релиз Spree 0.60.0 официально выпущен. Основной целью этого релиза является упразднение использования resource_controller. Это было долгое путешествие с этой библиотекой, но на данный момент она уже устарела. Особая благодарность Neeraj Singh, Roman Smirnov и Brian Quinn за их напряженную работу по этому вопросу.

Мы приложили существенные усилия, чтобы сохранить большую часть функциональности resource_controller, которая использовалась в коде Spree, реализовав её более подходящим для «Rails Way» способом (с использованием наследования и т.д.). Однако в некоторых случаях, мы не смогли сохранить 100% совместимость с предыдущими версиями Spree. Это может повлиять на некоторые существующие расширения, а также на магазины, которые полагаются на эту функциональность. Кроме того новый подход использует respond_with вместо respond_to. Более подробно всё это описано в руководстве по настройке и в примечаниях к релизу 0.60.0.

Также Вы можете посмотреть на Github полный список изменений, вошедших в релиз 0.60.0.

От переводчика:
Также напоминаю о существовании Synergy — сборки Spree, адаптированной специально для России. На данный момент сборка поддерживает Spree 0.50.2 и 0.60.0. Более подробно я рассказал о ней в статье «Synergy — платформа для создания интернет-магазинов»

[Перевод] VMware CloudFoundry: PaaS на Ruby

Время на прочтение3 мин
Охват и читатели2.4K
image Platform as a Service (PaaS) — это не самая тривиальная вещь для создания, развертывания и поддержки: для начала, приходится проделать немалую работу для управления всеми сервисами изнутри, затем предстоит продумать и реализовать хороший интерфейс, и, в конце-концов, сервис нужно продать и умело его поддерживать. Не удивительно, что инвестиции для создания таких сервисов, могут позволить себе только несколько зажиточных игроков на IT-рынке.

Поэтому было вдвойне интересно наблюдать, как VMware разворачивают сервис CloudFoundry, да еще и с открытым кодом (честно, вот github аккаунт)! Полноценная PaaS, которую они так же предлагают использовать как хостинг, доступна так же каждому, для запуска в собственной компании или датацентре — теперь вы можете запустить «мини Heroku», или «облако EngineYard» на собственных серверах! Но в сторону маркетинг, гораздо интереснее взглянуть под капот этого проекта, ведь он полностью организован на Ruby.

Читать дальше →

Конкурс для разработчиков Rails-ninja

Время на прочтение1 мин
Охват и читатели650
Look At Me это не только популярный сайт о современной культуре, но и крупнейший Ruby on Rails проект в Восточной Европе.
В преддверии конференции Rails Club, которая состоится 30 апреля, Look At Me совместно с сообществом разработчиков RailsClub запускает конкурс Rails-ninja.

Задача конкурса: реализовать механизм генерации JavaScript-валидации HTML-форм, путем отражения декларативной валидации в RubyOnRails методами validates_*_of(*args).

Требования:
  • Приложение должно быть написано с использованием платформы RubyOnRails.
  • Все сторонние компоненты должны быть свободными для коммерческого использования (иными словами — должны быть OpenSource).
  • Репозиторий с исходным кодом проекта должен находится на сервисе github.com.
  • Для демонстрации проект должен быть размещен в сети Интернет участником самостоятельно.
  • Проект должен содержать краткое описание алгоритма реализации.

Работы принимаются до полудня 29 апреля по московскому времени!
Подведение итогов 30 апреля, на конференции RailsClub’Moscow. Побeдитель получит iPad64.

Подробнее о конкурсе.

Ruby на РИТ++

Время на прочтение2 мин
Охват и читатели1.1K
Как вы уже наверняка знаете, 25-26 числа в Москве пройдет главная конференция веб-разработчиков России — РИТ++. На конференции будет освещаться и Ruby, не пропустите перечисленные ниже доклады :-)

Будет доклад, касающийся Ruby, а также мастер-класс, посвященный front-end разработке с использованием Ruby фишек (Haml, Sass, Compass).
Читать дальше →

Ruby Cross Reference

Время на прочтение1 мин
Охват и читатели1.2K


Ruby, как известно, просто выглядит, но сложно работает. В особенности это относится к официальному интерпретатору, Ruby MRI: документация на многие детали реализации, например, на байткод или GC, отсутствует даже на японском.

Я попытался упростить исследование кода, открыв сайт Ruby Cross Reference по мотивам LXR. Кроме MRI, проиндекированы еще JRuby и Rubinius.
Читать дальше →

Вышел Spree 0.50.0

Время на прочтение1 мин
Охват и читатели1.6K
Intro: Spree — мощный и гибкий движок для создания интернет-магазинов, написанный на Ruby on Rails, распространяющийся под лицензией New BSD.

Рад сообщить хабровчанам о выходе релиза Spree 0.50.0.
В нём нет крупных изменений по сравнению с 0.40.x, вместо этого есть более 50 небольших улучшений и багфиксов.
Рекомендую всем, кто задержался на Spree 0.11.x, переходить именно на Spree 0.50.0

Из значительных изменений можно выделить:
  • Добавление возможности задавать порядок вариантов, опций и изображений в админке
  • Замена SearchLogic на MetaSearch
  • Расширение покрытия интеграционными тестами

Release Notes

Но это ещё не всё…
Читать дальше →

ТАУ-Дарвинизм: реализация на Ruby

Время на прочтение8 мин
Охват и читатели3.8K

Предисловие


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

Мультфильм «Пластилиновая ворона».

В этой статье представляю Вашему вниманию реализацию эволюционного подхода к идентификации динамической системы. Программа написана на языке Ruby версии 1.9.2 (gems: NArray, GNUPlot). Заглянув под кат найдете пример вещественного кодирования генной информации и подходящего для него алгоритма скрещивания («flat crossover»).
Как узнать, кто есть кто, читать тут

API ВКонтакте на Ruby

Время на прочтение1 мин
Охват и читатели5.9K
(Пост размещен по просьбе юзера karevn. Все плюсы в карму направляйте ему)

***

На днях в ходе разработки своего проекта возникла нужда в обращении к ВКонтакте API. Ничего подходящего на Ruby не нашёл, поэтому решил написать минималистично-ниндзюцу библиотечку. Библиотечка содержит всего один класс Session, позволяющий обращаться со своими экземплярами как будто это объекты ВКонтакте:

session = ::VK::Session.new app_id, api_secret
friends_hash = session.friends.get :uid => 15003575


Такой вызов вернёт нам распарсенный JSON, содержащий массив из хешей. Если серверу ВКонтакте что-то не понравится, библиотека выкинет исключение.

Вот, собственно, и всё. Пользуйтесь, предлагайте улучшения.

Репозитарий на GitHub.

Обучение программированию на Ruby — занятия продолжаются. Основы ООП

Время на прочтение1 мин
Охват и читатели1.5K
В 12:00 MSK в воскресенье 20 февраля 2011 пройдет очередное занятие по обучению программированию на Ruby для школьников и студентов. Курс рассчитан на начинающих изучать программирование и может рассматриваться как введение в программирование вообще. Сложность изложения и темы в значительной степени определяются аудиторией курса.

Тема занятия — Основы объектно-ориентированного программирования на Ruby.

RubyConf 2010: настоящее и будущее Руби (II)

Время на прочтение4 мин
Охват и читатели1.1K
Я предлагаю вам прочитать перевод третьей части доклада автора Руби, Yukihiro Matsumoto, на RubyConf 2010, опубликованных в его блоге на японском языке, в которой он рассказывает о Rite, минималистичной и модульной реализации Ruby, предназначенной для встраиваемых систем — «умного дома», телевизора или роботов.

Перевод дополнен материалом презентации.

Читать дальше →

Ближайшие события

RubyConf 2010: настоящее и будущее Руби (I)

Время на прочтение8 мин
Охват и читатели1.2K
Я предлагаю вам прочитать перевод второй части доклада автора Руби, Yukihiro Matsumoto, на RubyConf 2010, опубликованных в его блоге на японском языке. Первая часть представляет из себя краткий исторический обзор предыдущих конференций RubyConf и не представляет интереса к публикации.

За помощь в переводе с японского огромное спасибо Владимиру Садовникову.

Читать дальше →

Ruby Inside. Байткод YARV (I)

Время на прочтение6 мин
Охват и читатели3.6K

В этой и последующих статьях я хотел бы рассказать о байткоде YARV, виртуальной машины, используемой в Ruby MRI1 1.9.
Читать дальше →

Ход «Voronoi». Часть 2 — Бинарное дерево

Время на прочтение6 мин
Охват и читатели4.9K

Введение


В этой статье хочется представить реализацию дерева бинарного поиска для задачи, изложенной в статье [1]. В описанной там задаче используется алгоритм «sweeping line», для которой нужно бинарное дерево с возможностью перемещения не только от корня дерева к дочерним узлам и листьям, но и по листьям в отдельности, начиная от крайнего листа (левого или правого). Задача показалась достаточно простой, потому не стал долго искать уже готовые реализации и решил сделать самостоятельно. При этом поставил дополнительную задачу — задание процедуры добавления нового листа в дерево снаружи.
Серия на пальцах продолжается...

Классы — это объекты

Время на прочтение3 мин
Охват и читатели13K
Кто изучает Ruby, знает, что в нем все сущности — объекты, но порой не догадывается насколько. Так вот, классы в Ruby это тоже объекты.



Как это понять..

Унарный амперсанд

Время на прочтение1 мин
Охват и читатели5.2K
Расскажу как в Ruby работает такая элегантная конструкция:

User.all.map &:name           # получить массив имен пользователей

вместо

User.all.map { |user| user.name }

Сначала кажется что это свойство перечисляемых классов, но на самом деле это не так.
Читать дальше →

Авторизация Desktop приложения ВКонтакте

Время на прочтение2 мин
Охват и читатели7.2K
Социальная сеть ВКонтакте несколько странным образом заботится о безопасности своих пользователей, что чинит всяческие препятствия для авторизации отличными от браузера способами при этом не предоставляя SSL. Далее представлен скрипт на Ruby, который позволяет быстро подключить Desktop приложение к аккаунту по E-Mail и паролю и далее использовать API.
Читать дальше →

Online — обучение программированию на Ruby без хабраэффекта

Время на прочтение2 мин
Охват и читатели6.4K
Напоминаю, что по субботам, в 15:00 MSK проводятся удалённые занятия по обучению программированию на Ruby для школьников и студентов. Курс рассчитан на начинающих изучать программирование и может рассматриваться как введение в программирование вообще. Сложность изложения и темы в значительной степени определяются аудиторией курса.
Читать дальше →