k_kinzal / ENGINEERING WORKS · 2014–2026

k_kinzal

複雑な技術を、使える道具と伝わる知識に変える人。

使える道具を作る

文書生成、デプロイ、PHPのテスト環境、AI開発。

安全に変える

基盤移行、型による設計、自動テストと品質の検証。

知識を伝える

Qiita・Zennでの発信、技術登壇、Rust・Solana教材。

01
プロフィール

読み方各期の見出しが主張、続く段落が文脈、年表が根拠。本文の番号は文末の出典を指す。

開発や運用で感じた不便を、コードで解く。

仕組みを掘り下げ、動く形で確かめる。その過程を、OSS・記事・登壇・教材として公開する。

2014年の初登壇から現在までの、公開活動をたどるペーパー。人物紹介は本書に収録した活動をもとにした編集上の要約。確認日:2026年9月26日。

02
2014

最初の公開活動PHP · Node.js · Grunt · Scala · Documentation

着眼点実装と説明を、一緒に公開する。何を作ったかだけでなく、どう動かすかまで伝える。後年のテスト支援や学習教材にもつながる活動の形が、2014年から見られる。

身近な不便を、作って、書いて、話す。

初登壇の前から、作った道具と使い方をQiitaで公開。通知の実装とドキュメント生成に、初期の関心が表れている。

  1. 2014.05–06

    ビルド結果を「伺か」に伝える

    Gruntの成功・警告・失敗などをデスクトップマスコットへ通知するgrunt-sstpを制作。5月6日にQiitaで公開し、6月1日にはScalaのSBTから操作する方法も解説した。12

  2. 2014.09

    文書を、コードから生成できるように

    Dgeniによるngdoc生成をQiitaで解説。grunt-dgeniで日常のビルドに文書生成を組み込み、dgeni-markdownでMarkdown出力の道具も用意した。手順の紹介と、その手順を簡単にする実装が並んでいる。345

  3. 2014.10.11 · 初登壇

    PHP+伺かで始める新しい通知の形

    PHP Conference Japan 2014のLT。PHPとSSTP、APIを組み合わせ、さまざまなイベントを「伺か」へ届ける仕組みを紹介。春から公開していた通知ツールの試みが、技術カンファレンスでの発表へつながった。67

03
2015–2016

開発の流れLambda · Scala.js · npm · Flowtype · State Machines

新しい技術を、普段の開発へつなぐ。

LambdaやScala.jsを試すだけでなく、テスト・ビルド・デプロイの流れへ組み込む方法を、記事と登壇で共有した。

  1. 2015.01

    Lambdaの開発サイクルを組み立てる

    1月の記事ではlambda-templateを使い、ローカルのテストからクラウドでの実行・ログ確認までを説明。関数のコードだけでなく、繰り返し開発して確かめる流れを整え、CI/CDへつなぐ方法を共有した。8

  2. 2015.03 · 08

    文書生成とScala.jsを登壇で伝える

    3月21日のng-japan 2015ではDgeniの始め方を比較。8月1日のScala関西Summit 2015では、npmとSBTをどう組み合わせるかを紹介した。7月公開の別のScala.js発表は、Scala.js公式サイトの資料一覧にも掲載されている。91011

  3. 2015.12 – 2016.01

    配布とビルドの流れを見直す

    12月にはLambdaの設定・成果物・デプロイを分離する方法を説明。翌1月には、SBTを使わずNode.jsからScala.jsを扱う環境を検証した。技術を、普段の開発の道具立てへ合わせていく。1213

  4. 2016.12

    サーバーレスを型と状態で考える

    SAM・Node・Flowtypeを組み合わせたLambda開発を解説。Step Functionsの記事では、状態定義を動的に作る並列分散処理や、例外・再試行の扱いを検討した。1415

04
2017–2019

繰り返せる運用Serverless · Go · Containers · Helm · Automation

繰り返す作業を、設定とルールに変える。

サーバーレスの導入判断から、コンテナでのコマンド実行、ChartやPull Requestの操作まで。開発と運用の摩擦を小さくしていく。

  1. 2017.08 · 11

    処理の流れと、型の境界を説明する

    8月9日のServerless Meetup Tokyo #4で「flowtypeStepFunction」を発表。11月のQiitaではOpaque Type Aliasesを取り上げ、同じ基本型でも用途の違うIDなどを区別し、誤った受け渡しを防ぐ設計を説明した。1617

  2. 2018.05 · 10

    導入の判断と、実行環境を整える

    5月の発表では、既存システムにサーバーレスを部分的に取り入れる考え方を紹介。10月に作成されたGo製ツールaliasesでは、YAMLで定義したコマンドと依存関係をコンテナ上で扱えるようにした。1819

  3. 2018.12 – 2019.01

    Kubernetesの導入と、配布の手間を扱う

    12月のJapan Container Daysで既存システムのKubernetes化を発表。翌1月には、GitHubなどのHelm Chartをローカルへ取り込むhelm-importをQiitaで紹介し、helmfileと組み合わせる方法を示した。2021

  4. 2019.10

    Pull Request運用を自動化する

    Go製CLIのprを作成。JMESPathによる条件で対象を選び、ラベル・担当者・レビュー・マージなどの操作を行う。日々のリポジトリ運用を、再利用できるルールとして扱う道具である。22

05
2020–2021

信頼できる変更PHP · Kubernetes · Helm · Observability · Reliability

動いているシステムを、変え続けられるように。

既存PHPシステムのKubernetes移行を、発表・連載・質疑応答として公開。移行後の運用や、アラートの扱いまで関心が広がる。

  1. 2020.10–12

    移行で直面した論点を、実務の言葉で共有

    10月のAWS DevDay、11月からの連載、12月のPHP Conferenceで、EC2からKubernetesへ移す取り組みを説明。設定の注入、ログ、コンテナの終了処理、開発環境など、移行を進める際の課題を具体的に扱った。移行で示された変化は、後掲の「主な成果」にまとめた。232426

  2. 2021.01

    アラートを、通知だけの問題にしない

    Zennの「僕たちはアラートを管理できない」では、検知、利用者への影響の解消、原因の根本解決を分けて整理。対応する人の負担、責務、知識の蓄積、指標の難しさを、自身の課題意識から論じた。27

  3. 2021.03

    Helm Chartを運用し続ける知見を共有

    CloudNative Days Spring 2021で、2年半のChartリポジトリ運用を振り返る。配布の自動化、複数Chartの管理、Kubernetes更新への追従、テストなど、導入後に続く作業を整理した。28

06
2022

自律性と型Rust · Type Safety · GraphQL · GitOps · Developer Autonomy

自分たちで変えられる、壊しにくい仕組みへ。

開発の自律性を支える基盤づくりと、Rust・GraphQLの実装。設計の考え方を、書籍・登壇・コード・記事のそれぞれで表した。

  1. 2022.03

    状態と遷移を、Rustの型で表現する

    Zenn Booksで「Typesafe State in Rust (preview)」を公開。状態に応じたデータや振る舞い、遷移を型で表現し、誤った操作を制約する設計を全8章で説明している。29

  2. 2022.04

    開発チームへオーナーシップを渡す

    DevOpsDays Tokyo 2022に登壇。IaCの継続的デリバリー、Argo CDによるGitOps、OPAによる制約などを紹介した。開発者が自ら変更できる環境と、安全を保つための仕組みを併せて設計する取り組みである。30

  3. 2022.08–09

    使うOSSの課題を、上流の修正へつなぐ

    async-graphqlへ、resolverでリクエストデータが失われる不具合の修正と、CursorTypeのプリミティブ型対応を提案。2件のPull Requestはそれぞれ8月・9月にマージされた。3132

  4. 2022.11–12

    設計を伝え、互換性を検討する

    11月は構成図の整列・余白・線・まとまりを説明するZenn記事を公開。12月にはGraphQLの古い操作を変換層で受け止めるスキーマ変更の案を示し、Rustでの試作と未実装の課題を共有した。3334

07
2023

AIと新しい学びChatGPT · LlamaIndex · Serverless · Solana · Rust

AIを試し、学びの入口を増やす。

生成AIをシステムへ組み込む検証が、年初から始まる。後半にはSolanaの日本語資料とRustの学習支援へ活動が広がった。

  1. 2023.02–03

    AIへ渡す情報と、返る答えを検証

    ChatGPTとLlamaIndexで「伺か」の仕様を問い合わせる実験を公開。文書の分割や構造が回答に及ぼす影響を調べた。Security Hubのトリアージでは、構造化した判断結果と、人への確認を含む処理を検討した。3536

  2. 2023.04

    AIの出力を、プログラムから扱う

    ChatGPT Meetup Osaka #1で、プロンプト技法を発表。回答の揺れを実験し、プロンプトに加えて、検査・再試行・補正を組み合わせる考え方を紹介した。37

  3. 2023.08–10

    経験を再整理し、新しい領域を学ぶ

    8月公開の登壇資料では、サーバーレスを拡張速度と耐障害性の観点で論じる。9月にはSolanaの日本語資料集を作成し、10月のZennではアカウントや状態更新を、CRUDの実装を通じて解説した。383940

  4. 2023.11–12

    RustとSolanaを、体験できる学びに

    Solana Developer Hub #0で「Rust入門 in Solana」「AIで始めるRustプログラミング」の資料を公開。カウンターの実装を題材にRustへ入門する構成を取り、#1ではSolana Payも扱っている。4142

AIの記事は本人による実験・検討の記録。日本語資料集には他の著者の資料も含まれる。

08
2024

実践と支援Rust · Solana · PHP · Docker · Developer Experience

動かして学び、自力で進める条件を作る。

Solanaの実習・計測から、既存PHPのテスト支援、開発者の自律性の振り返りまで。技術を使う人の次の一歩を支える。

  1. 2024.03

    環境構築から公開までの教材を用意

    Solana Developer Hub Workshop #4向けに、開発環境の準備、ウォレット接続、NFT発行、Web公開までをたどる教材を公開した。実際にアプリを作り、公開するところまで学べる構成にしている。43

  2. 2024.05–06

    内部の動きを測り、Rustの学び方を伝える

    5月の資料「Compute Units / Budget最適化」では、Solanaの実行コストを計測し、実装や手数料との関係を検討。6月14日のイベントでは、型のシグネチャから学ぶRustと、Solanaでの活用をテーマに発表した。4445

  3. 2024.11

    古いPHPでも、結合テストを書きやすく

    testcontainers-phpのリポジトリを作成。Dockerコンテナの起動・待機・終了をPHPから扱い、テスト環境を組み立てる。確認時点のREADMEでは、PHP 5.6〜8.5への対応を掲げている。46

  4. 2024.11 · 記事公開

    自動化の先に、開発者の自律性を確かめる

    Zennで、それまでの権限委譲と開発支援を振り返る。直接の権限付与だけに頼らず、制約付きの自動化を用意し、アンケートやメトリクスで自律性を確認した経験を記述。指標をもとに継続して改善する支援へ進んでいる。47

09
2025

テストとAIワークフローTesting · AI Agents · Refactoring · Storybook · Solana

開発を速くするために、確かめる仕組みを作る。

既存PHPの更新、Solanaのテスト、AIとのタスク管理。異なる領域で、検証と作業の進め方を具体的な実装へ落とし込んだ。

  1. 2025.03–04

    テストを、変更を進めるための土台に

    3月のZenn記事で、古いPHPの更新に必要なテストを整えるため、testcontainers-phpを作った経緯を説明。4月公開のSolana Developer Hub #16の資料では、ユニットテストとTest Validatorを使う検証を整理した。4849

  2. 2025.06

    AIの作業を、タスクと記録で引き継ぐ

    Zennでタスク駆動のAI開発を紹介。目的、計画、作業記録をファイルへ残し、会話の文脈が失われたり、使うエージェントが変わったりしても、続きから進められる形を試みた。50

  3. 2025.09

    自然言語の規約を、検査と修正へ

    Claude Codeを呼び出すcconvを試作し、自然言語ルールでコードを検査・修正する過程と限界をZennで共有。Solanaの発信も続け、Seeker向けアプリの構築・接続・公開を解説する資料を公開した。5152

  4. 2025.12

    過去の資産を、検証しながら更新する

    2014年末から更新していなかった個人サイトを、AIとともにReact・Viteなどへ移行。画面比較テスト、部品化、品質確認の手順と失敗を記事にまとめた。testcontainers-phpにはコンテナ再利用モードも追加している。5354

10
2026

AIと作る成果の検証PHP · SQL · Storybook · AI Agents · Documentation

AIで作る力を、確かめて使える力へ。

AIに実装を任せるほど、設計・検査・記録の仕組みが重要になる。その問題を、PHPの道具と自身の開発手法の両方から掘り下げている。

  1. 2026.01–03

    PHPの実装・検証をつなぐ道具を公開

    開発環境の記事でAIの使い分けを紹介。ztd-query-phpではZero Table DependencyのPHP実装とSQL検証を進め、storybook-phpでは画面部品の確認、php-ai-toolkitでは静的解析・テスト出力・文書化を支援する。55565758

  2. 2026.05

    AIの探索と、成果物の品質を掘り下げる

    Zennで、反復実行やコンテキスト、外部からの介入が探索へ及ぼす影響を報告。別の記事では概念整理、リンター、テスト、監査、実利用を組み合わせる開発を記述し、品質を上げる手法と残る課題を整理した。5960

  3. 2026.08

    複数のAIの作業を、自分用の道具で扱う

    タスクの依存関係、実行待ち、定期タスク、エージェントのログを一元管理するアプリを制作し、使用体験を記事で共有。記事は公開されているが、アプリ自体は自分用で、公開予定はないと明記している。61

  4. 2026.09 · 確認時点

    読み解ける成果物へ整える

    document-designでは、文書・レポートの階層、組版、図表を共通CSSとして整備。本ペーパーもそのCSSを使っている。2014年のDgeniから続く「作ったものを理解できる形で渡す」関心が、ここにも見られる。62

Zero Table Dependencyの着想は別の著者によるもの。ここではPHPでの実装と検証基盤への取り組みを扱う。活動のつながりは本書の編集上の解釈。

11
主な成果

参画した基盤移行で示された変化。

2020年の公開事例に記載された、EC2からKubernetesへの移行後の指標。チームとしての成果であり、個人単独の成果を示す数値ではない。25

20分 → 5分デプロイに要する時間。移行後は5分程度。
1/20リリース障害時の切り戻し時間。
1/10リリース時のオペレーションコスト。

公開事例に記載されたチームの成果。個人単独の成果を示す数値ではない。

12
出典

62件の資料

公開資料をたどる。

本文の番号から出典へ、各タイトルから原資料へ移動できる。印刷時はURLをこの一覧にのみ記す。

  1. GruntJSで伺かを操作するgrunt-sstpを作ったQiita · 2014.05.06 · ビルド結果を通知するGruntプラグインの制作
  2. Scala-SBTで伺かを実行するQiita · 2014.06.01 · SBTから伺かを操作する手順
  3. Dgeniで簡単に始めるngdocドキュメント生成Qiita · 2014.09.22 · 導入・設定から文書生成までを解説
  4. dgeni-markdownGitHub · 2014.09 · 文書をMarkdownとして出力するテンプレート
  5. grunt-dgeniGitHub · 2014.09 · 文書生成をGruntタスクへ組み込むプラグイン
  6. PHP Conference Japan 2014 / 公式プログラムイベント記録 · 2014.10.11 · LT「PHP+伺かで始める新しい通知の形」
  7. PHP+伺かで始める新しい通知の形登壇資料 · 2014.10.11 · PHP・SSTP・APIを組み合わせた通知の実装
  8. AWS Lambdaの開発サイクルを作ろう!Qiita · 2015.01.03 · ローカルのテストとクラウドでの実行をつなぐ
  9. Dgeni with AngularJS Application登壇資料 · 2015.03.21 · ng-japan 2015。文書生成の導入方法を比較
  10. Scala.jsはじめました!登壇資料 · 2015.08.01 · Scala関西Summit 2015。npmとSBTの開発環境
  11. Scala.js / Presentations公式サイト · 2015 · 7月公開のScala.js発表を紹介。2015年の資料
  12. AWS Lambdaのデプロイフロー管理Qiita · 2015.12.09 · 設定・成果物・デプロイの分離を説明
  13. Node.jsから扱うScala.js開発環境[内容名]Qiita · 2016.01.31 · SBTに依存しない構成を検証した記事
  14. SAM+Node+FlowtypeでのLambda開発[内容名]Qiita · 2016.12.08 · 開発からデプロイまでの流れを整理
  15. Step Functionsで並列分散処理を実現するQiita · 2016.12.11 · 動的な状態定義、並列化、例外処理を検討
  16. Serverless Meetup Tokyo #4イベント記録 · 2017.08.09 · 「flowtypeStepFunction」の登壇枠
  17. FlowtypeとOpaque Type AliasesQiita · 2017.11.19 · 同じ基本型でも用途の異なる値を区別する設計
  18. サーバーレスの活用事例[内容名]登壇資料 · 2018.05.30 · AWS Summit 2018。既存システムへの部分導入
  19. aliasesGitHub · 2018.10 · コンテナでコマンドと依存環境を扱うGo製ツール
  20. 既存システムのKubernetes化[内容名]登壇資料 · 2018.12.03 · Japan Container Days v18.12 Meetup。資料公開日を掲載
  21. Helmのimportプラグインを作った[抄題]Qiita · 2019.01.06 · GitHubなどのChartをローカルへ取り込む
  22. prGitHub · 2019.10 · 条件に合うPull Requestを操作するGo製CLI
  23. EC2からKubernetesへ移行する取り組み[内容名]登壇資料 · 2020.10.20 · AWS DevDay 2020 C-8。日付は資料公開日
  24. PHPシステムのKubernetes移行・第1回[内容名]技術記事 · 2020.11.04 · 本人による移行解説連載の第1回
  25. Kubernetes基盤の移行事例[内容名]公開事例PDF · 2020 · 移行に参画したチームの定量的な成果
  26. PHP on Kubernetes登壇報告 · 2020.12.12 · PHP Conference 2020の概要・質疑応答
  27. 僕たちはアラートを管理できないZenn · 2021.01.24 · 検知・対応・根本解決の責務と指標を整理
  28. Helm Chartリポジトリの2年半の運用登壇資料 · 2021.03.12 · CloudNative Days Spring 2021
  29. Typesafe State in Rust (preview)Zenn Books · 2022.03.08 · 状態と遷移を型で表す、全8章の公開書籍
  30. 開発チームにオーナーシップを委譲する手法登壇資料 · 2022.04.22 · DevOpsDays Tokyo 2022。IaC・GitOps・制約
  31. async-graphql / PR #1018GitHub PR · 2022.08.18 · resolverのリクエストデータ消失を修正
  32. async-graphql / PR #1049GitHub PR · 2022.09.06 · CursorTypeのプリミティブ型対応
  33. ちょっとした工夫で見やすい構成図を書こう!Zenn · 2022.11.12 · 整列・余白・線・グルーピングの考え方
  34. GraphQLの安全なスキーマ変更[内容名]Zenn · 2022.12.26 · 互換性を変換層で扱う提案とRustでの試作
  35. ChatGPTとLlamaIndexを使った仕様問い合わせAI[抄題]Zenn · 2023.02.24 · 仕様文書の構造化と回答の精度を検証
  36. ChatGPTを使ったSecurity Hubのトリアージ[内容名]Zenn · 2023.03.19 · 判断・構造化出力・人への確認を検討
  37. ChatGPTをシステムに組み込むためのプロンプト技法登壇資料 · 2023.04.19 · ChatGPT Meetup Osaka #1。検証とガード処理
  38. サーバーレスを採用すべき100の理由登壇資料 · 2023.08.30 · 拡張速度と耐障害性。日付は資料公開日
  39. solana-materials-in-japaneseGitHub · 2023.09 · 複数の著者による日本語の開発資料を整理
  40. SolanaのプログラムでCRUDしてみようZenn · 2023.10.07 · アカウント・所有者・状態の更新をコードで学ぶ
  41. Rust入門 in Solana登壇資料 · 2023.11.25 · Solana Developer Hub #0。カウンターの実装を題材に
  42. Solana Developer Hub / 公開イベント資料集主催者の記録 · Rust・AI・Solana Payなどの発表を収録。随時更新
  43. Solana Developer Hub Workshop #4GitHub教材 · 2024.03.26 · 環境構築・ウォレット接続・NFT発行・公開
  44. Compute Units / Budget最適化登壇資料 · 2024.05.30 · Solana Developer Hub #6。計測・実装・手数料を検討
  45. シグネチャで始めるRustプログラミング主催者の案内 · 2024.06.14 · Rust学習とSolana活用に関する発表
  46. testcontainers-phpGitHub · 2024.11〜 · PHP 5.6〜8.5対応は確認時点のREADMEによる
  47. 開発の自律性と信頼性への取り組み[内容名]Zenn · 2024.11.14 · 自動化による権限委譲と、指標を使う支援の振り返り
  48. レガシーPHPをサポートしたTestcontainers作りましたZenn · 2025.03.22 · 既存PHPの更新を支える結合テスト環境の制作
  49. Solanaプログラムのテスト手法登壇資料 · 2025.04.26 · Solana Developer Hub #16。日付は資料公開日
  50. AI Agentでタスク駆動開発をしている話Zenn · 2025.06.01 · 目的・計画・記録をファイルに残す開発フロー
  51. Claude Codeを使ったlinterとリファクタリング[内容名]Zenn · 2025.09.03 · 自然言語ルールでコードを検査するcconvの試作
  52. Solana Mobile StackではじめるSeekerアプリ開発登壇資料 · 2025.09.28 · Solana Developer Hub #21。日付は資料公開日
  53. AIを使ってBower/GruntJS時代の個人サイトをモダナイズしたZenn · 2025.12.06 · 画面比較・部品化・検証を伴う移行の実践
  54. testcontainers-php / コンテナ再利用GitHub commit · 2025.12.20 · コンテナ再利用モードの追加
  55. 2026年開発、AI系の環境しずかなインターネット · 2026.01.02 · AI開発環境と使い分けの記録
  56. ztd-query-phpGitHub · 2026.01〜 · Zero Table DependencyのPHP実装とSQL検証基盤
  57. storybook-phpGitHub · 2026.03〜 · PHPコンポーネントをStorybookで確認するアドオン
  58. php-ai-toolkitGitHub · 2026.03〜 · 静的解析、テスト出力、文書化を支えるツール群
  59. AIエージェントに不確実性を探索させるためにやることZenn · 2026.05.09 · 反復・コンテキスト・外部介入を比較した実践記録
  60. みんなAI Agentで開発どうしてる?僕はこうしてる!!Zenn · 2026.05.23 · 概念整理、テスト、監査、実利用を組み合わせる
  61. AIのためのタスク管理アプリケーションを作ったら気持ちよかったZenn · 2026.08.22 · 自分用アプリの開発記録。アプリ自体は非公開
  62. document-design / doc-uiGitHub · 2026 · 本ペーパーはdocument-designの配布CSSを使用

13
資料の扱い

代表的な公開活動を選定。記事・書籍は公開日(原則JST)、登壇は開催日または資料公開日、PRはマージ日を使用。リポジトリの年月は作成日時で、活動開始日や公開開始日を保証しない。機能は確認時点のREADMEによる。振り返り記事の経験は、掲載年にすべて実施されたとは限らない。

人物の表記はk_kinzalに統一し、所属・役職は掲載しない。一部の資料名を内容名・抄題へ変更した。原資料には別表記や所属情報が含まれる。