JS fwdays conference — React, Vue, Node.js, Webpack plugins and more. Kyiv, March 14

Ruby дайджест #35: подкасты с DHH и Sandi Metz, интервью с Matz, Ruby-гемы для ML

Дайджест был создан в соавторстве с Мариной Завийбородой, Copywriter в RubyGarage.

Всем привет! Январь — традиционное затишье. О новых версиях Ruby/Ruby on Rails ничего не слышно. Но есть что послушать и обсудить. Например, свежий подкаст DHH с Corecursive (транскрипт беседы — по ссылке), подкаст с Санди Метц и подборку 16 ML Ruby-гемов. И, как всегда, мы собрали большое количество туториалов и статей🙌🏼

Релизы

Like I’m Five help you to create a complex testing context in a few seconds — гем Like I’m Five генерирует файл с фабриками, которые нужны для тестирования конкретного объекта.

Kno Ruby — гем реализует аутентификацию без пароля и позволяет настроить аутентификацию без повторных отправок имейла.

Attr-filters gem by Syndicode for filtering object attributes — гем для фильтрации атрибутов PORO (Plain old Ruby objects) с нулевыми зависимостями.

vergilet/monobank: Monobank API Ruby — релиз неофициального API для Monobank.

Почитать

Yukihiro Matsumoto interview for Evrone company — интервью Матца для Evrone после конференции Ruby Russia 2019: о том, что чаще всего спрашивают у Матца, назначении Ruby и работе над Ruby 3.

Best practices for modernizing build pipelines & logging — удобная подборка статей и лучших практик по модернизации build-пайплайнов и логгинга.

The Complete Guide to Blazing-Fast Performance in Rails — разгоняем Ruby с советами из статьи🚀

Pros and Cons of Using structure.sql in Your Ruby on Rails Application — рассматриваем «за» и «против» использования structure.sql для сложных, растущих RoR-приложений.

A Rubyist’s Introduction to Character Encoding, Unicode and UTF-8 — интересный гайд по кодировке: от кода Морзе до Unicode и UTF-8. Также в статье рассматривается пример кодировки в Ruby.

Parallelising ETL workflows with the Jongleur gem — паралеллизируем ETL-процессы с помощью гема Jongleur.

Exploring Big-O Notation With Ruby — рассматриваем асимптоматические значения в Ruby на подробных примерах.

Why the Sorbet typechecker is fast — нашумевший Sorbet, тайпчекер для Ruby, — действительно мощный инструмент. Пришло время посмотреть под капот Sorbet и понять, что делает его таким быстрым и производительным.

Evaluating Ruby in Ruby — статья о последовательностях инструкций и их оценке на чистом Ruby.

Rails is Fast: Optimize Your View Performance — улучшаем производительность Rails-приложения через оптимизацию баз данных и кэширование.

The Complete Guide to Migrate to Strong Parameters — как безболезненно и слаженно мигрировать с Protected Attributes на Strong Parameters.

Continuous deployment Ruby application to Minikube with Google’s Skaffold — настраиваем непрерывное развертывание простого Ruby-приложения на Minikube с помощью Skaffold.

Optimize Your Debugging Process With Object-Oriented Tracing and tapping_device — оптимизируем процесс дебаггинга с помощью объектно-ориентированного трейсинга и tapping_device.

Reverse Coverage: Find which tests execute which lines of code — иногда полезно знать, как тестируется / выполняется / документируется (в виде тестов, как живая документация) строка (или набор строк) приложения. Гайд как раз посвящен данной проблеме.

Let’s talk about that 15% Ruby claim — разбираем стоимость управления Rails-приложением (статья вдохновлена статьей DHH о том, что Basecamp тратит всего 15% бюджета на поддержание Ruby-систем).

Rails Flaky Spec Solutions — разбор flaky tests на legacy-проектах: подводные камни и как их избежать.

3 ways Webpack surprises web developers — автор рассматривает три распространенные проблемы, с которыми сталкиваются веб-разработчики при изучении Webpack: почему использование глобальных переменных ведет себя не так, как вы думаете; как Webpack воспринимает все, как модуль JavaScript и большое количество времени, которые требуется для эффективной настройки Webpack.

Cache Crispies — Fast, Flexible Rails Serializer — гем Cache Crispies немного напоминает Active Model Serializers с чистым DSL на основе классов. При этом Cache Crispies поддерживает высокий уровень производительности и позволяет включить кэширование при необходимости.

Migrate Your Rails App from Heroku to AWS Lambda — мигрируем Rails-приложение с Heroku на AWS Lambda с помощью Aurora Serverless — конфигурацией для Amazon Aurora с автоматическим масштабированием по требованию, в которой база данных автоматически запускается, закрывается и масштабируется в зависимости от потребностей вашего приложения.

Ruby on Rails Sentry logger installation and configuration — устанавливаем и настраиваем Sentry — ПО для мониторинга и отслеживания ошибок.

Working with Capistrano: Environment Variables and Remote Commands — подробный гайд по Capistrano с примерами модификации переменных окружения, обновления файла запуска оболочки и установкой утилиты rbenv.

Ruby 2.7 compatible gems — список гемов, совместимых с Ruby 2.7: Sinatra, Devise, Capybara и другие.

BigBinary

Традиционно Big Binary выпустили несколько статей об обновлениях в Rails 6:

Rails 6.1 introduces class_names helper

Rails 6 adds rails db:prepare to migrate or setup a database

Rails Multiple Polymorphic Joins

Туториалы

How to use React with Ruby on Rails 6 — подключаем гемы webpacker, react-rails, react_on_rails.

Testing signed and encrypted cookies in Rails — короткий гайд по тестированию подписанных и зашифрованных куки.

Rails 6.1 adds query method missing to find orphan records — автор рассматривает новый метод запроса в Rails 6.1 для поиска потерянных записей.

Encrypted Secrets (Credentials) in Rails 6, Rails 5.1/5.2, older versions and non-Rails applications — туториал по хранению encrypted secrets в репозитории Rails-приложения.

Optimization Techniques by Benchmark Winners — пост по мотивам одноименной презентации на Ruby Kaigi 2019.

Name the Abstraction, Not the Data — туториал по неймингу абстракций в Rails.

How to migrate large database tables without a headache — название туториала говорит само за себя: мигрируем большие таблицы баз данных без головной боли :)

И несколько туториалов по рефакторингу от Josh Thompson: избавляемся от `attr_accessors` in `ogre.rb и рефакторим wizard.rb.

Послушать

RWpod

04 выпуск 08 сезона. Deno, Timestamp Truncation, 16 New ML Gems for Ruby, ResizeObserver, Vacuum и прочее

03 выпуск 08 сезона. Yarn 2, MIR, Playwright, Web in 2020, Ruby ML for Python Coders, React Nice Dates и прочее

02 выпуск 08 сезона. Microsoft Edge, Git 2.25, Deep dive into Did You Mean, Snowpack, Pxi, Postgres.js, Nano ID и прочее

01 выпуск 08 сезона. Goodbye, Clean Code, Developer Roadmaps, Rails PG Extras, Asdf-vm, IsoCity и прочее

Remote Ruby

Mental Health, Rails Upgrades, Jason’s New Project, Bootstrap Shift, and More — подкаст с неизменными ведущими Крисом и Джейсоном: об опыте Криса по обновлению GoRails до Ruby 2.7 и Rails 6, нового проекта Джейсона ChurchChat и нового инструмента Bootstrap до TailwindCSS от Laravel Shift, который позволяет обновить подписки Stripe с одного плана на несколько планов.

New Jumpstart Features, Postponing Southeast Ruby 2020, and (Possibly) a New Online Ruby Conference — эпизод о добавлении мультитенантности в Jumpstart Pro, использовании ActiveStorage и Uppy, об отложении Southeast Ruby 2020 и потенциальной онлайн-конференции по Ruby в 2020 году.

«Just Keep Hitting Tab» — подкаст, посвященный разговору о таких типизированных языках, как TypeScript и Crystal, об инструментах вокруг типизированных языков и немного о видеоиграх :)

5by5 Ruby on Rails Podcast

Ruby on Rails Podcast #304: Legacy Code Wisdom with Alexey Chernov — подкаст с Алексеем Черновым — консультантом по Ruby on Rails в JetThoughts. На протяжении многих лет он создавал MVP и консультировал бизнес по улучшению legacy-кода, масштабированию удаленной команды и достиженю эффективного процесса разработки. Он и ведущая подкаста Бриттани обсуждают legacy-проекты на RoR.

Ruby on Rails Podcast #303: Site Reliability at DEV with Molly Struve — Молли Струве — ведущий Site Reliability Engineer в DEV, компании, которая управляет блогом dev.to. Она и Бриттани говорят о том, что означает надежность сайта, любовь Молли к Elasticsearch и то, как у Молли получается создавать остроумный и образовательный контент.

Ruby on Rails Podcast #302: Ruby Autoformatter! with Penelope Phippen — подкаст с Пенелопой Фиппен (Rubyfmt), экс-ведущим разработчиком RSpec. Опыт в Ruby — около десяти лет. Она и Бриттани обсуждают Rspec, Ruby Central и ее мысли о сообществе Ruby.

Ruby Rogues

RR 448: How To Avoid Catastrophes with Jon Druse — подкаст с Jon Druse, Rails-разработчиком с 15-ти летним опытом о важности code review, случаях, когда рефакторинг приложения целесообразен и многом другом.

RR 447: All About Kafka and Oracle with Bob Quillin and Karthik Gaekwad — тема подкаста — безопасность в Kafka, а также совместимость Kafka и Docker.

RR 446: Development Environments — подкаст посвящен теме окружения разработки, использованию Docker в качестве окружения разработки, а также сравнению таких СУБД, как MySQL, MariaDB и Postgres.

RR 445: Location Services with Mithun Dhar — в подкасте ведущие и участник Mithun Dhar затрагивают тему перехода от веб-разработки к мобильной разработке, проблему безопасности и услуг определения местоположения, механизмы защиты данных пользователей и их конфиденциальность.

События

Воркшоп: Web UI Automation with Ruby + RSpec + Сapybara — львовский оффлайн-воркшоп по автоматизации тестирования с помощью RSpec и Capybara. Дата — 18 февраля.

Web crowd 5.0: Ruby — днепровский митап по Ruby от компании Yalantis. Темы митапа: Component-based architecture as a way to microservices; Mastering HIPAA project infrastructure within AWS ecosystem. Дата — 28 февраля.


← Предыдущий выпуск: Ruby дайджест #34

LinkedIn

8 комментариев

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Спасибо за подборку ☺️

Благодарю! 🙏🙂

Отличный материал, большое спасибо !

ML на руби? Побойтесь второго пришествия, грешники!

Маємо, що маємо😅

Что мешает обертки вокруг сишных либ написать на руби вместо пайтона? Разве что отсутствие особого смысла/необходимости, но тру джедаев это никогда не смущало — «у самурая нет цели, есть только путь»...

Подписаться на комментарии