# 2021-04-11 第9回メンターセッション ## 項目 ### 履歴を持つテーブル設計について - RDBで履歴を管理するのは大変 - そもそも履歴を持つ必要があるのか? - 集計に使うだけならRDB以外(BigQueryなど)に保存したら良い - NoSQLにJSONで突っ込む。ログは内容がバラバラなのでRDBでは扱いにくい。 - 履歴を保持する方法 - マスタとマスタの履歴用のテーブルを作る - ログテーブルとして値をそのままコピー ### ルートディレクトリを取得する方法について - 子孫が1つしかない物を探す - →フルスキャンになるのでは? - →このお題の場合だとそんなにレコードが爆増することはないのかも?→たしかに ### リスコフの置換原則 - これは違反か?と気になったらまず抽象化が正しいか疑うべき - 実クラスだけでなくインターフェースもこの原則は適用されるべき ### ログ出力などの横断的な処理について - 見解は概ね同じ - 「ログ出力」はユースケースか? - 開発者都合のログだったら、すべてインフラ層の中にいれてもいいかもしれない - domain/presentationなどと同階層にutilsみたいなディレクトリをきり、その中にログ出力する処理を書いている。どこにログを出すとかは全てこの中に隠蔽する。 ### DDDとAOP - 機能をクラスではなくアスペクトとして定義して横断的に使う。 - アノテーションを使って良い層をルールとして定義しておくことで、責務がブレることは防げる。 - ルールが正しく守られているかは、最終的にはチームで意識を合わせておくことが重要。 ###### tags: `Team-2`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up