第6回 Data-Oriented Programming 読書会
- JavaEE勉強会の読書会
- 開催場所はDiscordのjavaee-study-jp
- 今回
- 11章の途中から13.3まで
- 次回
- 第7回 Data-Oriented Programming 読書会 - connpass
- 13.4から
- 2023/5/21(日)
- 参加者トピック
- ディスカッション
- 11.3 Representing a client request as a map
- 11.4 Representing a server response as a map
- 11.5 Passing information forward
- 11.6 Search result enrichment in action
- 11 Summary
- Part 3. Maintainability
- 12 Advanced data validation
- 12.1 Function arguments validation
- 12.2 Return value validation
- 12.3 Advanced data validation
- 12.4 Automatic generation of data model diagrams
- 12.5 Automatic generation of schema-based unit tests
- 12.6 A new gift
- 12 Summary
- 13 Polymorphism
- 13.1 The essence of polymorphism
- 13.2 Multimethods with single dispatch
- 13.3 Multimethods with multiple dispatch
- 参考情報
参加者トピック
- chatGPT の話ばかりしてる
- GitHub Copilot の OSS メンテナ認定は雑すぎて助かる
- GPU ボードのメモリは 16 GB ないと厳しい
ディスカッション
11.3 Representing a client request as a map
- 最初から汎用的なAPIにするのは早すぎる最適化だと思う
11.4 Representing a server response as a map
properties
にフィールド名を書かなくてもrequired
に書いただけでフィールドを生やすらしい
11.5 Passing information forward
特になし
11.6 Search result enrichment in action
特になし
11 Summary
特になし
Part 3. Maintainability
特になし
12 Advanced data validation
特になし
12.1 Function arguments validation
- 保守を任されたシステムで、最初の仕事がデータの型付けだったら辛すぎる
- JSON Schema に静的型付け言語と同じような表現力を求めている
12.2 Return value validation
特になし
12.3 Advanced data validation
LOCALE=C date
の出力を見るとformat="date"
が受け入れてもらえる気がしない- 不安なので正規表現を書いてしまう、と思う
12.4 Automatic generation of data model diagrams
12.5 Automatic generation of schema-based unit tests
- GitHub - json-schema-faker/json-schema-faker: JSON-Schema + fake data generators
- GitHub - clj-kondo/clj-kondo: Static analyzer and linter for Clojure code that sparks joy
- faker としての使い方では不十分ではないか
- 境界値とか気になるときはどうするんだろう
12.6 A new gift
- JSON Schema はフィールドの値域が条件によって変わるようだと記述量が多くなりがちで困る
12 Summary
- OpenAPI は JSON Schema のスーパーセットでありサブセットでもあるので OpenAPI を使っていくとよさそう
13 Polymorphism
13.1 The essence of polymorphism
- (yujiorama) 多態性は OOP の特徴ではないような?
- 誤解だった オブジェクト指向は継承で多態するプログラミング - きしだのHatena
オブジェクト指向って継承による多態があるからこそなんだけど、継承が非推奨になって以降に雰囲気でオブジェクト指向を知った人には、継承はオプションでカプセル化だけでオブジェクト指向って言ってしまいがちに思います。
13.2 Multimethods with single dispatch
13.3 Multimethods with multiple dispatch
PlayCode - Javascript Playground