2018/05/15分
記事紹介
Warning: The Module
- 概要- Ruby 2.5からWarning.warnを再定義することでKernel#warnの挙動を変えれる話
 
- コメント- warningというgem初めて知った
 
Ruby class methods syntax
- 概要- Rubyのクラスメソッド定義方法あれこれ
 
- コメント- 俺は class << self好きだけどなー。あんまりモジュールに分けるの冗長な気がするし可読性的な問題もある。もちろん増えてきたらmodule化したり委譲したりはするけど。
 
Rails: ページタイトルはビューテンプレートの`content_for`で表示すること(翻訳)
- titleにかぎらずテンプレートの値をレイアウトに持っていくの結構やる。が、やりすぎると可読性悪くなるという…
Processing large CSV files with Ruby
- 概要- 大きいサイズのCSVを処理する方法の速度とメモリ使用量の違い
 
- コメント- Fileオブジェクトで line by lineが一番メモリ使用量少ないのは納得。GC細かく効くしオブジェクトの割当回数(量)も確か関係していたはず(自信なし)
 
外部キーをreferences型カラムで保存する
- belongs_toがreferencesのaliasなの初めて知った…
- 確かにそうなっている
Managing Multiple Databases in a Single Rails Application
- 概要- Railsアプリから複数のDBに接続する話
- establish_connectionを使うけどバラバラにコネクションプールを作るとpool size超えちゃう危険があるから継承をうまく使うと良いっぽい
 
- コメント- マルチDBは経験が無い…けどestablish_connection呼べばよいことは理解した
- コードベースで解説しててとても面白かった
 
その他
- AR::RecordInvalidやAM::ValidationErrorなにやってんのかなーと見てみたらわりとシンプルに message = errors.full_messages.join(', ')してた