rubyweekly#483
Ruby 2.7 Commentary from Two Ruby Core Team Members
クックパッドのフルタイムで働くrubyコミッター2人による解説記事を英訳した記事。英語の鍛錬のついで読みたい。
この英訳記事を投稿した人が CTO Cookpad Ltd
らしい。CTOはパンダの人では?と思ったけど海外の子会社なのかな。
The Ruby Reference (Now Updated for Ruby 2.7)
ruby2.7のドキュメント。https://github.com/rubyreferences/rubyref がソースになってる。 2.7のことしか書いていない!
How Well Do You REALLY Know Ruby's Exception System?
例外の実装について書かれた本。無料って書いてあったのでダウンロードしてみた。 ダウンロードには名前とメールアドレスの入力が必要でメールにダウンロードURLがついている。ただし、メーリングリストへの登録される。 全ページ43枚の英語で書かれてた。
Ruby 2.7.0's Rails Ruby Bench Speed Unchanged from 2.6
2.6から2.7へはパフォーマンスは変わらなかったよ。安定している。という記事。
Ruby 2.7 Reverts The Deprecation of The 'Flip-Flop' Operator
2.6から非推奨になったflip-flop 構文を2.7では非推奨を扱いをやめたよ、という記事。
warning: flip-flop is deprecated
がでなくなった。
誰も使っていないから消そうぜって書いたら実は使われていた、というのが取りやめの理由みたい。 Feature #5400: Remove flip-flops in 2.0 - Ruby master - Ruby Issue Tracking System 僕もflip-flop構文を知りませんでした。
Jobs
Software Engineer, Full-Stack (Ruby/Rails/JS)
ヘルスケア系会社の求人って書いていた。フルスタックエンジニアを求めているらしい。 サンフランシスコかリモートワーク。 海外の求人おもしろい。
Senior Rails Developer - Amsterdam (Netherlands)
これも求人。アムステルダム。バックエンドがメインでフロントエンドの知識もあるといいかもって。 競争力のある給与と無期限の有給休暇、つよい。
Find a Job Through Vettery
独自のマッチングアルゴリズムを使って企業と労働者を直接繋げる求人サイト。 NETFLIXの求人もありそう。
Articles & Tutorials
On Ruby 2.7 Pattern Matching After 10 Months of Elixir
エリクサーのパターンマッチングとRuby2.7から入ったパターンマッチングを比べる、という記事。 結論だけ読んでみたけど、そこそこ好評っぽい。
More Fiber Benchmarking
Fiberのパフォーマンスを調べたって記事。
直接Fiberってそんなに使うことってある??? 僕は並列処理したいと思ったらparallel(gem)使っている。。。
How to Migrate Large Database Tables Without Headaches
巨大テーブルをmigrateする方法が書いてる。 alter tableを使うと内容によっては書き込みロックするから、トリガーを使って新しく挿入する行は新しいテーブルにも挿入する。 既存データはバルクインサートする感じのスクリプトが書いている。 で、行のコピーが完全に終わったら一瞬ダウンした後にテーブルを入れ替える、みたいな感じっぽい。 ペルコナツールやんけ
Extracting a Tidy PORO From a Messy Active Record Model
リファクタリングの話。ActiveRecordを継承したクラスにベタッとメソッドを定義するんじゃなくて、Plain Old Ruby Object(PORO)
に切り出そうぜって記事。
書いていることは下記とだいたい似ていると思う。
Why Rails' default_scope Bad?
どうしてdefault_scopeは悪いのか、というRailsエンジニア誰が同意するであろう事実を言語化していう記事。 僕はアップグレードでいつも挙動が変わっていて近寄りたくない、みたいな印象でした。 この記事で書いている本当にそうで、検索条件が競合するので、associationを使えなくてバグの温床になってました。
Inheritance and Abstract Class Pattern for Rails Controllers
controllerで継承を使ってシンプルにしよう、という記事。 管理画面とかであたりまえに使っているので、はい、という感じがした。
Five Rails Performance Tips for Performance 'Noobs'
パフォーマンス改善の話。ほとんどの原因がデータベースだよねぇ、、、。
An Introduction to Ruby's 'Fibers'
Filberの解説記事。Theadとの対比している。 記事にも触れらているけどアプリケーションでは使わないライブラリだよって書いてあって「わかる」ってなった。
Code and Tools
ActiveRecord Adapter for Amazon Aurora Serverless
名前の通り、サーバレスAurora用のActiveRecord。 mysql2は不要。utf8mb4使える。サーバレスAuroraはMySQL5.6互換のみなんだよな。 今はPostgeSQLのAuroraには未対応らしい。 今後の動向に注目。
jetsというLambdaで動くrailsライクフレームがあるんだけど、それとは繋がるのかねぇ。
Forme: HTML Form Generation Library
他のライブラリに依存していないフォームビルダー。
Rack::Cache: Drop-in HTTP Caching for Ruby Webapps
rack層でキャッシュできるgemらしい。
CDN使っていれば不要なやつか?いまいちピンと来ていない。
Down: Streaming HTTP Downloads using net/http, http.rb or wget
ストリーミングでダウンロードするgem。 どんな感じで使うのかいまいち想像できないけど、フロントエンドにデータの断片を継続して送る時に使うのかな?
FString: Python-esque 'F-Strings' for Ruby
Pythonみたいな文字列展開ができるようになるgem。 内部でevalしているし、遅くなるしれないし、十分テストはしていないよってREADMEに書いてあった。
所感
多かったので大変でした。