Ruby-Дайджест за неделю (20-26 декабря)
Новая обложка RubyDigest
В этом дайджесте:
Обновление популярных гемов.
Митапы, где засветился Ruby.
Интересные open-source проекты на GitHub.
Ruby 3.1.0
Подборка полезных гемов.
Интересный контент, связанный с Ruby.
Обновление популярных гемов
Cвое обновление получил гем для работы с CLI и GitLab API: gitlab (4.18.0).
Обновился гем предназначенный для работы с pdf-файлами: pdf_paradise (0.1.47).
Новая версия appium_lib_core (5.1.0), который нужен для работы с Appium.
i18n-tasks за эту неделю выкатывается в двух новых версиях, крайняя из которых (0.9.37).
openssl обновляется до (3.0.0).
В стороне декабрьских обновлений не остается и unicorn с новой версией (6.1.0).
Появилась новая версия rubocop-rails (2.13.0) и в декабре гем перевалил отметку в 45 млн. установок.
За неделю bundler обновился 4 раза, с (2.3.0) по (2.3.3) версии, включительно.
Митапы, где засветился Ruby
На этой неделе, масштабных митапов и конференций посвященных Ruby не проходило, но уже 27 января 2022 года в Москве пройдет 15-й Ruby Meetup (заявки на доклады прекратили принимать в начале декабря).
Интересные open-source проекты на GitHub
Для новичков, очень важно участвовать в open-source проектах написанных на изучаемом ими языке. В данной части дайджеста я поведаю о интересных os-проектах на просторах github в которых вы можете попробовать поучаствовать. Так же в следующих дайджестах будет специальный «блок новичка» где будут приведены проекты, где будет легко учиться и участвовать непосредственно новичкам.
metasploit-framework
Популярность: известный.
Сложность: высокая.
Назначение: infosec.
Участников: >500.
Репозиторий на GitHub
discourse
Популярность: известный.
Сложность: высокая.
Назначение: chat.
Участников: >500.
Репозиторий на GitHub
choosealicense.com
Популярность: известный.
Сложность: средняя.
Назначение: site.
Участников: >100.
Репозиторий на GitHub
duino-coin
Популярность: малоизвестный.
Сложность: легкая.
Назначение: crypto / miner.
Участников: >50.
Примчание: можно поучаствовать в написании майнера на Ruby или взять за основу API проекта и придумать полезный инструмент. Главный разработчик DuinoCoin приветствует Ruby-программы и Ruby-разработчиков.
github conribute
Cам я участвую в этом проекте. На данный момент занимаюсь инструментом для создания и администрирования майнинг фермы дуко-койнов на Arduino и OrangePi. Так же занимался переводом Readme.md и документации на русский язык.
Репозиторий на GitHub
Ruby 3.1.0
work made in FIGMA (sailordev)
25 декабря вышел релиз новой версии Ruby (3.1.0)
Подробнее можно узнать в официальном зеркале-репозитория Ruby.
Что нового?
— Обновление стандартных библиотек
— Улучшение производительности
— Исправили Баг#4443
Что же обновили и добавили (кратко):
Стандартные библиотеки, которые обновились с новым релизом
RubyGems 3.3.3
base64 0.1.1
benchmark 0.2.0
bigdecimal 3.1.1
bundler 2.3.3
cgi 0.3.1
csv 3.2.2
date 3.2.2
did_you_mean 1.6.1
digest 3.1.0
drb 2.1.0
erb 2.2.3
error_highlight 0.3.0
etc 1.3.0
fcntl 1.0.1
fiddle 1.1.0
fileutils 1.6.0
find 0.1.1
io-console 0.5.10
io-wait 0.2.1
ipaddr 1.2.3
irb 1.4.1
json 2.6.1
logger 1.5.0
net-http 0.2.0
net-protocol 0.1.2
nkf 0.1.1
open-uri 0.2.0
openssl 3.0.0
optparse 0.2.0
ostruct 0.5.2
pathname 0.2.0
pp 0.3.0
prettyprint 0.1.1
psych 4.0.3
racc 1.6.0
rdoc 6.4.0
readline 0.0.3
readline-ext 0.1.4
reline 0.3.0
resolv 0.2.1
rinda 0.1.1
ruby2_keywords 0.0.5
securerandom 0.1.1
set 1.0.2
stringio 3.0.1
strscan 3.0.1
tempfile 0.1.2
time 0.2.0
timeout 0.2.0
tmpdir 0.1.2
un 0.2.0
uri 0.11.0
yaml 0.2.0
zlib 2.1.1
Следующие гемы по умолчанию теперь объединены в пакеты.
Следующие гемы по умолчанию теперь объединены в пакеты. Вам необходимо добавить следующие библиотеки в Gemfile-проекта.
net-ftp 0.1.3
net-imap 0.2.2
net-pop 0.1.1
net-smtp 0.3.1
matrix 0.4.2
prime 0.1.2
debug 1.4.0
Улучшения производительности
MJIT
Для таких рабочих нагрузок, как Rails, значение по умолчанию --jit-max-cache изменено со 100 на 10000. JIT-компилятор больше не пропускает компиляцию методов, длина которых превышает 1000 инструкций.
Для поддержки Zeitwerk of Rails код JIT-ed больше не отменяется при включении TracePoint для событий класса.
Другие заметные изменения по сравнению с 3.0
Однострочный паттерн, например, ary => [x, y, z], больше не экспериментальный.
Слегка изменен порядок оценки нескольких заданий.[Баг #4443]
Перевод релиза является авторским, может быть не совсем точным, так как русскую версию релиза еще не опубликовали на https://www.ruby-lang.org/.
Перейти к английской версии релиза.
Подборка полезных гемов от sailordev #1
C гемами можно будет познакомится на https://rubygems.org/, вписав название из поброки в поисковую строку:
Поисковая строка на RubyGems.org
Веб-разработка
Shoulda
Позволяет вам создавать более понятные тесты для вашего приложения Ruby.Nokogiri
С этим гемом я познакомился в самом начале изучения Ruby. Анализатор HTML, XML, SAX и Reader. Хорошо подходит для веб-парсинга.Formtastic
Упрощает создание красивых HTML-форм в ваших приложениях.Eventmachine
Реализует быстрый однопоточный движок для произвольных сетевых коммуникаций.HAML
Язык разметки для упрощённой генерации HTML.
Для консольных приложений
Я сам очень люблю писать консольные «тулзы» на ruby, облегчающие какие-то задачи или вовсе их автоматизировать. Приведу в пример пока что только два, необязательных, вспомогательных гема.
byebug
Используется для дебага кода на Ruby. Я его использовал для создания парсера ссылок на прямые файлы фильмов их названия, занося в базу данных.colorize
Использую для «покраски» консольных приложений. Меняет цвет текста в консоли.
Интересный контент, связанный с Ruby
Думаю, на столь прекрасной ноте можно завершить дайджест. До 31 декабря (Новогодний Дайджест, итоги 2021 года для Ruby-коммьюнити).
Ruby-разработчик / Ведущий RubyDigest на habr.com