rastam on rails

東京在住のマレーシア人 Rubyist

Ruby Weekly #613: 日本語サマリー

rubyweekly.com

Articles Stories & Videos

Why Ruby is More Readable than Python

Python 🆚 Rubyシンタックス比較。Pythonインスタンス変数を外から簡単に書き換えれて怖い。

Did You Know..

.. you can quickly 'test drive' over 100 programming-focused fonts on programmingfonts.org?

プログラミング用フォントがプレビューできるサイト。全角文字に明確に対応してるのは M PLUS CodeBinchotan Sharp

Ruby Weekly #609: 日本語サマリー

rubyweekly.com

Articles & Tutorials

Scaling Rails WebSockets in Kubernetes with AnyCable

Action Cable だと数千ソケットに耐えきれないらしい。AnyCable は同じ Rails + Action Cable を使いながら、ソケット周りを Go プロセスで処理してくれるから爆速。

Caught Out by fetch's Second Argument

foo[:bar] || bazfoo.fetch(:bar, baz) に書き換える前に要注意。後者だと baz は常に実行されるから。

Code & Tools

Motion 0.7: Pure Ruby Reactive Frontend UI Components for Rails

ViewComponent に Action Cable 機能を簡単に追加してくれる gem。

Ruby Weekly #603: 日本語サマリー

rubyweekly.com

Highlights

There's been a bit of chatter online over the past week about the future of Heroku that you might want to keep an eye on if you're a user.

Salesforce は Heroku をこれ以上メンテしない(まさかサービス終了?)かもという噂。Heroku の中の人の暴露記事と HN スレより。

  • Salesforce は Periwinkle という新規プロダクト開発中。無料枠はなく、Heroku より機能が少ない。Periwinkle リリース後は Heroku サービス終了かも。
  • Salesforce は Heroku にこれ以上投資しない。ここ数年は機能追加しなくなった。エンジニア採用もしてない、かつエンジニア大量流出。
  • Heroku のソースがレガシー化してて、メンテできる人材が足りなくなった。先日の GitHub OAuth トークン漏洩への対応が遅かったのもこの人手不足が原因らしい。

Ruby Weekly #600: 日本語サマリー

rubyweekly.com

Articles & Tutorials

Custom Ranges in Ruby

#<==> #succ メソッド実装だけでオブジェクトが Range 化できる。

Code & Tools

command_mapper: A Way to Map External Commands to Ruby Classes

CLI コマンドのラッパークラスを生成してくれる gem。コマンドの --help や man ページをパースしてオプションを全部生成という、結構すごいことやってくれるらしい。

Blazer 2.6.0: A Ruby-Powered Business Intelligence Tool

Metabase の OSS 版的な gem を ankane 先生が作ってくれた。

Ruby Weekly #591: 日本語サマリー

rubyweekly.com

Highlights

Introducing Propshaft: The Future of Asset Pipelining in Rails?

Rails の新しい asset pipeline になる Propshaft 紹介 by DHH。

Take the 2022 Ruby on Rails Survey

今年の Ruby on Rails ユーザ動向調査。

Ruby 3.1's Error Highlighting Gem

Ruby 3.1 のエラー発生箇所をより分かりやすくしてくれる gem。

Spruce up your projects' README.md files on GitHub with GitHub's new support for Mermaid.js diagrams direct within Markdown.

GitHub のマークダウンで図描けるようになった。

A React developer shared some thoughts on why they were won over by Rails for building their next app.

筆者が React から Rails に惚れた理由。フォルダー構造、ORM など決める手間が省けて、Rails の Convention over Configuration に全任せれできたから。

Articles & Tutorials

Writing Ruby Gem Native Extensions in Rust

Rust で gem を書く手順。

When I Do TDD and When I Don't

スパイク時は TDD しない。

Code & Tools

Gemsmith v17: A CLI Tool for Smithing New Ruby Gems

gem 開発用 CLI。新規 gem プロジェクト生成や、rubygems へプッシュしてくれるコマンド完備。

Rambulance 2.2: Dynamically Render Error Pages or JSON Responses for Rails Apps

HTTP ステータス別エラー画面管理 gem。

Ruby Weekly #577: 日本語サマリー

rubyweekly.com

Highlights

Doing a Rails PR Code Review with a Rails Core Team Member

Rails コアチームのペアレビュー実況。主にベストなメソッドインタフェースを議論してる。

Articles & Tutorials

Making a GitHub Issue-Style File Uploader Using Stimulus and Active Storage

GitHub のコピペ or D&D だけでファイルアップロード・添付する、超便利機能を Stimulus で実装する方法。

Ruby Weekly #567: 日本語サマリー

rubyweekly.com

Highlights

Privacy-Aware Rails Consoles with console1984 and audits1984

rails console でユーザの個人情報など匿名化してくれる console1984 gem と、console1984 利用ログをブラウザーで照会できるようにしてくれる audits1984 gem。

Articles & Tutorials

Responsible Monkeypatching in Ruby

bundle update に強いモンキーパッチの書き方。ざっくりいうと、上書きしている API が変わっていないことをモンキーパッチ内で確認すること。変わった場合は例外を投げること。

Submitting Many ActionMail Jobs at Once with Sidekiq

大量のメールを deliver_later しようとしたら、Redis のキューにジョブを積むだけでも長時間がかかり、リクエストがその間ずっと待っている状態。

Sidekiq::Client.push_bulk 使えば一瞬で終わるが、ActionMailer は対応してないから、オレオレ実装せざるを得ない。

Code & Tools

wipe_out: Library for Resetting Data in Rails ActiveRecord Models

ユーザ退会などで個人情報をマスキング・匿名化してくれる gem。