Goでfan-inとfan-outを実装する
2023年8月21日概要 並行処理のパターンであるfan-in、fan-outをGoで実装する。 fan-in/fan-outとは fan-inは、複数の入力を1つにまとめる処理で、fan-outは、1つの入力を複数に分ける処理である。 fan-inはデータを集約させ、fan-outはデータを分散させる。 Goではchannelとgoroutineを使って実現することができる。 実装 ソースコードはgithubにも置...
概要 並行処理のパターンであるfan-in、fan-outをGoで実装する。 fan-in/fan-outとは fan-inは、複数の入力を1つにまとめる処理で、fan-outは、1つの入力を複数に分ける処理である。 fan-inはデータを集約させ、fan-outはデータを分散させる。 Goではchannelとgoroutineを使って実現することができる。 実装 ソースコードはgithubにも置...
概要 GoFの振る舞いに関するパターンであるTemplate MethodパターンとStrategyパターンについてまとめる。 Template Methodパターンとは 大枠の処理を上位のクラスで決めておき、具体的な処理の流れを下位のクラスに任せる設計パターン。 package main type Game interface { Init() Start() End(...
Go言語による分散サービスを読んだ。 Goでの分散サービスの実践について書かれた本。 マイクロサービス文脈でのモダンな技術、構成の背景や実践についても学べると思う。 ...
スライディングウィンドウとは 配列のサブアレイを”ウィンドウ(サブセット)”をずらすしていくように探索するアルゴリズム。 ウィンドウサイズは固定または動的。 実例としては、レートリミッターで使われたりする。 実装 ソースコードは以下。 sliding_window 与えられた配列から合計がN以上になるサブアレイを探索する関数。 package main import "fmt"...
概要 docker-composeで構成されている個人開発のアプリケーションをKubernetes(k3s)へ移行するという試みの際に、multipassを使ってみたのでそれについてメモを残す。 結局移行はしなかったが... k3sはCNCFに認証されたKubernetesディストリビューション。IoTやエッジコンピューティング用途向け。メモリを節約したい、Kubernetesほどのスケールは不要...
概要 二分探索木とは どのノードにおいても、左の子ノード<親ノード<右の子ノードとなるような木。 ex. 5 / \ 3 8 / \ / \ 1 4 6 9 探索パターン 深さ優先探索(DFS: Depth first search) それぞれのノード探索順はwww.momoyama-usagi.com - うさぎでもわかる2分探索木 後編 2分探索木における4つの...
概要 尺取り法についてまとめる。 英語だと、Two Pointer ApproachまたはTwo Pointer Techniqueと呼ばれる。 尺取り法とは データセット(数列や文字列など)の右端と左端のインデックスを保持して、条件によって左右のインデックスを移動させることで、条件を満たすデータを探索するアルゴリズム。 特定の条件を満たすデータを区間の中から探索したいような時に役立つ。 例題 配...
scruminc.japanのRegistered Scrum Masterの研修・試験を受けて認定スクラムマスターになったので感想とメモ。 ちなみに認定期間が1年らしいので、認定を継続するには年に1回小テストを受けて更新する必要があるらしい。 研修を受けた理由 普段、チームでスクラム開発を行っているが、開発者(というかチームリーダー)としてスクラムについて理解を深めて、チームのプロセス改善とプロ...