テスト手法

単体テストには DI ではなくリフレクションを使いましょう

依存性の注入【Dependency Injection】は、SOLID 原則にも含まれる大変重要な設計指針です。適切な箇所で適切に使用される分には何も問題はありませんが、便利だからといって単体テストのためだけに DI を利用するというのはい...
プログラミング

Electron のプリロードスクリプトによるプロセス間通信

Electron アプリケーションはメインプロセスとレンダラプロセスから構成されます。各ウィンドウは独立したレンダラプロセスで実行され、UI やウェブページを表示するために使用されます。ここではメインプロセスとレンダラプロセスの通信方法につ...
プログラミング

Electron + ESM + TypeScript + webpack + electron-builder

Electron v28.0.0 より ESM【ESModules】がサポートされましたので、ESM 化された Electron アプリケーションを electron-builder でビルドして配布するまでの手順を解説したいと思います。 ...
プログラミング

OpenAPI の定義フォーマット

OAS【OpenAPI Specification】とは OpenAPI Initiative が提唱する RESTful API の定義フォーマットです。フォーマットに則って定義することで、あなたのプログラムは洗練され、自動ドキュメント化...
プログラミング

OpenAPI による RESTful API 開発のすすめ

OpenAPI とは、RESTful API 設計のために策定された仕様であり、その具体案として API の定義フォーマットやドキュメント化、テストの実施を支援するためのツールを提供しています。 これらのツール群はもともと Swagger ...
プログラミング

システムで考慮すべき浮動小数点数の有効桁数と丸め誤差

システムプログラムでは正確な数値を表せる桁数に限界があります。精度の高い小数を扱う場合は、技術的にどれくらいの精度(桁数)を保証できるか、あるいはどこまでの精度を保証すべきかが仕様決定の上で重要となります。ここではシステムの構成要素であるプ...
AWS

AWS コマンドからの QuickSight の操作

AWS コマンドを利用して QuickSight のテンプレート、ダッシュボード、分析を操作する手順を解説いたします。 AWS CLI Command Reference QuickSight Developer Guide AWS コマン...
AWS

QuickSight のユーザーの作成とシステム利用者への割り当て

QuickSight とシームレスにつながるシステムの構築に際して、QuickSight ユーザーをどのようにシステム利用者に割り振るかの観点からインフラ設計を考えてみたいと思います。なお、ここでの説明は、Enterprise Editio...
AWS

QuickSight のデータセットの作成と接続方法

QuickSight とは、AWS が提供する BI【Business Intelligence】サービスで、データの集計結果をグラフ等を利用して可視化し、分析やインサイトの抽出に役立てることができます。QuickSight はデータベース...
AWS

Terraform とは

Terraform とは、クラウド上のインフラ環境をコードで管理することができる Iac【Infrastructure as Code】ツールです。例えば AWS の IAM ユーザーの作成やロール設定といったインフラリソースの定義を構成フ...