LINUX.ORG.RU

Ruby


104

14

Всего сообщений: 100

31 год назад создан язык программирования Ruby

Группа Разработка

23 февраля 1993 года появился Ruby — динамический, рефлективный, интерпретируемый высокоуровневый язык программирования. Язык обладает независимой от операционной системы реализацией многопоточности, сильной динамической типизацией, сборщиком мусора и многими другими возможностям. По особенностям синтаксиса он близок к языкам Perl и Eiffel, по объектно-ориентированному подходу — к Smalltalk.

Также некоторые черты языка взяты из Python, Lisp, Dylan и Клу. Кроссплатформенная реализация интерпретатора языка является полностью свободной.

 

Attila
()

Выпущены Ruby 2.6.10, 2.7.6, 3.0.4, 3.1.2 с исправлениями уязвимостей

Группа Безопасность

А именно:

  • CVE-2022-28738: двойное высвобождение памяти в регулярных выражениях. Проявляется на специально созданных входных строках. Хоть в целом и не следует создавать регулярные выражения из строк, полученных из недоверенных источников — уязвимость подтверждена и исправлена. Затронутые ветки: 3.0 и 3.1, ветки 2.6 и 2.7 не затронуты.

  • CVE-2022-28739: чтение данных за пределами буфера при конвертации строк в числа с плавающей точкой. Присутствует во внутренней функции, использующейся, например, в Kernel#Float и String#to_f. Обычно приводит к ошибке сегментации и краху процесса, но в определённых условиях может использоваться для чтения памяти за пределами буфера. Затронуты ветки 2.6, 2.7, 3.0 и 3.1.

Спасибо piao за обнаружение уязвимостей.

Также следует отметить, что, начиная с этих выпусков, поддержка ветки 2.6 прекращается и исправлений новых уязвимостей не будет — возможны исправления только очень серьёзных регрессий. Ветка 2.7 же переходит из фазы полноценной поддержки в фазу обновлений безопасности, которая будет длиться год. Рекомендуется уже сейчас начать перевод проектов на использование версий Ruby 3.0 или 3.1.

Скачать:

>>> 3.1.2

>>> 3.0.4

>>> 2.7.6

>>> 2.6.10

 , , ,

bodqhrohro_is_back
()

CVE-2021-41817: DoS-уязвимость обработки дат в Ruby

Группа Безопасность

Выпущены обновлённые версии 3.2.1, 3.1.2, 3.0.2 и 2.0.1 гема date, содержащие исправление безопасности, связанное с уязвимостью типа ReDoS (отказ от обслуживания в регулярных выражениях) в методах разбора дат. С её помощью можно совершить реальную DoS-атаку.

( читать дальше... )

Спасибо svalkanov за обнаружение уязвимости.

>>> Источник

 , , , ,

mertvoprog
()

Ruby 3.0.0

Ruby 3.0.0
Группа Разработка

Вышел новый релиз динамического рефлективного интерпретируемого высокоуровневого объектно-ориентированного языка программирования
Ruby версии 3.0.0. По заявлению авторов, зафиксировано утроение производительности (по тесту Optcarrot), таким образом достигнута поставленная в 2016 году цель, описанная в концепции Ruby 3x3.

( читать дальше... )

>>> Подробности

 ,

linuks
()

Вышел Crystal 0.34.0

Группа Разработка

Вышла новая версия Crystal, компилируемого языка программирования с синтаксисом Ruby, главные особенности которого — рантайм с «вмонтированным» event loop’ом, в котором все операции ввода-вывода асинхронны, поддержка многопоточности (пока включается флагом при компиляции) и исключительно простая и удобная работа с библиотеками на Си.

Начиная с версии 0.34.0, язык официально начинает твёрдой поступью двигаться в сторону первого настоящего релиза (т.е. версии 1.0).

В новой версии Crystal можно отметить следующие изменения и улучшения в порядке их важности:

  • В API добавлена новая библиотека журналирования Log, которая, в отличие от старой, умеет направлять сообщения в разные бекенды и по-разному эти сообщения фильтровать в зависимости от «источника».

  • Рудименты из мира разработки на Си, Errno и WinError, использовавшиеся для примитивов ввода-вывода, уходят в прошлое благодаря иерархии исключений IO::Error (впрочем, использовать Errno никто пока не запрещает).

  • Убрана автоматическая подстановка else nil из оператора case/when/else. Это сделано для того, чтобы исключить случайный пропуск разработчиком одной из веток when при матчинге по детерминированным случаям наподобие enum’ов и прохода по типам из Union’а. Т.е., проще говоря, вот такой код больше работать не будет без указания ещё одного when (when Char) или задания else-ветки:

a = 1 || 'x' || "foo"
case a
when Int32
  # ...
when String
  # ...
end
  • Опция компилятора disable_overflow больше недоступна. Для операций с переполнением используйте методы &+, &-, &*.

  • Array#fill теперь летает быстрее пули, благодаря замене туповатого цикла на один простой memset;

  • Менеджер шардов (пакетов), называющихся, как это ни парадоксально, shards, теперь использует более быстрый и эффективный алгоритм удовлетворения зависимостей Molinillo, подсмотренный в CocoaPods (Swift) и Builder (Ruby).

  • Добавлена поддержка LLVM 10, что по идее даст нам некий рост производительности, стабильности, etc.

… и множество других, на мой субъективный взгляд, менее существенных улучшений.

Хотелось бы отметить, что Crystal — это построенный на LLVM язык, позволяющий писать приложения порой быстрее, проще и лаконичнее, чем на его интерпретируемых «собратьях», и при этом получать на выходе довольно шустрый бинарник. На фоне Golang выделяется абсолютно полноценным ООП, поддержкой дженериков и очень простым и понятным синтаксисом. По своему назначению во многом аналогичен Nim, но при этом явным образом ориентирован на практическое применение «здесь и сейчас», благодаря чему имеет в своём API-арсенале множество нормально документированных удобных и качественных инструментов, поддерживаемых разработчиками языка и потому весьма стабильных.

>>> Анонс в блоге Crystal

 , ,

DRVTiny
()

Derpibooru теперь СПО: открытие Philomena и Booru-on-Rails

Derpibooru теперь СПО: открытие Philomena и Booru-on-Rails
Группа Open Source

Derpibooru — это крупнейший имиджборд сообщества фанатов My Little Pony в мире, обслуживающий сотни тысяч пользователей уже девять лет подряд.

До недавних пор ресурс использовал проприетарный движок Booru-on-Rails, который был построен на фреймворке Ruby on Rails и MongoDB.

Но теперь сайт переехал на движок Philomena, написанный на Elixir с использованием фреймворка Phoenix, Elasticsearch и PostgreSQL.

Одновременно с вводом нового движка в действие, оба проекта были открыты под свободной лиценцией AGPL3.

( читать дальше... )

>>> Подробности

 , , , ,

commagray
()

Ruby on Rails 6.0

Группа Разработка

15 августа 2019 года вышел релиз Ruby on Rails 6.0. Помимо множества исправлений, версия 6 предоставляет следующие нововведения:

  • Action Mailbox — направляет входящие письма в подобные контроллерам почтовые ящики.
  • Action Text — возможность хранения и редактирования обогащенного текста (rich text) в Rails.
  • Параллельное тестирование — позволяет распараллелить набор тестов. Т.е. тесты можно запускать параллельно.
  • Тестирование Action Cablе — позволит протестировать функциональность Action Cable на любом уровне: соединения, каналы, трансляции.

Webpacker по умолчанию включен в Ruby on Rails 6.

Инструкция для обновления находится по адресу : https://guides.rubyonrails.org/upgrading_ruby_on_rails.html

>>> Release Notes

 , ,

mx__
()

Ruby 2.6.0

Группа Open Source

Ruby — динамический, опенсорсный язык с прицелом на простоту и продуктивность. Он имеет элегантный синтаксис: интуитивно понятный и простой для написания.

В этом выпуске представлен ряд новых возможностей и улучшений производительности. Самые важные:

  • Новый JIT-компилятор, который вместо работы в памяти сохраняет на диск код на языке C и обрабатывает его внешним компилятором (поддерживаются GCC, Clang и Microsoft VC++). Включается ключом --jit. На активно нагружающих процессор задачах достигнуто ускорение в 1.7 раз по сравнению с Ruby 2.5.
  • Модуль RubyVM::AbstractSyntaxTree (экспериментальный, поддержание будущей совместимости пока не гарантируется). Он предоставляет методы parse и parse_file для превращения соответственно строки или файла с кодом на Ruby в узлы абстрактного синтаксического дерева, представленного объектами класса Node из того же модуля.

Другие важные нововведения:

( читать дальше... )

Улучшения производительности:

( читать дальше... )

Другие важные изменения по сравнению с 2.5:

( читать дальше... )

>>> Скачать (SHA1=c95f4e86e21390270dad3ebb94491fd42ee2ce69)

>>> Подробности

>>> Источник

 , ,

Moondancer
()

2-3 июня в Киеве состоится Ruby-конференция RubyC-2018

Группа Конференции и встречи

RubyC - европейская конференция, посвященная Ruby, Rails и смежным технологиям.

Организатор, компания Svitla Systems, ежегодно на протяжении шести лет собирает в Киеве около 400 участников из Украины, Европы и стран СНГ.

2-3 июня 2018 года будут выступать 14 докладчиков из США, Германии, Великобритании, Сербии, Италии, Украины и Польши!

( Список докладчиков ... )

Место проведения: Конференц-зал отеля «Русь (ул. Госпитальная, д.4, г.Киев, Украина)
Основной язык конференции: английский.

Билеты (при покупке более двух билетов – скидка 10%)

>>> Подробности

 , , rubyconference, ,

RubyC
()

3—4 июня в Киеве состоится RubyC-2017

Группа Конференции и встречи

RubyC — это украинская конференция, посвящённая Ruby, Ruby on Rails и сопутствующим технологиям. Организатор, компания Svitla Systems, ежегодно собирает в Киеве около 400 участников. В 2017 году конференция состоится в пятый раз и будет проходить 3—4 июня в концерт-холле «BelEtage».

( читать дальше... )

>>> Подробности

 , ,

RubyC
()

Ruby 2.4.0

Группа Open Source

25 декабря состоялся первый стабильный релиз ветки Ruby 2.4. В ней представлено много новых возможностей.

( читать дальше... )

>>> Источник

 ,

b-adblack-
()

JetBrains Night@Academ, Новосибирск

Группа Конференции и встречи

Когда: 14 июня c 18:00 до 22:00
Где: Новосибирский Академгородок, Технопарк Атриум, Инженерная 20
Регистрация: обязательная, по ссылке.

На мероприятии можно будет познакомиться и пообщаться с разработчиками и CEO JetBrains, послушать про особенности работы в компании, задать свои вопросы, получить обратную связь, и так далее.

Компания JetBrains – производитель профессиональных средств разработки с офисами в Праге, Санкт-Петербурге, Мюнхене, Бостоне и Москве. Компания производит инструменты для разработки на Java, .NET, Objective-C, Python, Ruby и многих других.

Компания также разрабатывает IntelliJ IDEA Community Edition, исходные коды которой под лицензией Apache License 2.0 можно найти на GitHub в свободном доступе.

Для желающих быть принятыми на работу в компанию 15-17 июня будут проходить предварительные собеседования. Чтобы принять участие в них, нужно заранее отправить резюме на адрес job@jetbrains.com.

>>> Подробности

 , , , ,

stevejobs
()

Crystal 0.16.0

Группа Open Source

Состоялся релиз языка программирования Crystal 0.16.0.

Цели языка:

  • Синтаксис, похожий на Ruby (но совместимость с ним не является целью).
  • Статическая типизация (но без необходимости явного указания типов переменных и аргументов методов).
  • Вызов кода на Си с помощью биндингов, написанных на Crystal.
  • Исполнение и генерация кода во время компиляции (макросы).
  • Трансляция в эффективный нативный код.

Текущее состояние:

  • Проект находится в стадии alpha: язык и стандартная библиотека всё ещё подвергаются значительным изменениям.
  • Компилятор написан на Crystal.

Этот релиз содержит значительное изменение, ломающее обратную совместимость, о котором было объявлено несколько месяцев назад. Также был внесён ряд других незначительных изменений и множество новых вкусностей.

( читать дальше... )

>>> Подробности

 ,

Kilte
()

RubyC-2016

Группа Конференции и встречи

Svitla Ruby Conference (aka RubyC) — самая большая украинская конференция, посвященная Ruby, Ruby on Rails и сопутствующим технологиям. В этом году организатор, компания Svitla Systems, приглашает Ruby разработчиков собраться в Киеве 4 и 5 июня и провести первый летний уикенд в компании самых ярких Ruby-экспертов!

Полная информация обо всех спикерах и расписание их выступлений уже на сайте http://rubyc.eu/.

В рамках конференции выступят 13 спикеров из Украины и Европы, и в отличие от прошлых лет, все доклады будут озвучены на английском языке. Кроме того в начале второго дня, будет организована открытая сессия вопросов-ответов, Open Talk, чтобы все успели задать вопросы спикерам, и обсудить последние новости.

Итак, полный состав спикеров RubyC-2016!

  • Aaron Cruz (Австрия) — “Ruby Alternatives”
  • Adam Niedzielski (Польша) — “Responsible gem collector”
  • Bozhidar Batsov (Болгария) — “The Master Rubyist”
  • Yorick Peterse (Нидерланды) — “Making GitLab Faster”
  • Robert Pankowezki (Польша) — “The Saga Pattern”
  • Andy Pike (Великобритания) — “Building maintainable Rails apps for the long term”
  • Ben Lovell (Великобритания) — “FOSS like a BOSS!”
  • Andrey Savchenko (Украина) — “KISS me gently”
  • Michael Serdyuk (Украина) — “For whom is the code written or why every programmer has to be a designer”
  • Elena Morgun (Украина) — “Service oriented vs Microservice architecture”
  • Мichael Bortnik (Украина) — “Ruby in unusual environments”
  • Alex Simonov (Украина) — “Technology mess”
  • Dmitriy Zimin (Украина) — “How I build stand-alone Cucumber Rocket for testing none Rails application”

Как всегда всех участников ждут вкусные кофе-брейки от отеля «Русь», подарки от наших спонсоров DataArt, Global Logic и N-iX, сюрпризы от организаторов и много вкусного пива на вечеринке в конце первого дня!

Организаторы напоминают: билеты продаются только на сайте конференции, и их количество ограничено!

Ждем вас на RubyC-2016!

>>> Подробности

 , , , ,

RubyC
()

Устранена уязвимость в RubyGems.org

Группа Безопасность

2 апреля 2016 года стало известно о уязвимости, которая позволяет неавторизованным пользователям заменить существующие .gem файлы при определённых обстоятельствах. Исправление было опубликовано в этот же день. При дальнейшем рассмотрении был обнаружен похожий вектор атаки, исправление для которого было опубликовано уже 4 апреля. В обоих векторах атаки, атакующий мог использовать специальную комбинацию имени и версии гема, чтобы заменить существуюший .gem файл. Также известно, что .gem файлы загруженные с помощью этого метода не могут быть установлены через стандартную команду gem install. Первая часть этой уязвимости была введена 11 июня 2014, а вторая присутствовала с самого начала.

Все .gem файлы, у которых есть контрольная сумма sha256, были проверены и ни один из них не пострадал. Подсчёт контрольной суммы был введён 8 февраля 2015 года, таким образом файлы, загруженные до этой даты, не имеют контрольной суммы. Так или иначе, если .gem файл был скомпрометирован ранее, нет способа выяснить это.

Файлы с дефисом в имени (например ‘blank-blank’) загруженные между 11 июня 2014 и 2 апреля 2016 были уязвимы. Файлы загруженные между 8 февраля 2015 и 2 апреля 2016 были уже проверены. Если у вас есть версия .gem файла, которая не была проверена, вы должны выполнить следующие действия:

  • Скачать ваш gem.
  • Запустить gem unpack file.gem.
  • Убедиться, что нет никаких неожиданных изменений.
  • Запустить gem spec file.gem.
  • Убедиться, что нет никаких неожиданных изменений в gemspec.

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

Особая благодарность Eric Chapweske за выявление уязвимости и подробный отчёт. David Radcliffe и Arthur Neves за работу на исправлениями и проверками. Aaron Patterson, Nick Quaranto, André Arko, и Samuel Giddins за ревью и проверку.

>>> Подробности

 , , ,

Kilte
()

4-5 июня в Киеве состоится RubyC-2016!

Группа Конференции и встречи

RubyC — это самая большая украинская конференция, посвященная Ruby, Ruby on Rails и сопутствующим технологиям. Организатор, компания Svitla Systems, ежегодно собирает в Киеве более 250 участников из Украины и стран СНГ. В 2016 году конференция пройдет 4 и 5 июня в Конгресс Холле отеля «Русь».

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

Традиционно в рамках конференции выступает 14 экспертов, как правило, половина из них представители европейских стран и США. Первые 7 спикеров уже заявлены, среди них участники прошлого года легко узнают Бена Лоувела (Ben Lovell), остроумного бородатого британца, чьи выступления неизменно поднимают настроение, а также Божидара Батсова (Bozhidar Batsov), болгарского разработчика, чье выступление вызвало в прошлом году огромное количество положительных отзывов, а видео запись собрала тысячи просмотров.

Впервые RubyC представит Энди Пайка (Andy Pike), британского программиста, который последние несколько лет успешно выступает на разных IT конференциях, и Роберта Панковецкого (Robert Pankowecki), активного участника польского Ruby сообщества. Из украинских рубистов, рады огласить участие Михаила Бортника, Александра Симонова и Дмитрия Зимина, чьи доклады будет полезно и интересно послушать. Полная информация обо всех спикерах и темах, с которыми, правда, еще не все определились, можно найти на сайте http://rubyc.eu/.

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

И конечно, RubyC-2016 выражает огромную благодарность Ruby Спонсорам этого года, компаниям DataArt и Global Logic, без которых конференция вряд ли бы состоялась; а также Медиа партнерам: Ruby No Name, Ruby Garage, Lohika, Daxx, Украинская IT Ассоциация, Innocode, Ruby Flow and Ruby Jobs, IT Education Academy и Belarus Ruby User Group, благодаря которым конференция продолжает расти и развиваться.

А пока организаторы занимаются разными организаторскими штуками, предварительная продажа билетов категории Early Birds успешно стартовала и продлится до конца марта.

Ждем вас на RubyC-2016!

>>> RubyC

 , , , ,

RubyC
()

Svitla Ruby Conference-2015 представляет полный видео и фото отчет

Группа Конференции и встречи

Организатор, Svitla Systems Inc. выражает благодарность всем участникам, докладчикам, спонсорам и партнерам, которые помогли организовать эти два удивительных Ruby-дня!

30-31 мая, 2015 третья киевская конференция RubyC традиционно собрала множество поклонников языка Ruby. В этом году организаторы могли похвастаться равным количеством спикеров из Украины и из-за рубежа (США, Великобритания, Германия, Словения, Болгария), среди которых выступили два Ruby-Hero 2014 года.

Всего в этом году RubyC посетили 260 рубистов из Украины, Беларуси, Молдовы и даже Азербайджана! RubyC-2015 был также благословлен спонсорской поддержкой компаний Soft Serve (Генеральный спонсор), DataArt и Global Logic (Ruby спонсоры), которые два дня дарили подарки и развлекали всех гостей возле своих стендов.

А самое главное событие этого года для RubyC — это присутствие 15 девушек-рубистов (по сравнению с семью в 2014 г.).

Полный фотоотчет: https://www.facebook.com/RubyC.eu/. Полный видео-отчет: http://rubyc.eu/posts/36/.

>>> Подробности

 , , , ,

RubyC
()

DevConf 2015 пройдет 19 июня в Москве и начнется с презентации PHP7 автором

Группа Конференции и встречи

Приглашаем посетить самую крупную конференцию года для профессиональных разработчиков, которая пройдет 19 июня в Москве и состоит из секций: Storage, Python, Ruby, PHP, Javascript и общей секции. http://devconf.ru

6-ая DevConf 2015 состоится совсем скоро и будет еще интереснее. Дмитрий Стогов, ведущий инженер в Zend Technologies познакомит с новым PHP7: что нас ждет!

20 июня пройдут эксклюзивные мастер-классы:

  • [Python] Мастер-класс по асинхронному сетевому программированию на Python - Андрей Светлов Python Core Developer
  • [Highload] Разработка крупного масштабируемого web 2.0 проекта с нуля (соц.сеть на 100 млн пользователей) Дмитрий Бородин - программист и архитектор ПО.
  • Создание кроссплатформенной мобильной игры с нуля Сергей Лалов, один из лучших разработчиков на Corona SDK, за свою активную позицию в сообществе разработчиков получил звание Corona Ambassador.
  • Новые возможности отладки MySQL 5.7 на практике Света (svetasmirnova) Смирнова, Percona, инженер технической поддержки MySQL с более чем 8-ми летним стажем, автор книги «MySQL Troubleshooting»

Полный список мастер-классов тут http://devconf.ru/offers/mk

Организаторы конференции - сообщества разработчиков http://phpclub.ru, http://railsclub.ru, http://python.su, http://moscowjs.ru, http://moscowdjango.ru

Генеральный партнер: Badoo Партнеры конференции: Postgres Professional , журнал Хакер, TVM.ru Инфопартнеры: Linux.org.ru, Python.SU, OpenNet.ru, PHP.ru, PHP.Net, Python developers (VK), SemSocial.ru, Apps4All.ru, RubyJobs.ru, RubyFlow.ru, Tokarchuk.ru На доклады DevConf 2015 - поданы более 61 заявок, сейчас проходит активное голосование - какие доклады останутся в программе - решать Вам! http://devconf.ru/offers/

( читать дальше... )

До встречи на DevConf 2015!

http://devconf.ru/join/

>>> Подробности

 , , , ,

devconf
()

RubyC-2015 представляет интервью с Эриком Михаельс-Обером

Группа Конференции и встречи

В преддверии третьей киевской конференции RubyC-2015 (30-31 мая 2015 года), организаторы представляют интервью с Эриком Михаельс-Обером (Erik Michaels-Ober), рубистом из Германии, который стал RubyHero-2014. Эрик является популярным ментором среди разных Ruby-сообществ: Ruby Summer of Code, Google Summer of Code и Rails Girls Summer of Code. В рамках RubyC-2015 Эрик представит тему Crystal programming language, подробности о которой можно узнать на сайте http://rubyc.eu/#speakers, а больше узнать о самом Эрике — из его ответов.

( читать дальше... )

>>> Оригинал статьи

 , , , svitla systems,

RubyC
()

RubyC вновь собирает рубистов в Киеве

Группа Конференции и встречи

30-31 мая 2015 года компания Svitla Systems проводит третью конференцию по Ruby и Ruby on Rails

Приглашаем разработчиков всех уровней на одну из самых ярких киевских Ruby-конференций — RubyC-2015. Вас ожидает два дня посвященных последним новостям, трендам и лучшим проектам на Ruby. Вы с пользой проведете выходные, наберетесь новых идей и познакомитесь с лучшими западными докладчиками.

( читать дальше... )

>>> Подробности

 , , ,

RubyC
()