kawasaki.rb #128 を(オンライン) を開催しました

Peranikov
kawasakirb
Published in
Jan 24, 2024

2023年1月24日(水)に、 Discord にて kawasaki.rb #128 を開催しました。

Sustainable Web Development with Ruby on Rails 読書会

引き続き、書籍「Sustainable Web Development with Ruby on Rails」を読み進めていきます。

今回は「Implementation Patterns You Might Want to Avoid」からでした。この章では、「クラスメソッドの使用」「callというメソッドを使用」「DIの使用」などは、使うべきではないとは言わないまでも、あまり価値を提供しないのではないかと言及していました。例えばクラスメソッドを使用しシングルトンを維持することは、マルチスレッドの問題をもたらしがちであるなどと解説していました。また、「callというメソッドを使用」することはコマンドパターンを用いるとしても同名のメソッド名は混乱をもたらしがちであるとし、「DIを使用する」については、RubyではJavaなどの他の言語ほどmockの差し込みが難しいわけでもないため、直接ロジックを使っても問題ないことが多いという意図でした。

次章の「Models, Part 2」に入り、「Validations Don’t Provide Data Integrity」ではValidationについて解説がありました。主に、RailsのアプリケーションのみでValidationを行うことは、使用しているDBが他のアプリケーションから使われるケースに弱く、データ整合性を保証するにはDB側で担保するべきという内容です。特に、 `validates_uniqueness_of` などはレースコンディションによって容易に重複したデータを登録できてしまうので、注意が必要ということでした。

次回予告

次回は2/21 (水)に開催します。connpass及びTwitterでご連絡いたします。また、Slackもあるのでよければご参加ください。

書いた人

https://twitter.com/Peranikov

--

--