Linux Forum Казахстан

Общий => Новости => Тема начата: turbo от 12 Августа 2008, 12:39

Название: Ruby
Отправлено: turbo от 12 Августа 2008, 12:39
[size="3"]В интерпретаторе языка Ruby обнаружено 4 уязвимости[/size]

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

 * Возможность обхода ограничений уровней изоляции (safe level) через манипуляции с функцией "untrace_var()";
 * Использование некорректного регулярного выражения в WEBrick::HTTPUtils.split_header_value() может привести к отказу в обслуживании, путем полного потребления процессом ресурсов CPU, после получения специальным образом оформленного HTTP запроса;
 * Ошибка в "DL" может быть использована для обхода ограничений безопасности и вызова потенциально опасных функций;
 * Отсутствие в resolv.rb случайного выбора номера порта при отправке ответа на DNS запрос, упрощало проведение атаки Каминского.

Наличие уязвимостей подтверждено в версиях Ruby 1.8.5, 1.8.6-p286, 1.8.7-p71 и более ранних. Проблемы исправлены в Ruby 1.8.6-p287 и 1.8.7-p72.
http://secunia.com/advisories/31430/ (http://secunia.com/advisories/31430/)
Название: Ruby
Отправлено: turbo от 24 Ноября 2008, 22:14
[size="3"]Опубликован релиз web-фреймворка Ruby on Rails 2.2[/size]

Вышел релиз web-фреймворка Ruby on Rails 2.2, в котором, кроме исправления ошибок, появились следующие новшества:

 * В комплект по умолчанию включен полный набор компонент для многоязыковой поддержки (i18n).
 * Появилась поддержка проверки HTTP заголовков ETag и Last-Modified, сигнализирующих о времени последнего изменения содержимого запрошенной страницы;
 * Реализована полноценная поддержка многопотчности (thread-safe), благодаря избавлению кода от глобальных блокировок;
 * Обеспечена совместимость с интерпретаторами Ruby 1.9 (экспериментальная ветка) и JRuby. Ruby 1.9.1 в настоящее время находится на финальной стадии тестирования, в скором времени ожидается выход релиза.
 * Значительно улучшена документация по API, добавлено 14 новых руководств.
 * Поддержка миграции транзакций для СУБД PostgreSQL, в случае ошибки при работе с одним сервером, Rails может переключиться на запасной сервер, без полной отмены совершенных в рамках транзакции операций;
 * Реализован режим поддержания пула открытых соединений с СУБД, до истечения заданного таймаута.
http://guides.rubyon...ease_notes.html (http://guides.rubyonrails.org/2_2_release_notes.html)
http://www.opennet.r...shtml?num=19062 (http://www.opennet.ru/opennews/art.shtml?num=19062)
Название: Ruby
Отправлено: turbo от 10 Декабря 2008, 22:06
[size="3"]Сравнение производительности девяти реализаций языка Ruby[/size]

Опубликованы результаты сравнения производительности существующих реализаций языка Ruby - Ruby 1.8, Ruby 1.9.1 (Yarv), Ruby Enterprise Edition (REE), JRuby 1.1.6RC1, Rubinius, MagLev, MacRuby 0.3 и IronRuby. Расхождение в быстродействии получились значительные, например, в некоторых тестах экспериментальный релиз Ruby 1.9.1, использующий для интерпретации байткода новую виртуальную машину YARV (Yet another Ruby VM), оказался почти в 5 раз быстрее Ruby 1.8. Очень хорошие результаты, лишь немного отстав от Ruby 1.9.1, продемонстрировал JRuby 1.1.6, реализация Ruby на языке Java.

Суммарное время прохождение теста разными реализациями Ruby составляет:

 * Ruby 1.9.1 - 190;
 * JRuby 1.1.6 - 220;
 * REE - 410;
 * Rubinius - 600;
 * Ruby 1.8.7 (linux) - 790;
 * Ruby 1.8.6 (vista) - 880.

MagLev, MacRuby и IronRuby не удалось выполнить все тестовые задания, при этом MagLev оказался примерно в два раза быстрее Ruby 1.8, в то время как MacRuby и IronRuby показали близкую к Ruby 1.8.6 производительность.
http://www.opennet.r...shtml?num=19304 (http://www.opennet.ru/opennews/art.shtml?num=19304)
Название: Ruby
Отправлено: turbo от 24 Декабря 2008, 20:12
[size="3"]Слияние web-фреймворков Ruby on Rails и Merb[/size]

Команды разработчиков web-фреймворков Ruby on Rails и Merb, разрабатываемых на языке Ruby и соответствующих парадигме MVC (Model-View-Controller), приняли решение о слиянии проектов. В соответствии с новым планом, во втором квартале 2009 г. будет выпущен объединенный продукт под названием Rails 3. Разработчики Merb приступили к подготовке нового проекта уже сейчас, а разработчики Rails сконцентрируются на этом после выпуска Rails 2.3 в январе 2009 г.

Помимо прочего, работа над Rails 3 будет вестись в следующих направлениях:

 * Стабилизация API;
 * Повышение производительности компонентов Rails на основе опыта Merb;
 * "Модуляризация", реализация взаимозаменяемости (на основе стабильного API ) пригодных к использованию частей программного каркаса и их разработка с целью лучшей применимости в каждом конкретном случае;
 * ORM (Object-relational mapping): ActiveRecord останется по умолчанию, однако на выбор будут доступны как минимум DataMapper и Sequel;
 * Поддержка интерфейса Rack, позволяющего значительно увеличить производительность сервисов. Поддержка Rack присутствует в Merb дольше, чем в Rails;
 * Окружение тестирования, позволяющее оценить пригодность подключаемых компонент до их использования: помимо test/unit, можно будет использовать RSpec;
 * Для шаблонирования можно будет без лишних усилий применять Haml, а для ajax - jQuery;
 * Возможность начинать разработку с минимальным "ядром" Ruby, подключая компоненты только по мере использования.
 * Возможность задействовать программный каркас на альтернативных реализациях среды исполнения, таких как JRuby.

В свою очередь, разработчики Merb получают возможность не заниматься решением проблем, уже решённых в Ruby, таких как интернационализация и часовые пояса. Среди исторических примеров такого слияния называется успешное слияние Struts и Webwork.
http://www.opennet.r...shtml?num=19537 (http://www.opennet.ru/opennews/art.shtml?num=19537)
Название: Ruby
Отправлено: ping_Win от 31 Января 2009, 13:34
[size="3"]Вышел Ruby 1.9.1, первый стабильный релиз ветки 1.9.x[/size]

Спустя год после анонса экспериментальной версии Ruby 1.9.0, разработчики выпустили (http://www.ruby-lang.org/en/news/2009/01/30/ruby-1-9-1-released/) первый стабильный релиз - Ruby 1.9.1 (http://www.ruby-lang.org/).

Основные новшества (http://svn.ruby-lang.org/repos/ruby/tags/v1_9_1_0/NEWS):

 * Значительно увеличена производительность и уменьшено потребление памяти. В некоторых тестах Ruby 1.9.1, использующий для интерпретации опкода новую виртуальную машину YARV (http://en.wikipedia.org/wiki/YARV) (Yet another Ruby VM), оказался почти в 5 раз быстрее Ruby 1.8.
 * Полноценная реализация многопоточности, использующая средства операционной системы (ранее присутствовала реализация "green threads (http://en.wikipedia.org/wiki/Green_threads)", через эмуляцию нитей (threads) интерпретатором);
 * Полная поддержка многобайтовых кодировок (Unicode);
 * Значительные изменения в синтаксисе языка. Ветка Ruby 1.9 не является 100% совместимой с более ранними версиями, в языке появилось (http://eigenclass.org/hiki/Changes+in+Ruby+1.9) много новых конструкций и изменений логики работы существующих элементов.

http://www.opennet.r...shtml?num=20047 (http://www.opennet.ru/opennews/art.shtml?num=20047)
Название: Ruby
Отправлено: turbo от 17 Марта 2009, 19:32
[size="3"]Представлен релиз Web-фреймворка Ruby On Rails 2.3[/size]

Представлен релиз web-фреймворка Ruby on Rails 2.3. Кроме исправления ошибок, в новом выпуске появились множество существенных новшеств и изменений. Самое интересное:
Шаблоны (Templates) генерации приложения, позволяющие определить каркас будущего Rails приложения. Реализованы через интеграцию генератора приложений - rg ;
Улучшена поддержка Rails Engines, позволяющих организовать совместное использование типовых частей приложений, через формирование специальных Rails приложений, способных подключаться к работе других Rails приложений;
Интеграция интерфейса Rack и перевод на него внутренней инфраструктуры Rails. Поддержка CGI осталась, но теперь работает через специальный proxy интерфейс;
Интеграция механизма Metal, являющегося враппером к интерфейсу Rack и позволяющего создавать супер быстрые обработчики, работающие в обход Action Controller. Выполнение небольших запросов в обход стандартных механизмов обработки потоков данных, позволяет значительно увеличить производительность сервисов, например, при тестировании простейших запросов, время их выполнения уменьшилось с 2.448 мс до 0.866 мc, при их реализации через Metal;
Nested forms - возможность, упрощающая создание сложных вложенных web-форм;
Поддержка HTTP Digest аутентификации;
Переименован файл с Application Controller: был application.rb, стал application_controller.rb;
Фреймворк протестирован на предмет полной совместимости с Ruby 1.9.1;

http://www.opennet.r...shtml?num=20781 (http://www.opennet.ru/opennews/art.shtml?num=20781)
Название: Ruby
Отправлено: turbo от 23 Мая 2009, 22:44
[size="3"]Управление веткой Ruby 1.8.6 передано компании Engineyard[/size]

Улажены последние формальности по передаче управления над веткой Ruby 1.8.6 американской хостинговой компании Engineyard, которая изъявила желание взять на себя заботу по исправлении ошибок и устранению проблем безопасности в устаревшей ветке Ruby. Работники Engineyard бэкпортировали в 1.8.6 ряд исправлений не нарушающих API, связанных с увеличением производительности, устранении утечек памяти, улучшением работы сборщика мусора. Компания заверила, что и в дальнейшем будет гарантировать неизменность API Ruby 1.8.6 - все разработанные улучшения будут продвигаться на общих основаниях через ветку Ruby 1.9.

В настоящее время компания Engineyard осуществляет хостинг около 6000 виртуальных машин с Ruby 1.8.6 и не планирует переходить на версии 1.8.7 или 1.9.1. Версия 1.8.7 имеет проблемы с совместимостью с Ruby 1.8.6, поэтому не получила должного распространения, в то время как несмотря на выход 1.9.1, версия 1.8.6 все еще остается наиболее востребованной.

http://www.opennet.r...shtml?num=21856 (http://www.opennet.ru/opennews/art.shtml?num=21856)
Название: Ruby
Отправлено: Zhek@Ch от 04 Августа 2011, 00:59
[size="3"]Код Ruby 1.9.3 перелицензирован для обеспечения совместимости с GPLv3 и BSD [/size]

Представлен (http://www.ruby-lang.org/en/news/2011/08/01/ruby-1-9-3-preview1-has-been-released/) первый тестовый выпуск интерпретатора Ruby 1.9.3, важным изменением в котором стала смена лицензии на код. Ранее Ruby распространялся под двумя лицензиями - "GPLv2" и "Ruby", начиная с версии Ruby 1.9.3 код будет распространяться под лицензиями BSD ("2-clause BSDL") и "Ruby". В качестве причины смены лицензии называется (http://www.ruby-forum.com/topic/216010) желание обеспечить совместимость кода, одновременно с лицензиями GPLv3 и BSD.

Лицензия "Ruby" ссылается  (http://www.ruby-lang.org/en/LICENSE.txt) на последний вариант GPL и полностью совместима с GPLv3, но указание GPLv2 в качестве второй лицензии ограничивало максимальную версию GPL и делало код несовместимым с GPLv3. Второй проблемой было то, что код прошлых версий Ruby не был совместим с лицензией BSD и не позволял обмениваться наработками с BSD-проектами. Начиная с выпуска Ruby 1.9.3 эти недостатки будут устранены.

Из других изменений в Ruby 1.9.3 отмечено (http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/386024):

# opennet.ru (http://www.opennet.ru/opennews/art.shtml?num=31379)
Название: Ruby
Отправлено: Zhek@Ch от 27 Октября 2011, 01:39
[size="3"]Опубликован план подготовки релиза Ruby 2.0 [/size]

Yusuke Endoh, назначенный ответственным за выпуск релиза Ruby 2.0, опубликовал (http://www.rubyinside.com/ruby-2-0-release-schedule-announced-roll-on-2013-5536.html) в списке рассылки ruby-core план подготовки новой версии. Релиз планируется выпустить 24 февраля 2013 года, приурочив его к 20-летию проекта. В августе 2012 года состоится заморозка кода от добавления значительных новшеств, в октябре 2012 состоится полная заморозка кода и начнётся интенсивная работа по стабилизации кодовой базы. Отдельно отмечается, что Ruby 2.0 стоит рассматривать как эволюцию, а не революцию, поэтому, несмотря на обсуждения в прошлом внесения кардинальных изменений, релиз Ruby 2.0 будет на 100% обратно совместим с Ruby 1.9.3. Ожидаемое прекращение поддержки устаревших возможностей, таких как оператор "flip-flop", будет рассмотрено (http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/40044) при подготовке Ruby 3.0.

Из новшеств, которые могут появиться (http://www.rubyinside.com/ruby-2-0-implementation-work-begins-what-is-ruby-2-0-and-whats-new-5515.html) в Ruby 2.0 выделяются:

# opennet.ru (http://www.opennet.ru/opennews/art.shtml?num=32132)
Название: Ruby
Отправлено: Zhek@Ch от 31 Октября 2011, 03:10
[size="3"]Ruby 1.9.3[/size]

Спустя год с выпуска предыдущей версии, анонсирован новый релиз «официального» интерпретатора языка программирования Ruby.

В целом, версия 1.9.3 является логичным эволюционным развитием интерпретатора и не несёт в себе кардинальных изменений, способных сломать совместимость с существующим кодом.

Среди значимых изменений стоит отметить:

Более подробный перечень нововведений традиционно приведён в файле NEWS (http://svn.ruby-lang.org/repos/ruby/tags/v1_9_3_0/NEWS).

Кстати, пользователи rvm (https://rvm.beginrescueend.com/) уже имеют возможность обновиться и радоваться всеми нововведениями Ruby 1.9.3.

 >>> Анонс в ruby-core (http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/40527)

# linux.org.ru (http://www.linux.org.ru/news/opensource/6939886)
Название: Ruby
Отправлено: Zhek@Ch от 19 Ноября 2011, 11:44
[size="3"]Релиз MagLev 1.0, альтернативной реализации Ruby VM со встроенным NoSQL-хранилищем[/size]

Представлен (http://www.infoq.com/news/2011/11/ruby-maglev-10) релиз проекта MagLev 1.0 (http://maglev.github.com/), в рамках которого подготовлена альтернативная реализация окружения для выполнения программ на языке Ruby, построенного на основе использования 64-разрядной виртуальной машины VMware GemStone/S (http://www.gemstone.com/products/gemstone), изначальной созданной для языка Smalltalk. Код проекта распространяется (https://github.com/MagLev/maglev) под лицензией MIT, но используемая виртуальная машина GemStone/S является проприетарным продуктом. Бесплатная версия GemStone/S лимитирована возможностью использования кэша размером не более 2 Гб (на общий размер хранимых данных нет ограничений, ограничен только размер кэша).

Окружение MagLev полностью совместимо с веткой Ruby 1.8.7 и включает в себя встроенную поддержку специализированного объектно-ориентированного распределённого NoSQL-хранилища, обеспечивающего выполнение ACID-транзакций и поддерживающего оптимизацию за счет кэширования в оперативной памяти. Благодаря данному хранилищу программное окружение на базе MagLev может обеспечить прозрачную обработку значительного объема (терабайт) данных и кода, даже если они не вмещаются в оперативную память. При этом не делается отличий, какие именно типы объектов, классов, блоков данных и нитей могут быть сохранены и выполнены.

По мнению автора проекта, MagLev скорее стоит рассматривать даже не как Ruby VM с интегрированной БД, а как NoSQL БД, использующую язык Ruby для манипулирования хранимыми данными. Отличительной чертой MagLev является высокая производительность, которая достигается благодаря задействованию высокопроизводительного JIT-компилятора GemStone/S VM, на лету преобразующего псевдокод в машинные инструкции, что позволяет добиться производительности близкой к выполнению нативного кода.

Некоторые особенности MagLev:

# opennet.ru (http://www.opennet.ru/opennews/art.shtml?num=32344)