-irb(main):053:0> g.name
+irb(main):053:0> greeter.name
=> "Betty"
-irb(main):054:0> g.say_hi
+irb(main):054:0> greeter.say_hi
Hi Betty!
=> nil
{% endhighlight %}
diff --git a/ru/documentation/quickstart/4/index.md b/ru/documentation/quickstart/4/index.md
index 8a3bd40ad5..4d247e0eeb 100644
--- a/ru/documentation/quickstart/4/index.md
+++ b/ru/documentation/quickstart/4/index.md
@@ -2,6 +2,7 @@
layout: page
title: "Ruby за двадцать минут"
lang: ru
+translator: "ablzh"
header: |
@@ -66,7 +67,7 @@ end
`each` – это метод, который принимает блок кода и запускает этот блок
кода для каждого элемента в списке. И в примере выше код между `do` и
`end` – это просто некий блок. Блок – это что-то вроде анонимной функции
-или `лямбды`. Переменная между знаками (|) – это параметр для данного
+или лямбда-функции (`lambda`). Переменная между знаками (|) – это параметр для данного
блока, как раз тот самый элемент списка, на которым будет производится
действие в блоке кода.
@@ -89,8 +90,8 @@ for (i=0; i
@@ -21,8 +22,8 @@ header: |
Здесь представлено небольшое введение в Ruby, которое должно занять не
более двадцати минут. Предполагается, что вы уже установили Ruby. (Если
-на вашем компьютере нет Ruby, [скачайте](/ru/downloads/)
-и установите его перед тем как начать.)
+на вашем компьютере нет Ruby, [установите его](/ru/documentation/installation/)
+перед тем как начать.)
## Интерактивный Ruby
diff --git a/ru/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/index.md b/ru/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/index.md
index b7fed00f27..45ef86022d 100644
--- a/ru/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/index.md
+++ b/ru/documentation/ruby-from-other-languages/to-ruby-from-c-and-cpp/index.md
@@ -2,6 +2,7 @@
layout: page
title: "В Ruby из C и C++"
lang: ru
+translator: "ablzh"
---
Довольно трудно составить список того, как ваш код на С или С++ будет отличаться
@@ -60,14 +61,13 @@ Ruby программе, или какие методы будут вызван
В Ruby в отличие от C...
+* не нужно компилировать код — его можно сразу запускать.
* объекты строго типизированы (а переменные не имеют собственного типа).
* отсутствуют макросы и препроцессоры, нет привидения типов, нет ни указателей, ни
арифметики с ними, нет псевдонимов для типов, нет sizeof и перечислений.
* нет файлов заголовков - вы просто пишите функции (называемые "методы") и классы в
файлах исходников.
* нет `#define` - используйте константы.
-* начиная с Ruby 1.8 код интерпретируется в runtime, нежели компилируется в некий
- машинный или байт-код.
* все переменные живут в "куче", нет необходимости освобождать память - сборщик мусора
сделает это за вас.
* аргументы передаются в функции-методы по значению, где значения всегда ссылки.
@@ -116,9 +116,9 @@ Ruby программе, или какие методы будут вызван
* можно заново открыть класс и добавить в него методы.
* нет необходимости в шаблонах ("templates"), т.к. можно присвоить переменной любой
тип объекта, а типы все равно определяются в runtime) - нет и приведения типов.
-* итерация происходит несколько иным способом - в Ruby не надо использовать отдельный
- объект итератора (как `vector::const_iterator iter`), а можно "подмешать" в класс
- модуль `Enumerator` и просто вызвать метод `each`.
+* итерация происходит несколько иначе — не нужен отдельный объект итератора
+ (как `vector::const_iterator iter`). Достаточно вызвать метод контейнера,
+ например `each`, и передать ему блок, который получит каждый элемент по очереди.
* есть всего 2 вида контейнеров - `Array` и `Hash`.
* нет преобразований типов - в Ruby оно вам скорее всего не понадобится.
* встроенная поддержка многопоточности, но в Ruby 1.8 это т.н. "green threads" (живущие
diff --git a/ru/documentation/ruby-from-other-languages/to-ruby-from-java/index.md b/ru/documentation/ruby-from-other-languages/to-ruby-from-java/index.md
index ddba6f016b..ac83639f26 100644
--- a/ru/documentation/ruby-from-other-languages/to-ruby-from-java/index.md
+++ b/ru/documentation/ruby-from-other-languages/to-ruby-from-java/index.md
@@ -2,6 +2,7 @@
layout: page
title: "В Ruby из Java"
lang: ru
+translator: "ablzh"
---
Java - это энтерпрайзно. Проверено. И быстро (не смотря на то, что утверждают
@@ -23,15 +24,15 @@ Java - это энтерпрайзно. Проверено. И быстро (н
В отличие от Java в Ruby...
* не надо компилировать код - он интерпретируется.
-* есть несколько популярных GUI тулкитов - можно попробовать [WxRuby][1], [FxRuby][2],
- [Ruby-GNOME2][3], [Qt][4], или [Ruby Tk](https://github.com/ruby/tk), например.
+* есть несколько популярных сторонних GUI тулкитов - можно попробовать [WxRuby][1],
+ [FXRuby][2], [Ruby-GNOME][3] или [Ruby Tk](https://github.com/ruby/tk), например.
* в конце определения класса используется ключевое слово `end`, вместо заключения
кода в скобки.
* вместо `import` пишется `require`.
* все члены класса приватны - снаружи доступ осуществляется через методы.
* скобки при вызове метода не обязательны.
* все - это объект, включая числа как 2 или 3.14159.
-* отсутствует проверка типа.
+* отсутствует статическая проверка типов.
* имена переменных - это просто обозначения, для них нет специального типа.
* нет объявления типа - можно просто присваивать переменные "на лету" (например,
`a = [1,2,3]` вместо `int[] a = {1,2,3};`).
@@ -47,7 +48,6 @@ Java - это энтерпрайзно. Проверено. И быстро (н
(как `==` в Java).
-[1]: https://github.com/eumario/wxruby
+[1]: https://github.com/mcorino/wxRuby3
[2]: https://github.com/larskanis/fxruby
-[3]: https://ruby-gnome2.osdn.jp/
-[4]: https://github.com/ryanmelt/qtbindings/
+[3]: https://ruby-gnome.github.io/
diff --git a/ru/documentation/ruby-from-other-languages/to-ruby-from-perl/index.md b/ru/documentation/ruby-from-other-languages/to-ruby-from-perl/index.md
index 622e9711ad..1e2583f6f8 100644
--- a/ru/documentation/ruby-from-other-languages/to-ruby-from-perl/index.md
+++ b/ru/documentation/ruby-from-other-languages/to-ruby-from-perl/index.md
@@ -2,12 +2,12 @@
layout: page
title: "В Ruby из Perl"
lang: ru
+translator: "ablzh"
---
Perl прекрасен. Документация Perl'а прекрасна. Коммьюнити Perl ...прекрасно.
-Однако, сам язык довольно обширен и сложен. Ruby подойдет тем пользователям Perl,
-которые хотели бы более простого временами, более ортогонального языка с
-объектно-ориентированной парадигмой, вписанной в язык с рождения.
+Ruby может подойти пользователям Perl, которым нужны элегантные возможности
+объектно-ориентированного программирования, встроенные в язык с самого начала.
### Сходства
@@ -44,7 +44,7 @@ Perl прекрасен. Документация Perl'а прекрасна. К
и ветвления заканчиваются ключевым словом `end`.
* объекты строго типизированы - надо руками вызывать `foo.to_i`, `foo.to_s` и т.д.,
если надо преобразовывать типы.
-* нет `eq`, `ne`, `lt`, `gt`, `le`.
+* нет `eq`, `ne`, `lt`, `gt`, `ge`, `le`.
* нет `<>` ("diamond operator") - используется `IO.some_method`.
* `=>` ("fat comma") используется только в определениях хешей.
* нет `undef` - есть `nil` и это объект (как и все в Ruby), но присвоить переменной
diff --git a/ru/documentation/ruby-from-other-languages/to-ruby-from-python/index.md b/ru/documentation/ruby-from-other-languages/to-ruby-from-python/index.md
index 5467f8bf09..c7c18ce8b9 100644
--- a/ru/documentation/ruby-from-other-languages/to-ruby-from-python/index.md
+++ b/ru/documentation/ruby-from-other-languages/to-ruby-from-python/index.md
@@ -2,6 +2,7 @@
layout: page
title: "В Ruby из Python"
lang: ru
+translator: "ablzh"
---
Python - еще один прекрасный язык общего назначения. Переходя в Ruby из Python,
@@ -24,6 +25,8 @@ Python - еще один прекрасный язык общего назнач
* все - объект, а переменные - ссылки на объекты.
* ключевые слова немного отличаются, работа с исключениями почти такая же
* имеется встроенная утилита для документации (`rdoc`)
+* хорошо поддерживается функциональное программирование: функции как объекты
+ первого класса (first-class functions), анонимные функции и замыкания.
### Отличия
@@ -34,9 +37,10 @@ Python - еще один прекрасный язык общего назнач
* есть несколько требований к регистру букв (имена классов начинаются с заглавной
буквы, переменные - со строчной)
* есть только один тип для списка (`Array`), он мутабелен.
-* двойные кавычки используются для интерполирования строк, чтобы включать в строку
- Ruby выражение вместо `"сложения " + "строк"`), одинарный кавычки похожи на строки
- `r"raw string"`.
+* строки в двойных кавычках поддерживают управляющие последовательности (например,
+ `\t`) и интерполяцию выражений: результаты выражений Ruby можно вставлять прямо
+ в строки вместо `"add " + "strings " + "together"`. Строки в одинарных кавычках
+ похожи на `r"raw strings"` в Python.
* нет "новых" и "старых" классов, просто класс (как в Python 3, где это исправлено,
но который не полностью совместим с Python 2.*).
* отсутствует прямой доступ к атрибутам - в Ruby это всегда будет вызовом метода.
@@ -55,6 +59,11 @@ Python - еще один прекрасный язык общего назнач
же используются для автоматически генерируемой документации.
* есть несколько сокращений, которые стоит запомнить, но именно это и превращает
написание кода на Ruby в увлекательное занятие и способствует продуктивности.
-* нет способа разыменовать переменную, созданную однажды (как `del` в Python), но
- можно присвоить ей значение `nil` - тогда значение будет собрано сборщиком мусора,
- но переменная все равно останется в текущей области видимости.
+* нет способа удалить переменную после присваивания (как с помощью `del` в Python).
+ Можно присвоить ей `nil`, чтобы сборщик мусора мог удалить прежнее содержимое,
+ но сама переменная останется в таблице символов, пока находится в области видимости.
+* ключевое слово `yield` работает иначе. В Python оно передаёт управление за пределы
+ вызова функции, а внешний код отвечает за её возобновление. В Ruby `yield`
+ выполняет функцию, переданную последним аргументом, и сразу возвращает управление.
+* Python поддерживает только один вид анонимных функций — лямбда-функции,
+ а в Ruby есть блоки, объекты `Proc` и лямбда-функции.
diff --git a/ru/documentation/success-stories/index.md b/ru/documentation/success-stories/index.md
index c5885beadf..e08f97aa64 100644
--- a/ru/documentation/success-stories/index.md
+++ b/ru/documentation/success-stories/index.md
@@ -2,6 +2,7 @@
layout: page
title: "Успешный опыт"
lang: ru
+translator: "ablzh"
---
Многие люди используют Ruby на их повседневных работах. Другие лишь в
@@ -56,14 +57,18 @@ lang: ru
#### Безопасность
-* [Metasploit Framework][metasploit], проект с открытым исходным кодом,
+* [Metasploit Framework][metasploit], open source проект сообщества,
поддерживаемый [Rapid7][rapid7], это бесплатная платформа проникающего
тестирования,
которая помогает IT профессионалам проверить безопасность их сети и
приложений. Metasploit Project содержит более 700 000 строк кода и был
скачан больше миллиона раз в 2010 году.
- Коммерческая версия Metasploit Express и Metasploit Pro разработаны Rapid7
- и так же написаны на Ruby.
+ Коммерческие редакции, разработанные Rapid7, также основаны на Ruby.
+
+* [Arachni Web Application Security Scanner][arachni] — бесплатный, модульный,
+ высокопроизводительный фреймворк на Ruby, помогающий специалистам по тестированию
+ на проникновение (penetration testing) и администраторам оценивать безопасность
+ современных веб-приложений.
@@ -77,3 +82,4 @@ lang: ru
[metasploit]: http://www.metasploit.com
[rapid7]: http://www.rapid7.com
+[arachni]: http://www.arachni-scanner.com/
diff --git a/ru/libraries/index.md b/ru/libraries/index.md
index 40d980a7f9..1ee76c8197 100644
--- a/ru/libraries/index.md
+++ b/ru/libraries/index.md
@@ -2,13 +2,17 @@
layout: page
title: "Библиотеки"
lang: ru
+translator: "ablzh"
---
Как и в большинстве языков программирования, в Ruby можно использовать широкий
набор сторонних библиотек.
{: .summary}
-Большая часть из них реализована в форме **гема**. [**RubyGems**][1] –
+Почти все эти библиотеки выпускаются в форме **гема** — упакованной библиотеки
+или приложения, которые можно установить с помощью [**RubyGems**][1].
+
+RubyGems —
менеджер пакетов Ruby, созданный для упрощения процесса создания,
распространения и установки библиотек (в каком-то смысле это
распределенный пакетный менеджер, похожий, скажем, на `apt-get`, но
@@ -36,10 +40,9 @@ Rails библиотек. С опцией `--local`(`-l`) вы можете пр
командой `gem list`. Для более подробной информации о команде `gem`
смотрите ниже или почитайте [документацию RubyGems][3].
-Также есть и другие источники библиотек. [RubyForge][4] был популярным
-домом для библиотек Ruby, но в последний год возросла популярность [**GitHub**][5],
-как одного из главных хранилищ исходного кода приложений околорубиевой тематики.
-Намного чаще сейчас исходный код гема размещен на GitHub и сам гем опубликован
+Есть и другие источники библиотек.
+[**GitHub**][5] — основное хранилище исходного кода проектов, связанных с Ruby.
+Чаще всего исходный код гема размещается на GitHub, а готовый гем публикуется
на RubyGems.org.
[**The Ruby Toolbox**][6] это проект, который позволяет легче
@@ -128,7 +131,6 @@ RubyGems.
[1]: https://rubygems.org/
[2]: https://rubygems.org/pages/download/
[3]: http://guides.rubygems.org/
-[4]: http://rubyforge.org/
[5]: https://github.com/
[6]: https://www.ruby-toolbox.com/
[7]: http://guides.rubygems.org/command-reference/
diff --git a/ru/news/_posts/2013-02-08-ruby-2-0-0-rc2-is-released.md b/ru/news/_posts/2013-02-08-ruby-2-0-0-rc2-is-released.md
index 648e39095d..edf26aa11d 100644
--- a/ru/news/_posts/2013-02-08-ruby-2-0-0-rc2-is-released.md
+++ b/ru/news/_posts/2013-02-08-ruby-2-0-0-rc2-is-released.md
@@ -2,7 +2,7 @@
layout: news_post
title: "Вышел Ruby 2.0.0-rc2"
author: "Yusuke Endoh"
-translate: "gazay"
+translator: "ablzh"
date: 2013-02-08 14:34:17 +0000
lang: ru
---
@@ -47,9 +47,10 @@ Ruby 2.0.0.
* Поддержка NativeClient
* Улучшена документация
* Расширенный асинхронный обработчик прерываний
+* Параметры настройки размера стека при запуске
* Refinements \[эксперимент\]
-... И многие другие улучшения. Читайте НОВОСТИ, чтобы быть в курсе.
+... И многие другие улучшения. Подробности смотрите в NEWS.
Ниже несколько вступительных статей от сторонних разработчиков:
@@ -68,24 +69,24 @@ Ruby 2.0.0.
## Заметки
-### Incompatibility
+### Несовместимости
Существует три заметных несовместимости, о которых мы знаем:
-* Кодировка по-умолчанию для скриптов ruby теперь UTF-8 \[#6679\].
+* Кодировка по-умолчанию для скриптов ruby теперь UTF-8 [\[#6679\]][10].
Некоторые люди присылают сообщения, что это затрагивает существующие
программы. Например некоторые программы бенчмаркинга стали слишком
- медленными \[ruby-dev:46547\]. Спецификация может измениться к
+ медленными [\[ruby-dev:46547\]][11]. Спецификация может измениться к
официальному релизу.
* Iconv был убран. Он был уже отмечен как устаревший, когда M17N был
представлен в ruby 1.9. Используйте String#encode и другие методы
вместо Iconv.
-* Был сбой ABI \[ruby-core:48984\]. Мы думаем, что обычные пользователи
+* Была нарушена совместимость ABI (ABI breakage) [\[ruby-core:48984\]][12]. Мы думаем, что обычные пользователи
могут/должны просто переустановить библиотеки расширений. Вы должны
быть осторожны: НЕ КОПИРУЙТЕ .so ИЛИ .bundle ФАЙЛЫ ИЗ 1.9.
Также есть несколько сравнительно небольших несовместимостей:
-\[ruby-core:49119\]
+[\[ruby-core:49119\]][13]
Пожалуйста, сообщайте о любых несовместимостях, которые вы замечаете.
FYI: Мы добавляем записи с обновлениями, но часть их уже устарела
diff --git a/ru/news/_posts/2013-11-22-heap-overflow-in-floating-point-parsing-cve-2013-4164.md b/ru/news/_posts/2013-11-22-heap-overflow-in-floating-point-parsing-cve-2013-4164.md
index b3eb446f57..48609319e8 100644
--- a/ru/news/_posts/2013-11-22-heap-overflow-in-floating-point-parsing-cve-2013-4164.md
+++ b/ru/news/_posts/2013-11-22-heap-overflow-in-floating-point-parsing-cve-2013-4164.md
@@ -2,14 +2,14 @@
layout: news_post
title: "Переполнение кучи при парсинге плавающей запятой (CVE-2013-4164)"
author: "tenderlove"
-translator: "gazay"
+translator: "ablzh"
date: 2013-11-22 5:00:00 +0000
tags: security
lang: ru
---
Существует переполнение при парсинге номера с плавающей запятой в Ruby.
-Этой уязвимости назначен CVE идентификатор CVE-2013-4164.
+Этой уязвимости присвоен CVE идентификатор CVE-2013-4164.
## Детали
@@ -36,13 +36,13 @@ lang: ru
## Затронутые версии
-* Все версии Ruby 1.8
+* Все версии Ruby 1.8 после Ruby 1.8.6 patchlevel 230
* Все версии Ruby 1.9 до Ruby 1.9.3 patchlevel 484
* Все версии Ruby 2.0 до Ruby 2.0.0 patchlevel 353
* Все версии Ruby 2.1 до Ruby 2.1.0 preview2
* транк до ревизии 43780
-## Solutions
+## Решения
Всем пользователям рекомендуется обновиться до Ruby 1.9.3 patchlevel 484,
Ruby 2.0.0 patchlevel 353 или Ruby 2.1.0 preview2.
@@ -62,3 +62,4 @@ Ruby 2.0.0 patchlevel 353 или Ruby 2.1.0 preview2.
* Оригинал опубликован 2013-11-22 04:00:00 UTC
* Второй раз опубликовано 2013-11-22 06:46:00 UTC
* Третий раз опубликовано 2013-11-22 22:46:00 UTC
+* Четвёртый раз опубликовано 2013-12-10 12:09:38 UTC
diff --git a/ru/news/_posts/2014-03-29-heap-overflow-in-yaml-uri-escape-parsing-cve-2014-2525.md b/ru/news/_posts/2014-03-29-heap-overflow-in-yaml-uri-escape-parsing-cve-2014-2525.md
index 23f023a118..b43976554d 100644
--- a/ru/news/_posts/2014-03-29-heap-overflow-in-yaml-uri-escape-parsing-cve-2014-2525.md
+++ b/ru/news/_posts/2014-03-29-heap-overflow-in-yaml-uri-escape-parsing-cve-2014-2525.md
@@ -2,14 +2,14 @@
layout: news_post
title: "Переполнение буфера в модуле YAML для URI-закодированных строк (CVE-2014-2525)"
author: "hone and zzak"
-translator: "Vlad Bokov"
+translator: "ablzh"
date: 2014-03-29 01:49:25 +0000
tags: security
lang: ru
---
При парсинге URI-закодированной строки может произойти переполнение буфера в YAML.
-Этой уязвимости присвоен номер
+Этой уязвимости присвоен CVE идентификатор
[CVE-2014-2525](http://www.ocert.org/advisories/ocert-2014-003.html).
## Подробнее
@@ -27,6 +27,11 @@ YAML.load
Ruby 1.9.3-p0 и новее используют psych в качестве парсера YAML по умолчанию.
Все версии модуля psych слинкованные с библиотекой libyaml `<= 0.1.5` подвержены атаке.
+Следующие версии Ruby поставляются с уязвимой версией libyaml:
+
+* Ruby 2.0.0-p451 и более ранние версии,
+* Ruby 2.1.0 и Ruby 2.1.1.
+
Проверить версию libyaml можно так:
{% highlight sh %}
@@ -50,7 +55,10 @@ psych `2.0.5`, которая содержит libyaml `0.1.6`:
$ gem install psych
{% endhighlight %}
+Или обновите Ruby до 2.0.0-p481, 2.1.2 или новее.
+
## История
* Изначально опубликовано 2014-03-29 01:49:25 UTC
* Обновлено 2014-03-29 09:37:00 UTC
+* Обновлено 2014-05-09 03:00:00 UTC
diff --git a/ru/news/_posts/2014-05-31-stopped-mailing-list-temporarily.md b/ru/news/_posts/2014-05-31-stopped-mailing-list-temporarily.md
index 916d736ad1..0bc5df5dac 100644
--- a/ru/news/_posts/2014-05-31-stopped-mailing-list-temporarily.md
+++ b/ru/news/_posts/2014-05-31-stopped-mailing-list-temporarily.md
@@ -1,13 +1,13 @@
---
layout: news_post
-title: "Список рассылки заморожен"
+title: "Работа списков рассылки временно приостановлена"
author: "hsbt"
-translator: "Vlad Bokov"
+translator: "ablzh"
date: 2014-05-31 12:30:00 +0000
lang: ru
---
-Мы временно заморозили список рассылки на ruby-lang.org.
+Мы временно приостановили работу списков рассылки на ruby-lang.org.
Наши списки рассылки подверглись спам-атаке. Мы приостановили следующие рассылки:
@@ -22,3 +22,7 @@ lang: ru
* ruby-math
Приносим свои извинения за перебой и работаем над тем, чтобы возобновить работу как можно скорее.
+
+### Обновление статуса 2014-06-16 9:00 +0000
+
+Мы возобновили работу списков рассылки на ruby-lang.org.
diff --git a/ru/news/_posts/2014-10-27-ruby-2-1-4-released.md b/ru/news/_posts/2014-10-27-ruby-2-1-4-released.md
index fe48628bee..09e0f8e152 100644
--- a/ru/news/_posts/2014-10-27-ruby-2-1-4-released.md
+++ b/ru/news/_posts/2014-10-27-ruby-2-1-4-released.md
@@ -2,7 +2,7 @@
layout: news_post
title: "Вышел Ruby 2.1.4"
author: "nagachika"
-translator: "gazay"
+translator: "ablzh"
date: 2014-10-27 12:00:00 +0000
lang: ru
---
@@ -12,9 +12,9 @@ lang: ru
Этот релиз содержит исправления уязвимостей безопасности:
* [CVE-2014-8080: DoS уязвимость в REXML](https://www.ruby-lang.org/ru/news/2014/10/27/rexml-dos-cve-2014-8080/)
-* [Изменились дефолтные настройки ext/openssl](https://www.ruby-lang.org/ru/news/2014/10/27/changing-default-settings-of-ext-openssl/)
+* [Изменены настройки ext/openssl по умолчанию в связи с CVE-2014-3566](https://www.ruby-lang.org/ru/news/2014/10/27/changing-default-settings-of-ext-openssl/)
-И несколько других фиксов.
+И несколько других исправлений ошибок.
См. [тикеты](https://bugs.ruby-lang.org/projects/ruby-21/issues?set_filter=1&status_id=5)
и [лог изменений](https://svn.ruby-lang.org/repos/ruby/tags/v2_1_4/ChangeLog)
diff --git a/ru/news/_posts/2014-12-18-ruby-2-2-0-rc1-released.md b/ru/news/_posts/2014-12-18-ruby-2-2-0-rc1-released.md
index 4fa2184fdc..a0cd34a666 100644
--- a/ru/news/_posts/2014-12-18-ruby-2-2-0-rc1-released.md
+++ b/ru/news/_posts/2014-12-18-ruby-2-2-0-rc1-released.md
@@ -2,7 +2,7 @@
layout: news_post
title: "Вышел Ruby 2.2.0-rc1"
author: "naruse"
-translator: "arbox"
+translator: "ablzh"
date: 2014-12-18 09:00:00 +0000
lang: ru
---
@@ -23,7 +23,7 @@ lang: ru
Кроме этого, уменьшенные интервалы при работе сборщика мусора (благодаря новому
инкрементальному алгоритму) положительно скажутся на работе существующих
приложений на Rails. Последние изменения, упоминавшиеся в
-[блоге Rails](http://weblog.rubyonrails.org/2014/12/19/Rails-4-2-final/),
+[блоге Rails](http://weblog.rubyonrails.org/),
показывают, что Rails 5.0 выиграет от применения как инкрементального
алгоритма сборщика, так и сборщика символов.
@@ -45,7 +45,7 @@ lang: ru
полезным окажется это нововведение.
Попробуйте новую версию и получайте удовольствие от программирования на Ruby
-2.2.0-rc-1. И сообщайте о ваших успехах!
+2.2.0-rc1. И сообщайте о ваших успехах!
## Важные изменения в сравнении с версией 2.1
diff --git a/ru/news/_posts/2014-12-25-ruby-2-2-0-released.md b/ru/news/_posts/2014-12-25-ruby-2-2-0-released.md
index cbbd2aad34..e99720a4eb 100644
--- a/ru/news/_posts/2014-12-25-ruby-2-2-0-released.md
+++ b/ru/news/_posts/2014-12-25-ruby-2-2-0-released.md
@@ -2,7 +2,7 @@
layout: news_post
title: "Вышел Ruby 2.2.0"
author: "naruse"
-translator: "arbox"
+translator: "ablzh"
date: 2014-12-25 09:00:00 +0000
lang: ru
---
@@ -48,9 +48,9 @@ lang: ru
## Важные изменения в сравнении с версией 2.1
* [Инкрементальный алгоритм сборщика](https://bugs.ruby-lang.org/issues/10137)
- ([YARV Maniacs No.12](http://magazine.rubyist.net/?0048-YARVManiacs))
+ ([презентация на RubyConf 2014: "Incremental GC for Ruby interpreter"](http://www.atdot.net/~ko1/activities/2014_rubyconf_pub.pdf))
* [Сборщик для символов](https://bugs.ruby-lang.org/issues/9634)
- ([презентация на RubyKaigi 2014: "Incremental GC for Ruby interpreter"](http://www.atdot.net/~ko1/activities/2014_rubyconf_pub.pdf))
+ ([презентация на RubyKaigi 2014](http://www.slideshare.net/authorNari/symbol-gc))
* configure --with-jemalloc
[Feature #9113](https://bugs.ruby-lang.org/issues/9113)
* Ядро:
diff --git a/ru/news/_posts/2015-04-13-ruby-2-0-0-p645-released.md b/ru/news/_posts/2015-04-13-ruby-2-0-0-p645-released.md
index ad1faf97db..bb43387b48 100644
--- a/ru/news/_posts/2015-04-13-ruby-2-0-0-p645-released.md
+++ b/ru/news/_posts/2015-04-13-ruby-2-0-0-p645-released.md
@@ -2,7 +2,7 @@
layout: news_post
title: "Вышел Ruby 2.0.0-p645"
author: "usa"
-translator: "gazay"
+translator: "ablzh"
date: 2015-04-13 12:00:00 +0000
lang: ru
---
@@ -14,7 +14,7 @@ lang: ru
* [CVE-2015-1855: Ruby OpenSSL верификация имени хоста](https://www.ruby-lang.org/ru/news/2015/04/13/ruby-openssl-hostname-matching-vulnerability/)
-Ruby 1.9.3 на данный момент находится в стадии поддержки безопасности, до 24-го февраля 2016 года.
+Ruby 2.0.0 на данный момент находится в стадии поддержки безопасности, до 24-го февраля 2016 года.
После этого поддержка Ruby 2.0.0 будет остановлена.
Мы рекомендуем вам начать планировать переход на более новую версию Ruby, такую как 2.1 или 2.2.
diff --git a/ru/news/_posts/2019-05-30-ruby-2-7-0-preview1-released.md b/ru/news/_posts/2019-05-30-ruby-2-7-0-preview1-released.md
index 8ce23ecc86..fcf7419b5b 100644
--- a/ru/news/_posts/2019-05-30-ruby-2-7-0-preview1-released.md
+++ b/ru/news/_posts/2019-05-30-ruby-2-7-0-preview1-released.md
@@ -2,7 +2,7 @@
layout: news_post
title: "Вышел Ruby 2.7.0-preview1"
author: "naruse"
-translator: "shprotru"
+translator: "ablzh"
date: 2019-05-30 00:00:00 +0000
lang: ru
---
@@ -90,7 +90,7 @@ end
* `Date.jisx0301`, `Date#jisx0301`, и `Date.parse` предварительно поддерживают новую Японскую эру в качестве неофициального расширения, пока не будет выпущен новый JIS X 0301. [[Feature #15742]](https://bugs.ruby-lang.org/issues/15742)
* Требование к компиляторам поддерживать C99 [[Misc #15347]](https://bugs.ruby-lang.org/issues/15347)
- * Подробнее:
+ * Подробнее:
Смотрите [НОВОСТИ](https://github.com/ruby/ruby/blob/v2_7_0_preview1/NEWS) или [историю коммитов](https://github.com/ruby/ruby/compare/v2_6_0...v2_7_0_preview1) для подробностей об изменениях.
diff --git a/ru/news/_posts/2019-10-22-ruby-2-7-0-preview2-released.md b/ru/news/_posts/2019-10-22-ruby-2-7-0-preview2-released.md
index c81df7679e..91aec649b8 100644
--- a/ru/news/_posts/2019-10-22-ruby-2-7-0-preview2-released.md
+++ b/ru/news/_posts/2019-10-22-ruby-2-7-0-preview2-released.md
@@ -2,12 +2,12 @@
layout: news_post
title: "Вышел Ruby 2.7.0-preview2"
author: "naruse"
-translator: "shprotru"
+translator: "ablzh"
date: 2019-10-22 12:00:00 +0000
lang: ru
---
-Мы рады сообщить о выпуске Ruby 2.7.0-preview 2.
+Мы рады сообщить о выпуске Ruby 2.7.0-preview2.
Предварительная версия выходит, чтобы собрать обратную связь для окончательного релиза, запланированного на декабрь. В нём вводится ряд новшеств и улучшений производительности, в первую очередь:
@@ -213,7 +213,7 @@ end
* `Date.jisx0301`, `Date#jisx0301`, и `Date.parse` предварительно поддерживают новую Японскую эру. [[Feature #15742]](https://bugs.ruby-lang.org/issues/15742)
* Требование к компиляторам поддерживать C99 [[Misc #15347]](https://bugs.ruby-lang.org/issues/15347)
- * Подробнее о нашем диалекте:
+ * Подробнее о нашем диалекте:
Смотрите [НОВОСТИ](https://github.com/ruby/ruby/blob/v2_7_0_preview2/NEWS) или [историю коммитов](https://github.com/ruby/ruby/compare/v2_6_0...v2_7_0_preview2) для подробностей об изменениях.
diff --git a/ru/news/_posts/2019-11-23-ruby-2-7-0-preview3-released.md b/ru/news/_posts/2019-11-23-ruby-2-7-0-preview3-released.md
index e09f0acd36..815791e50c 100644
--- a/ru/news/_posts/2019-11-23-ruby-2-7-0-preview3-released.md
+++ b/ru/news/_posts/2019-11-23-ruby-2-7-0-preview3-released.md
@@ -2,7 +2,7 @@
layout: news_post
title: "Вышел Ruby 2.7.0-preview3"
author: "naruse"
-translator: "shprotru"
+translator: "ablzh"
date: 2019-11-23 12:00:00 +0000
lang: ru
---
@@ -315,7 +315,7 @@ end
* Требование к компиляторам поддерживать C99
[[Misc #15347]](https://bugs.ruby-lang.org/issues/15347)
* Подробнее о нашем диалекте:
-
+
* ~~`Regexp#match{?}` с `nil` приводит к TypeError as String, Symbol.
[[Feature #13083]](https://bugs.ruby-lang.org/issues/13083)~~ отменено
diff --git a/ru/news/_posts/2021-05-02-os-command-injection-in-rdoc.md b/ru/news/_posts/2021-05-02-os-command-injection-in-rdoc.md
index 7f5a04d31a..6f0f5ff3ff 100644
--- a/ru/news/_posts/2021-05-02-os-command-injection-in-rdoc.md
+++ b/ru/news/_posts/2021-05-02-os-command-injection-in-rdoc.md
@@ -2,7 +2,7 @@
layout: news_post
title: "CVE-2021-31799: Уязвимость внедрения команды в RDoc"
author: "aycabta"
-translator: "nakilon"
+translator: "ablzh"
date: 2021-05-02 09:00:00 +0000
tags: security
lang: ru
@@ -13,7 +13,7 @@ lang: ru
## Подробности
-Сообщество об уязвимости:
+Сообщено о следующей уязвимости:
* [CVE-2021-31799](https://www.cve.org/CVERecord?id=CVE-2021-31799)
@@ -24,6 +24,7 @@ RDoc использовал `Kernel#open` для открытия локальн
## Уязвимые версии
* Все версии RDoc от 3.11 до 6.3.0
+* Ruby 3.0.2 (поставляется с RDoc 6.3.1), Ruby 2.7.4 (поставляется с RDoc 6.2.1.1) и Ruby 2.6.8 (поставляется с RDoc 6.1.2.1) уже содержат исправления и потому не подвержены уязвимости
## Как обновиться
@@ -42,4 +43,4 @@ gem install rdoc
## История
* Изначально опубликовано в 2021-05-02 09:00:00 UTC
-* Ruby 3.0.2 (поставляется с RDoc 6.3.1), Ruby 2.7.4 (поставляется с RDoc 6.2.1.1) and Ruby 2.6.8 (поставляется с RDoc 6.1.2.1) уже содержат исправления и потому не подвержены уязвимости
+* Сведения о Ruby 3.0.2, Ruby 2.7.4 и Ruby 2.6.8 добавлены 2021-07-16 00:02:00 UTC
diff --git a/ru/news/_posts/2025-03-26-ruby-3-2-8-released.md b/ru/news/_posts/2025-03-26-ruby-3-2-8-released.md
index aed2b33b45..97a91e5d99 100644
--- a/ru/news/_posts/2025-03-26-ruby-3-2-8-released.md
+++ b/ru/news/_posts/2025-03-26-ruby-3-2-8-released.md
@@ -17,7 +17,7 @@ lang: ru
## Скачать
-{% assign release = site.data.releases | where: "version", "3.2.8" | first %}http://127.0.0.1:4000
+{% assign release = site.data.releases | where: "version", "3.2.8" | first %}
- <{{ release.url.gz }}>
diff --git a/ru/news/_posts/2025-10-23-ruby-3-3-10-released.md b/ru/news/_posts/2025-10-23-ruby-3-3-10-released.md
index 00eff7b638..ef9a65c9ec 100644
--- a/ru/news/_posts/2025-10-23-ruby-3-3-10-released.md
+++ b/ru/news/_posts/2025-10-23-ruby-3-3-10-released.md
@@ -13,7 +13,7 @@ lang: ru
Мы рекомендуем обновить вашу версию гема uri. Этот релиз подготовлен для удобства тех, кто хочет продолжать использовать его как стандартный гем.
-## Download
+## Скачать
{% assign release = site.data.releases | where: "version", "3.3.10" | first %}
diff --git a/ru/news/_posts/2025-12-18-ruby-4-0-0-preview3-released.md b/ru/news/_posts/2025-12-18-ruby-4-0-0-preview3-released.md
index a3dc30e80d..b3481c2ecd 100644
--- a/ru/news/_posts/2025-12-18-ruby-4-0-0-preview3-released.md
+++ b/ru/news/_posts/2025-12-18-ruby-4-0-0-preview3-released.md
@@ -213,7 +213,7 @@ Ruby 4.0 представляет Ruby::Box и «ZJIT», а также соде
* logger 1.7.0
* rdoc 6.17.0
* win32ole 1.9.2
-* irb 1.15.3
+* irb 1.16.0
* reline 0.6.3
* readline 0.0.4
* fiddle 1.1.8
@@ -229,52 +229,53 @@ Ruby 4.0 представляет Ruby::Box и «ZJIT», а также соде
Обновлены следующие default гемы.
-* RubyGems 4.0.1
-* bundler 4.0.1
+* RubyGems 4.0.2
+* bundler 4.0.2
* date 3.5.1
* digest 3.2.1
* english 0.8.1
-* erb 6.0.0
+* erb 6.0.1
* etc 1.4.6
* fcntl 1.3.0
* fileutils 1.8.0
* forwardable 1.4.0
-* io-console 0.8.1
+* io-console 0.8.2
* io-nonblock 0.3.2
-* io-wait 0.4.0.dev
+* io-wait 0.4.0
* ipaddr 1.2.8
-* json 2.17.1
-* net-http 0.8.0
-* openssl 4.0.0.pre
+* json 2.18.0
+* net-http 0.9.1
+* openssl 4.0.0
* optparse 0.8.1
* pp 0.6.3
* prism 1.6.0
-* psych 5.3.0
+* psych 5.3.1
* resolv 0.7.0
-* stringio 3.1.9.dev
-* strscan 3.1.6.dev
-* timeout 0.5.0
+* stringio 3.2.0
+* strscan 3.1.6
+* time 0.4.2
+* timeout 0.6.0
* uri 1.1.1
* weakref 0.1.4
* zlib 3.2.2
Обновлены следующие bundled гемы.
-* minitest 5.26.2
+* minitest 5.27.0
* power_assert 3.0.1
* rake 13.3.1
* test-unit 3.7.3
* rexml 3.4.4
* net-ftp 0.3.9
-* net-imap 0.5.12
+* net-imap 0.6.1
* net-smtp 0.5.1
* matrix 0.4.3
* prime 0.1.4
-* rbs 3.9.5
+* rbs 3.10.0.pre.2
* typeprof 0.31.0
* debug 1.11.0
* base64 0.3.0
-* bigdecimal 3.3.1
+* bigdecimal 4.0.1
* drb 2.2.3
* syslog 0.3.0
* csv 3.3.5
diff --git a/ru/news/_posts/2025-12-25-ruby-4-0-0-released.md b/ru/news/_posts/2025-12-25-ruby-4-0-0-released.md
index b9c35c24e3..cc46b4b691 100644
--- a/ru/news/_posts/2025-12-25-ruby-4-0-0-released.md
+++ b/ru/news/_posts/2025-12-25-ruby-4-0-0-released.md
@@ -624,7 +624,7 @@ Ruby 4.0 включает RubyGems и Bundler версии 4. Смотрите
* `--rjit` удален. Мы перенесем реализацию стороннего JIT API
в репозиторий [ruby/rjit](https://github.com/ruby/rjit).
-Смотрите [NEWS](https://docs.ruby-lang.org/en/{{ release.tag }}/NEWS_md.html)
+Смотрите [NEWS](https://docs.ruby-lang.org/en/4.0/NEWS_md.html)
или [логи коммитов](https://github.com/ruby/ruby/compare/v3_4_0...{{ release.tag }})
для подробностей.
diff --git a/ru/news/_posts/2026-03-26-ruby-3-3-11-released.md b/ru/news/_posts/2026-03-26-ruby-3-3-11-released.md
index d412ed7d9e..281575ea4d 100644
--- a/ru/news/_posts/2026-03-26-ruby-3-3-11-released.md
+++ b/ru/news/_posts/2026-03-26-ruby-3-3-11-released.md
@@ -11,6 +11,8 @@ lang: ru
Подробности можно найти в [заметках о релизе на GitHub](https://github.com/ruby/ruby/releases/tag/v3_3_11).
+## График релизов
+
Это последний релиз в рамках обычного обслуживания ветки Ruby 3.3. После этого выпуска Ruby 3.3 переходит в фазу поддержки безопасности. В течение этой фазы мы будем бэкпортировать только исправления уязвимостей и критических проблем сборки, без обычных исправлений ошибок.
Фаза поддержки безопасности продлится один год, до конца марта 2027 года. После этого официальная поддержка Ruby 3.3 будет прекращена. Мы рекомендуем начать планирование перехода на Ruby 3.4 или 4.0.
diff --git a/ru/news/_posts/2026-03-27-ruby-3-2-11-released.md b/ru/news/_posts/2026-03-27-ruby-3-2-11-released.md
index c0b6679ce5..b25d028698 100644
--- a/ru/news/_posts/2026-03-27-ruby-3-2-11-released.md
+++ b/ru/news/_posts/2026-03-27-ruby-3-2-11-released.md
@@ -11,6 +11,8 @@ lang: ru
Подробности можно найти в [заметках о релизе на GitHub](https://github.com/ruby/ruby/releases/tag/v3_2_11).
+## График релизов
+
Это финальный релиз ветки Ruby 3.2. Мы больше не будем выпускать обновления, включая исправления уязвимостей, для Ruby 3.2.
Мы рекомендуем обновиться до Ruby 3.4 или 4.0.