Ruby/Rails дайджест #30: реліз Ruby 2.7.0-preview1, відео доповідей конференції RailsConf 2019, продуктивність JIT
Дайджест створено у співавторстві з Мариною Завийбородой , Copywriter в RubyGarage.
Всім привіт! Почнемо з того, що вийшла preview1 версія Ruby 2.7.0, що включає поліпшення JIT і експериментальний Pattern Matching. Команда Appfolio опублікувала порівняння продуктивності Ruby c JIT і без. На каналі Confreaks з'явився плейлист видеодокладов з конференції RailsConf 2019.
Тренди в співтоваристві Ruby
- Stripe анонсували Sorbet — type checker для Ruby.
- Доповідь від Takashi Kokubun про приріст продуктивності в Ruby 2.7 завдяки імплементації JIT.
Релізи
Ruby 2.7.0 preview1 — перша preview версія Ruby 2.7.0
Active Admin 2.1.0 — новий реліз фреймворку Active Admin
dry-validation 1.0.0 — гем був повністю переписаний поверх dry-schema
Почитати
Ruby 2.7 adds shorthand operator for Object#method — в Ruby 2.7 доданий експериментальний shorthard оператор.
Rails 6 boot sequence — автор розповідає, що відбувається, коли ви запускаєте команду rails s.
A Simpler Rails Benchmark, Puma and Concurrency — анонс rsp — простого Rails-додатки з безліччю запитів і версій Ruby, з якими воно може бути протестовано.
Watch Out For nil in Ranges — використання nil в Range.
Enhanced Shell Scripting with Ruby — детальний огляд з написання коду Ruby, взаємодіючого з командним рядком.
Direct instruction marking in Ruby 2.6 — Aaron Patterson розповідає про зниження споживання пам'яті в Ruby 2.6 з технічної сторони.
Don't Email From Active Record Callbacks — автор рекомендує не використовувати ActionMailer з ActiveRecord моделей.
Stimulus and RxJS for an SPA Like Experience — досвід побудови SPA на базі RxJS і Stimulus.
How Sinatra Works — розбір того, як влаштований гем Sinatra і гайд з написання подібного DSL з нуля.
Добірка від Bozhidar Batsov
A Modular RuboCop — автор розповідає про майбутній розвиток гема Rubocop.
Цикл статей Weird Ruby:
- Weird Ruby: Single-quoted Heredocs
- Weird Ruby: Block Comments
- Weird Ruby: Zeroing in on a Couple of Numeric Predicates
- Weird Ruby: Positive and Negative Strings
- Weird Ruby: Double Negation
Добірка від BigBinary
Продовження циклу статей про нововведення в Rails 6:
- Rails 6 adds if_not_exists option to create_table
- Rails 6 allows spaces in postgres table names
- Rails 6 adds private option to delegate method
Туторіали
Instrumenting Ruby on Rails with Prometheus — інтеграція Prometheus в Rails-додаток.
How to setup Ruby Object Mapper (ROM) for standalone project — як налаштувати ROM без використання сторонніх фреймворків.
Nested Forms from Scratch with StimulusJS — розробка форм з нуля на фреймворку StimulusJS.
How to use Action Mailbox in Rails 6 — видеогайд по використанню ActionMailbox в Rails 6.
Serverless Ruby on AWS Lambda with the Jets framework — використання Jets фреймворку і AWS Lambda.
How to Play MP3 Files With Ruby, VLC & The FFI Module — огляд інструментів для роботи зі звуковими файлами в Ruby.
Implementing authentication with Auth0 and Rails 6 — автентифікація за допомогою сервісу Auth0 в Rails 6.
Геми
blab — утиліта для моніторингу споживання пам'яті.
factory_trace — інструмент для підтримки фабрик FactoryBot.
RouteTranslator — гем, дозволяє згенерувати роуты для локалізації додатки.
httplog — конфигуригование логів для вихідних HTTP запитів.
FEEDI — додаток з відкритим вихідним кодом, що дозволяє конвертувати RSS feed в REST API.
clear_logic — базовий сервіс для написання бізнес-логіки застосунку.
Послухати
RWpod
- 18 випуск 07 сезону. Babylon.js 4.0, Electron 5.0.0, Rails 6: B-Sides and Rarities, Procodile, Shiba, Wasmer, Shimport та інше
- 19 випуск 07 сезону. GitHub Package Registry, Opal 1.0, React Native for Windows, Hybrid Lazy Loading, Hybrids, Cssfx.dev та інше
- 20 випуск 07 сезону. RubyKaigi 2019: A speaker's report, JAMstack, Svelte 3, Storeon, Blueprint, Ant Design, Ola та інше
- 21 випуск 07 сезону. Weird Ruby, WebAssembly at eBay, A Modular RuboCop, Mittsu, Tornis, V8n, Is-incognito-mode та інше
- 22 випуск 07 сезону. Ruby 2.7.0-preview1, Angular 8, Dependabot is joining GitHub, Phonelib, Graphsrb, Xstyled, Zdog та інше
- 23 випуск 07 сезону. macOS Having to Remove Ruby Installed by Default, Optional Chaining for JavaScript, React Spring та інше
Ruby Rogues
- RR 411: What Causes Ruby Memory Bloat with Hongli Lai — що стає причиною такого феномену, як memory bloat переповнення пам'яті), як його виявити і як вирішити дану проблему.
- RR 412: Asynchronous Jobs on Client Side and Server Side — автори подкасту обговорюють різницю між asynchronous jobs на стороні клієнта і сервера, а також use-кейси для кожного типу asynchronous jobs.
- RR 413: When Your Tools Interrupt Your Coding Process — занадто багато інструментів, підключених в коді, можуть створювати проблеми. Автори подкасту намагаються з'ясувати, чи варто відключати додаткові інструменту, щоб оптимізувати процес розробки.
- RR 414: Docker Talk — все про Docker: його застосування, місце Docker в циклі розробки ПЗ, коли цей інструмент може бути корисніше всього.
- RR 416: Warden/Devise/OSS with Leonardo Tegon — в подкасті автори порівнюють відомі і корисні геми: Warden і Devise, а також один з розробників Devise, Leonardo Tegon, розповідає про нові фичах, які плануються в геме Devise.
Ruby on Rails Podcast 5by5
- #273: GraphQL Migration: A Use Case for Metaprogramming with Shawnee Gao — подкаст з Shawnee Gao про її досвід у метапрограммировании і GraphQL.
- #271: MEGA Railsconf 2019 Recap with Chris Oliver — інтерв'ю з Chris Oliver, творцем GoRails, в основному присвячене Rails Conf 2019 та інших тем, наприклад, можливу дату релізу Rails 6.
Remote Ruby
Remote Ruby — це подкасти від двох розробників and Jason Charnes про все, що цікавить Ruby/Ruby on Rails програміста: від останніх подій в світі Ruby до питань кар'єри:
- Joined by Josh Wood — подкаст з Josh Wood, co-founder в Honeybadger.io про його досвід у програмуванні і фрілансі, створення Honeybadger і трохи про сенс життя :)
- Joined by Lee Richmond — подкаст з Lee Richmond, Ruby on Rails розробником з Bloomberg. В подкасті порівнюють Graphiti і GraphQL, а також інструменти на зразок Vandal і Spraypaint.
- Live with Justin Searls — інтерв'ю з Justin Searls, co-founder в Test Double про його кар'єрному розвитку, стартапі Test Double і використанні iPad для розробки.
- A Quick RailsConf Recap, Finding Time to Learn, and Madmin — обговорення одного з найбільш значущих подій року, Rails Conf 2019.
Події
RubyC — the biggest Ukrainian Ruby conference — незважаючи на те, що конференція RubyC заявлена на 14-15 вересня, краще поквапитися і купити квитки заздалегідь. У цьому році серед спікерів — Aaron Cruz, Aleksander D?browski, Walerian Sobczak та інші.
Щодо тем/матеріалів/івентів, які варто додати в наступний випуск дайджесту, пишіть в коментарях або на[email protected] .Дякуємо за допомогу в підготовці дайджесту командіRubyGarage .
? Попередній випуск: Ruby дайджест #29
Опубліковано: 22/06/19 @ 07:00
Розділ Різне
Рекомендуємо:
iOS дайджест #32: Special - WWDC'19
Як в KeepSolid розробили LezGo — навігатор для спільних автоподорожей
SAP Commerce Cloud: що вам треба знати про роботу з платформою
Що має знаті Senior Java Developer. Результати аналізу вакансій в Україні та Каліфорнії
Як спілкуватися з іноземними замовниками: поради українським розробникам