設計【SQL】ORMにおけるクエリマッパーのデメリット ORMには、主に以下の2点の機能があり、非常に便利なツールである。機能説明ObjectMapperオブジェクトマッパー取得したDBのデータを特定のクラスなどにマッピングし簡単にオブジェクトとして使えるようにするQueryMapperクエリマ... 2024.12.07設計
DockerDocker環境で立てたデータベースのER図を自動生成する(MySQL) この記事では、データベースのER図を自動生成する手順を解説する。やりたいことローカル環境で、Docker Composeを使ってAPIやMySQLを立てている状態既存のプロダクトコードやCI/CDに影響がないようにER図を自動生成したい最終... 2024.11.07Dockerデータベース設計
設計【リーダブルコード】変数は上書きしない より良いコードを書くための基本的なテクニックの1つについて解説する。結論変数は上書きしない。変数を使う際は、不変な状態(上書き不可能な状態)で使う。なぜ不変にすることが望ましいのか?これに対する答えとしては「値が変わってる=意味が変わってる... 2024.08.17設計
Java【Java】Enumの機能を最大限に活かし、可読性を上げる(同時にswitch文も減らす) Enumは「種類分け」の観点でよく利用されることがある。プログラミングの教科書にも、以下のようにswitch文との併用が記載されていることが多い。public enum CreditCard { VISA, MASTER, JCB,}fin... 2024.03.25Java設計
JavaクラスA→クラスBの変換メソッドをどこに書くか Webサービスを開発しているとき、ほぼ必ず書くことになる処理がオブジェクトの変換メソッドだ。外部のAPIから受け取ったデータをクラスAにマッピングし、その後クラスBに変換してアプリケーション内部でロジックを組み立てるということはよくある。本... 2024.03.24Javaプログラミング言語設計
HTTP初心者がAPIの例外処理を行う場合の考え方 webエンジニアになりたての頃、例外についてどう考えたら良いか分からなかったのでそういう人のための記事。サービスの機能要件、非機能要件に応じて対応を変える必要があるため、一概に「これが正解」とは言えないが、良い実装に至るための考え方を紹介す... 2022.09.20HTTP設計
設計【やさしいDDD入門 第2章】エンティティとは エンティティとは値オブジェクトと同じく、ざっくり言うと現実世界の物をクラスで表したもの。他の用語であるエンティティデータベースやJavaでもこの単語を利用するが、DDDにおいては意味合いが異なる。上記ではデータベースの値をマッピングするクラ... 2021.11.03設計
設計【やさしいDDD入門 第1章】値オブジェクトとは 値オブジェクトとはざっくり言うと、現実世界の物をクラスで表現したもの。エンティティと似ているが、その違いについてはエンティティの章で解説する。例:ユーザー名例えば、ユーザー名について考えてみる。特に何も考えなければ、ユーザー名は以下のように... 2021.09.19設計