経験から知識を補強する
職務経歴書の8エピソードから始める — 当時の判断の想起と関連技術の補強を、一件ずつ同じセッションで行う入口。
経験した分野を足場に、設計の理由・代案・障害時の考え方を自分の言葉で説明できるようにします。 下のテーマを一つ選び、開始文をChatGPTへコピーしてください。
「実際に担当したこと」は過去プロジェクトで整理します。このページは learn(関連知識の補強) の入口です。一般論や演習で説明できたことを、過去に設計・実装した経験として扱いません。面接では「当時行ったこと」「当時の理由で覚えていること」「学習を踏まえ今なら考えること」を分けて話します。
2026-09-10の本人の希望に基づく追加です。対象はフリーランス時代、ウォレットの前職、現職に関連するLinux性能調査。このlearn入口の対象はそのままに、2026-09-16に追加したエピソード別の入口では、新卒時代のCMS開発も選べます。Database / System Designの主軸と既存needs_revisitの優先は保ち、全テーマの並行学習や日程は課しません。ページの追加は学習実績ではありません。
1. Goの立ち上げ・マイクロサービス・デプロイ
Section titled “1. Goの立ち上げ・マイクロサービス・デプロイ”Goでサービスを作る判断から、サービス間の境界、変更を本番へ届ける判断へつなげます。BFFの経験記録は事実確認が必要なときに別途参照します。今回挙げたGo立ち上げが既存BFFと同一案件か、各技術の採用を誰が決めたかはunknownです。
以下は学習用の問いです。当時の構成や障害を再現したものではありません。
| 選択テーマ | 最初の問い | 回答後に深める知識 |
|---|---|---|
| A:Goプロジェクトの立ち上げ | Goで新しいAPIを作るとき、最初にどんな責務と依存の境界を決めますか? | module・package・interface、設定とerror、contextのdeadline/cancel、テスト、graceful shutdown。ディレクトリ構成を先に固定せず変更理由から考える |
| B:マイクロサービスの境界 | 一つのアプリをサービスに分割する提案を、何を根拠に判断しますか? | 独立デプロイ、データ所有、同期通信と非同期、部分障害、timeout/retry、契約変更、運用コスト。分割しない判断も比較する |
| C:Kubernetes・Argo CDとデプロイ | APIとDBスキーマの変更を、安全にリリースする手順をどう設計しますか? | CIとCD、Gitのdesired stateと実環境、RollingUpdate・canary・blue/green、readiness、drain、旧新版の互換性、rollbackとDB変更の関係 |
参照先:Goで学ぶHexagonal・Clean/責務分割/デプロイ/DB migration/ソフトウェアテスト。
最初の説明の足場:Goのmodule/package構成は規模と公開範囲に合わせます。Kubernetes Deploymentによる更新とArgo CDによるGitとの同期は責務が異なります。Gitに戻せたことだけで、DBのデータや外部副作用まで元に戻ったとは判断しません。下記の公式資料をもとに、選んだ一問から具体化します。
2. 暗号資産ウォレット・正しさ・署名
Section titled “2. 暗号資産ウォレット・正しさ・署名”ウォレットの経験記録にある運用の話と、ここで学ぶ設計例を分けます。実際のチェーン、台帳、照合実装、鍵管理、署名方式の詳細はこの入口ではunknownです。
| 選択テーマ | 最初の問い | 回答後に深める知識 |
|---|---|---|
| D:トランザクションと決済状態 | 送金要求を受けてから、利用者に「完了」と表示するまで、どんな状態を区別しますか? | 受付・署名・broadcast・取り込み・確定、通信timeoutと結果不明、二重送信防止、nonceまたはUTXO、手数料、失敗・置換 |
| E:リコンサイルと再同期 | ノードから取り込んだ履歴と内部DBが食い違ったとき、何を照合してどう修復しますか? | block heightとhash、checkpoint、重複・欠落、reorg、冪等な再処理、内部台帳の不変条件、再走査、差分監視、修復の監査記録 |
| F:署名・暗号・鍵管理 | 送金への署名は何を保証し、何を保証しませんか? | hash・暗号化・電子署名の違い、秘密鍵と公開鍵、署名対象、replay防止、ECDSA/EdDSA、鍵の保管・復旧、multisigとMPCの違い |
チェーンを照合の基準にするときも、ノードの見え方と確定済みの状態を区別します。 チェーンに取引が含まれても、確定性の扱いはチェーンごとに異なります。内部の顧客別残高・予約・手数料等の業務状態がすべてチェーンに存在するとも限りません。「常に完全一致」より、どの状態をどの確定基準で照合し、遅延・欠落・巻き戻りからどう回復するかを問いにします。
署名の検証、取引の実行成功、決済としての確定も別の判断です。Ethereumを例にするときは 演習上の追加条件:Ethereum PoS と明示し、過去に担当したチェーンや全ウォレットへ一般化しません。実鍵・顧客データを使わず、架空の取引で考えます。
参照先:API・冪等性/非同期処理の振り返り・照合/トランザクション。暗号の詳細教材は、選んだ方式と疑問が出たセッションで補強します。
3. Linuxのボトルネック調査・性能改善
Section titled “3. Linuxのボトルネック調査・性能改善”実際の調査ノートから知識を更新する7ケース — epoll・NFS・futex・起動・パッケージ・DNS。ケース別の記録と技術補足、ChatGPT開始文を使える。DNSは他者の事例として区別する。
現職のトラブルシューティングに関連する知識を、APIやDBの遅さからOSへ掘り下げます。以下の数値・症状は 演習上の追加条件 で、本人の実測・対応実績ではありません。
| 選択テーマ | 最初の問い | 回答後に深める知識 |
|---|---|---|
| G:ボトルネックの特定 | APIのp99が悪化し、ホスト全体のCPU使用率は40%です。次に何を観測しますか? | workloadと基準値、USE法、CPUごとの偏り・run queue・cgroup制限、on/off-CPU、I/O待ち、lock、下流待ち |
| H:性能チューニングと検証 | ストレージI/O待ちが疑われるDBで、設定を変える前に何を確かめますか? | query・cache・page cache・reclaim・swap・fsync・device latency、ネットワーク再送、接続数と並行度、変更の副作用、再現負荷とrollback |
目指す説明は「観測 → 仮説 → 仮説を区別する計測 → 小さな変更 → 同等負荷で再検証」。CPU使用率の一つの値から原因を断定せず、レイテンシ・throughput・errorと資源の使用率・飽和・errorを結び付けます。vmstat、iostat、pidstat、ss、perf、PSI等は問いに合わせて選び、出力の暗記やsysctl一覧の網羅を目標にしません。
お話にあった本に該当すると考えられるのは 『詳解 システム・パフォーマンス 第2版』 です。公開目次のメソドロジ・CPU・メモリ・ファイルシステム・ディスク・ネットワーク・クラウドの範囲を、必要な問いと対応させます。書籍全文の読了・内容確認を前提にせず、著者の公開資料とkernel公式資料で学習を始められます。
参照先:可観測性/スケールの振り返り/SQL・実行計画/接続プール。
選んだテーマで学習を始める
Section titled “選んだテーマで学習を始める”選択テーマ:AをA〜Hの希望する文字へ変えてコピーします。一度に一つだけ扱います。
MFQWKMR4/tech2026 の最新mainを参照して、口頭のlearnを開始してください。選択テーマ:A入口:src/content/docs/career/learning/experience.md
AGENTS.md、CHATGPT.md、src/content/docs/career/index.md、上の入口を読んでください。目的は経験した分野に関連する知識の補強です。経験の棚卸しを強制せず、選択テーマに関係する既存reviewのneeds_revisitがあれば一問から再確認し、なければ入口の最初の問いを一つだけ出して私の回答を待ってください。選ばなかった分野の並行課題は増やさないでください。
本人の実経験、今回の一般知識、仮定した設計を分けてください。使用技術から私の担当・採用判断・実装・成果を推測せず、不明はunknown。過去の案件が同一かも推測しないでください。会社名・顧客情報・秘密情報は記録しないでください。未提示のscenario条件はunknown。足す場合は「演習上の追加条件」と明示してください。ウォレットは対象チェーンと確定基準、Linuxはkernel・環境・計測条件、Go/Kubernetes/Argo CDは対象バージョンを確認し、不明なら学習例と実環境を区別してください。
最初の回答とヒント・解説後の回答を区別し、追加質問は一つずつにしてください。分からなければDefault → Why → Trade-off → Exception → Production → Troubleshootingで一つの概念から日本語で説明し、別の小さな例で理解を確認してください。一次資料を確認し、URL・対象バージョンを残してください。開始時刻を確認できる場合は記録し、40分付近で区切りを提案してください。時刻が不明なら経過時間を推測せず、継続は本人の希望がある場合だけにしてください。
終了時はdocs/session-workflow.mdと.github/ISSUE_TEMPLATE/session-sync.mdに従い、実際の問い・回答・ヒント・判断の変化・次回課題をYAML+Session narrativeにまとめてください。session_typeはlearn。summaryにこの入口のpathと選択テーマを残してください。実際の内容に合う既存topicへ記録し、合うものがなければ無関係なreviewへ寄せず、Codexへの引き継ぎに最小topic追加が必要と明記してください。経験のreviewを一般知識の回答だけで更新しないでください。repository_requestsには、今回の疑問への解説をどこに補強したいかを残してください。CHATGPT.mdに従い[Session Sync] GitHub IssueをMFQWKMR4/tech2026へ作成し、URLを返してください。作成できない場合は未作成と明記し、コピー可能なタイトル・本文を返してください。参照できない場合は、このページと共通ルールを渡してください。関連topicの npm run session:pack -- <topic> を添付する場合も、この入口は別途渡します。通常のtopic packへの自動収録はありません。
終了後はIssue URLをCodexへ渡し、実際の回答に基づく記録と必要な解説を既存の振り返りへ戻します。次回は関連するneeds_revisitから。独力での説明を試したいときは面接テスト入口からシナリオ作成を依頼します。
一次資料と対象範囲
Section titled “一次資料と対象範囲”確認日:2026-09-10。以下は学習の参照先で、本人の使用バージョンを示しません。追従型ドキュメントはセッション時に版を再確認します。
| テーマ | 資料 | 対象・版 |
|---|---|---|
| A | Go moduleの構成 | Go modules公式ガイド、版番号なし。実習時のGo版は未指定 |
| C | Kubernetes Deployment | 現行公式文書、apps/v1 Deployment。実環境のKubernetes版はunknown |
| C | Argo CD Automated Sync | stable追従文書。実習時にreleaseを固定 |
| D・F | Ethereum Transactions | Ethereumの取引・署名の基礎。取引typeとupgrade依存の詳細は都度確認 |
| D・E | Ethereum Gasper | Ethereum PoS、fork choiceとfinality。ほかのチェーンへ一般化しない |
| G・H | 著者のSystems Performance第2版案内・USE Method | 英語第2版と著者の公開メソドロジ。日本語版は上記出版社リンク |
| G・H | Linux PSI | kernel公式の追従文書。kernel版・CONFIG_PSI等の利用条件は実習時に確認 |