Java

【Java】設計書からDTOクラスを生成する【PowerShell】

DTOクラスは基本的にロジックを有さない。なので、実際の開発現場でも「設計書からコードを生成するようにできないか」みたいな話題が良く上がる。 というわけで、ここで仮組みしてることにした。 ざっくり要件 こんな感じでやっていく。 * 設計書に記載されている内容からDTOクラスを生成する * 設計書ファイルの複数入力可能 * Javaファイルの複数出力可能 * setter/getterの出力有無を選べる * 親クラスの指定ができる * importやpackageはEclipseにお願いするので不要 * 設計書のフォーマットがいじられても大丈夫なつくり(努力目標) 入力する設計書ファイルのレイアウト 以下のようなレイアウトにした。DTO設計書ってだいたいこういう感じだよな? また、シート名は「データ項目」固定とした。 シート名が可変になってしまうと、各シートを読み込み→対象のシートであるかどうかを何かしらの色付けして判定、となり面倒じゃね?と思った次第。 実際のコー
やまぐろ

【Java】Spring bootでシングルトンを利用し、簡易的にTBLデータをキャッシュ

今回はSpring Boot開発の現場で役立つTipsとして、シングルトンパターンとキャッシュを組み合わせたTBLデータのキャッシュ実装についてご紹介します。長い期間不変なマスタテーブルの値とかを保持できるので、毎回クエリを発行せずに済む、というメリットがあります。 シングルトンとキャッシュで実現する高速化 アプリケーションにおけるパフォーマンスの重要性 Webアプリケーションにおいて、パフォーマンスはユーザーエクスペリエンスを大きく左右する重要な要素であり、表示速度が遅いと、ユーザーの離脱率増加やコンバージョン率低下につながる可能性があります。特に、近年ではモバイル端末からのアクセス増加や、ユーザーの応答速度に対する期待値向上など、パフォーマンスの重要性はますます高まっています。特にWebだと「ターンアラウンドタイム(TAT)3秒以内」なんて目標設定されたりするので、ボトルネックは少ないほうがいいです。 TBLデータのキャッシュとは? TBLデータのキャッシュとは、データベースから取得したデータをアプリケーションサーバーの
やまぐろ

【Java】Spring Bootのインターセプターで、スレッドローカルに値をセットして使い回す

ちょっと限定的な使い方かも知れませんが「仕様変更とかで、全てのコントローラークラスに同じ処理を追加したい。でも、既存モジュールへの改修はコスト的に厳しい」って時に役立つのが、インターセプター。これとスレッドローカルを組み合わせて、なるべく改修範囲を抑えてやりたい事を実現しようと言うのが、今回のコンセプトです。 インターセプターとは インターセプターは、Spring Bootアプリケーションにおいてリクエストの前後に特定の処理を挿入するための仕組みです。例えば、「ある機能を実行する前に特定の処理を実行したい」場合などに活用されます。また、共通の処理を一箇所で管理することができるため、効率的な開発が可能となります。 スレッドローカルとは スレッドローカルとは、各スレッドごとに値を保持する仕組みです。これにより、特定のスレッド内で共有するデータを簡単に管理できます。特に、マルチスレッド環境において、スレッドごとに異なる値を保持する必要がある場合に有用です。 サンプルコード Spring Bootのインターセプターを使用し
やまぐろ