記事一覧
技術記事・日々の学びをまとめています。
More Effective Agile
『More Effective Agile』の書評。アジャイルを実践するためのプラクティスを幅広くまとめた一冊。個別の手法にとどまらず、リーダーやチームがアジャイルの効果を引き出すための勘所を整理しており、実践の教科書として活用できる。
最新記事
モジュラモノリスアーキテクチャ:マイクロサービスとの比較と選び方
モジュラモノリスというアーキテクチャについて調べたことをまとめた記事です。モジュール分割を施したモノリスとは何かという定義から、マイクロサービスや従来のモノリスとの違い、どのような場面で選択すべきかまでを、実践的な観点で整理します。
CQRSとは?コマンドクエリ責務分離を使うべき場面
CQRS(コマンドクエリ責務分離)について調べたことをまとめた記事。データの更新を担うCommandと参照を担うQueryを分離するパターンの考え方や、CRUDとの違い、スケーラビリティ改善につながる場面と適用すべきでない場面を整理する。
Sagaパターンとは?マイクロサービスでの分散トランザクション管理
Saga パターンとは何か、マイクロサービスにおける分散トランザクション管理の方法(コレオグラフィ型・オーケストレーション型)を解説します。
Goのresponse.WriteHeaderの副作用について
response.WriteHeaderの複数回呼び出しによる副作用を解析し、bytes.Bufferを使った回避方法とtemplateのExecute処理の実装パターンを提示。
GoでServeMuxの機能拡張を提案するProposalがAcceptedになった
Goのnet/http ServeMuxに動的ルーティングとパスパラメータを追加するProposalがAcceptedに。goblinなどサードパーティルーターやGoのルーティングの今後への意味を解説します。
BFF(Backend For Frontend)とは?メリットと実装ガイド
BFF(Backend For Frontend)とは何か、なぜ必要か、フロントエンドとバックエンドの間に BFF レイヤーを置くことで API 契約を簡素化する実装方法を解説します。
通知基盤構築についてのメモ書き
通知基盤(Notification Infrastructure)の設計についてまとめた記事です。メールやプッシュなど複数チャネルへの配信に対応するための構成要素として、メッセージング、テンプレート管理、ユーザーのオプトイン制御、外部サービスとの連携、そしてスケーラビリティといった設計要素を整理します。
Go言語100Tips 開発者にありがちな間違いへの対処法
『Go言語100Tips 開発者にありがちな間違いへの対処法』の書評。Goで陥りがちなミスを100個のTipsとして網羅的にカバーする一冊。ある程度Goに書き慣れた人が、コードの品質をもう一段上げたいときに手元に置いておきたい。
Goのhttp.RoundTripperについて
http.RoundTripperインターフェースを実装してHTTPクライアント側のミドルウェア的処理を実装し、ログ・認証・キャッシュ・リトライの例を示す。
Goでfan-in/fan-outを実装する|並行処理パターン
Goのchannelとgoroutineを活用したfan-in/fan-outパターンを実装し、複数入力を集約・分散する並行処理設計を解説。
Template MethodパターンとStarategyパターンについて
GoFの振る舞いに関するデザインパターンである、Template MethodパターンとStrategyパターンの違いについてまとめた記事です。大枠の処理を上位クラスで決めて具体的な流れを下位クラスに任せる継承ベースの手法と、戦略を差し替える委譲ベースの手法を比較し、それぞれの実装と使い分けを解説します。
Go言語による分散サービス
『Go言語による分散サービス』の書評。Goを用いた分散サービスの実践を、手を動かしながら学べる一冊。マイクロサービス文脈でのモダンな技術や構成の背景、実装の進め方まで実践的に理解を深められる。
multipassでk3sを動かす
docker-composeで構成していた個人開発のアプリケーションを、Kubernetes(k3s)へ移行しようと試みた際に、仮想マシン管理ツールのmultipassを使ってみたメモです。結局移行はしなかったものの、multipass上でk3sを動かして個人開発に活用する方法を紹介します。
スライディングウィンドウの実装|尺取り法をGoで書く
スライディングウィンドウアルゴリズムの実装を解説。固定・動的ウィンドウサイズ、配列の部分和を検索するユースケース(レートリミッター等)、ウィンドウをスライドさせる処理の流れをGoコードで紹介します。
モノレポとは?メリット・デメリットと適切な使い方
モノレポについてまとめた記事です。複数プロジェクトのコードを単一のリポジトリで管理するモノレポとは何かを、ポリレポ(マルチレポ)との比較を通して説明し、そのメリット・デメリットや適切な使いどころ、導入時に考慮すべきポイントを整理します。
実用Go言語
『実用Go言語』の書評。ある程度Goを書いてきた人でも、知らなかった・忘れていた実務的な知見に気づける一冊。エラー型の命名など細やかな作法から、実務でGoを書くうえで押さえておきたい定石までを幅広く扱う。
2分探索木の探索パターンを図解で理解する
2分探索木の探索パターンを解説。DFS(先行順・中間順・後行順)、BFS、一筆書き法による走査で木構造の走査順序をマスターする実践ガイドです。
認定スクラムマスター(LSM)になった
Scrum Inc. Japanの研修と試験を経て、認定スクラムマスター(Registered Scrum Master)になった際の所感とメモをまとめた記事。研修で学んだことや受験の様子、認定の継続に関する情報などを記す。
尺取り法とは|計算量を落とすアルゴリズムを図解
尺取り法(Two Pointer Technique)とは何か。左右のインデックスを使った探索の仕組み、O(N²)からO(N log N)への計算量改善の仕組みをGoコードの例で解説します。