Blog
技術#Go#設計
2024-08-15
プロダクト開発でsqlcを採用した話
toB向けの0->1のGoのバックエンドAPI開発でsqlcを採用し、約1年半運用した経験を元に、採用理由、メリット(SQL中心の開発、活発な開発状況)、デメリット(メソッドの命名規則、テンプレート機能の欠如、バージョンアップ時の課題)、そして導入時の検討ポイントについて解説します。
技術#設計#Go
2023-07-01
トランザクションを考慮した実装について考える
アプリケーションレイヤーでトランザクションを考慮した実装について、DDD+オニオンアーキテクチャ+Repositoryパターンの観点から、Usecase層でのトランザクション管理やアンチパターンについて考察します。
技術メモ#Google Cloud#CI/CD
2023-04-21
GCP Cloud Load Balancingでエンドポイントごとのカナリアリリースをする
GCP Cloud Load Balancingを利用して、Cloud Run上で動作するアプリケーションのエンドポイントごとにカナリアリリースを行う方法について解説します。
技術#設計
2022-08-21
社内のプロダクト開発でコメントを書くときの考え方
社内プロダクト開発におけるコメントの書き方について、その目的、メリット・デメリット、具体的な記述例、そして避けるべきケースについて考察します。
技術#設計
2022-03-13
ファーストクラスコレクション
ファーストクラスコレクションの定義、メリット・デメリット、そしてGo言語での実装例について解説します。
技術#設計
2022-03-06
スタンプ結合
ソフトウェア設計におけるモジュールの結合度の一つである「スタンプ結合」について解説。複合設計の背景、モジュールの定義、結合度の階級(内容結合、共通結合、外部結合、制御結合、スタンプ結合、データ結合、非直接結合)をGoのコード例を交えて説明し、可読性向上への考慮を述べます。
技術#Go#設計
2022-02-20
GoのNamed return valueについてメリデメを考える
GoのNamed return valueについて、そのメリットとデメリット、そして個人的な判断基準について考察します。