hirapi's blog

ちゃんとしたふりをする

『SQLアンチパターン』を読んだ④「IV部 アプリケーション開発のアンチパターン」

毎日1〜2個読んで、本文や調べたことをnotionにまとめていたのだけど、せっかくなのでその一部をこちらにも転記する。
引用の域を超えてしまうので本の内容をまとめた部分は端折って、感想とその周辺の最低限の内容だけを転載。

これまで:

hirapi.hatenablog.jp

hirapi.hatenablog.jp

hirapi.hatenablog.jp

章のタイトルの通り、SQLそのものというよりはSQL・データベースを取り巻くアプリケーションや、さらにその開発を取り巻くチームについての話だった。

各章

19. リーダブルパスワード(読み取り可能パスワード)

  • たしかに

    アプリケーションが正当な目的でパスワードを読み取れるということは、攻撃者が不当にパスワードを読み取れることも意味する

20. SQL インジェクション

  • エスケープしていないと ' が含まれる名前で予期せぬエラーになる
    • 日本語ではあまり出会わないけどたしかに……

21. シュードキー・ニートフリーク(疑似キー潔癖症)

  • IDが連番になってなくて困ったことあまり無い
  • 「解決策:疑似キーの欠番は埋めない」ですよね

23. ディプロマティック・イミュニティ(外交特権)

  • データベースのドキュメント化、ウッ頭が……
  • Railsマイグレーションはやってたけど、ER図とかがないとリレーションがわからないんだよなあ。テーブル定義とモデルをひとつひとつ見ていかないといけない
  • 前職で開発ブランチ毎に1つQA用のDBサーバが自動で立てられてたの便利だったなー

24. マジックビーンズ(魔法の豆)

  • Railsあるある。serviceクラスの議論になるのかしら
    • controllerからはserviceだけを呼びmodel(AR)を呼ばないということを突き通せばよさそう
  • 基底クラスが持ってるCRUDのメソッド、付随してなにか処理が必要なら = のメソッドを上書きすればいいじゃんと思う

25. 砂の城

  • 『絵で見てわかる〜』にも「障害発生時どうなるか」が書いてある
  • 今までインフラは専門チームに任せきりだったけど、自分でもやってみたいな