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で公開。通知の実装とドキュメント生成に、初期の関心が表れている。
-
2014.05–06
ビルド結果を「伺か」に伝える
Gruntの成功・警告・失敗などをデスクトップマスコットへ通知するgrunt-sstpを制作。5月6日にQiitaで公開し、6月1日にはScalaのSBTから操作する方法も解説した。12
-
2014.09
文書を、コードから生成できるように
Dgeniによるngdoc生成をQiitaで解説。grunt-dgeniで日常のビルドに文書生成を組み込み、dgeni-markdownでMarkdown出力の道具も用意した。手順の紹介と、その手順を簡単にする実装が並んでいる。345
-
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を試すだけでなく、テスト・ビルド・デプロイの流れへ組み込む方法を、記事と登壇で共有した。
-
2015.01
Lambdaの開発サイクルを組み立てる
1月の記事ではlambda-templateを使い、ローカルのテストからクラウドでの実行・ログ確認までを説明。関数のコードだけでなく、繰り返し開発して確かめる流れを整え、CI/CDへつなぐ方法を共有した。8
-
2015.03 · 08
文書生成とScala.jsを登壇で伝える
3月21日のng-japan 2015ではDgeniの始め方を比較。8月1日のScala関西Summit 2015では、npmとSBTをどう組み合わせるかを紹介した。7月公開の別のScala.js発表は、Scala.js公式サイトの資料一覧にも掲載されている。91011
-
2015.12 – 2016.01
配布とビルドの流れを見直す
12月にはLambdaの設定・成果物・デプロイを分離する方法を説明。翌1月には、SBTを使わずNode.jsからScala.jsを扱う環境を検証した。技術を、普段の開発の道具立てへ合わせていく。1213
-
2016.12
サーバーレスを型と状態で考える
SAM・Node・Flowtypeを組み合わせたLambda開発を解説。Step Functionsの記事では、状態定義を動的に作る並列分散処理や、例外・再試行の扱いを検討した。1415
04
2017–2019
繰り返せる運用Serverless · Go · Containers · Helm · Automation
繰り返す作業を、設定とルールに変える。
サーバーレスの導入判断から、コンテナでのコマンド実行、ChartやPull Requestの操作まで。開発と運用の摩擦を小さくしていく。
-
2017.08 · 11
処理の流れと、型の境界を説明する
8月9日のServerless Meetup Tokyo #4で「flowtypeStepFunction」を発表。11月のQiitaではOpaque Type Aliasesを取り上げ、同じ基本型でも用途の違うIDなどを区別し、誤った受け渡しを防ぐ設計を説明した。1617
-
2018.05 · 10
導入の判断と、実行環境を整える
5月の発表では、既存システムにサーバーレスを部分的に取り入れる考え方を紹介。10月に作成されたGo製ツールaliasesでは、YAMLで定義したコマンドと依存関係をコンテナ上で扱えるようにした。1819
-
2018.12 – 2019.01
Kubernetesの導入と、配布の手間を扱う
12月のJapan Container Daysで既存システムのKubernetes化を発表。翌1月には、GitHubなどのHelm Chartをローカルへ取り込むhelm-importをQiitaで紹介し、helmfileと組み合わせる方法を示した。2021
-
2019.10
Pull Request運用を自動化する
Go製CLIのprを作成。JMESPathによる条件で対象を選び、ラベル・担当者・レビュー・マージなどの操作を行う。日々のリポジトリ運用を、再利用できるルールとして扱う道具である。22
05
2020–2021
信頼できる変更PHP · Kubernetes · Helm · Observability · Reliability
動いているシステムを、変え続けられるように。
既存PHPシステムのKubernetes移行を、発表・連載・質疑応答として公開。移行後の運用や、アラートの扱いまで関心が広がる。
-
2020.10–12
移行で直面した論点を、実務の言葉で共有
10月のAWS DevDay、11月からの連載、12月のPHP Conferenceで、EC2からKubernetesへ移す取り組みを説明。設定の注入、ログ、コンテナの終了処理、開発環境など、移行を進める際の課題を具体的に扱った。移行で示された変化は、後掲の「主な成果」にまとめた。232426
-
2021.01
アラートを、通知だけの問題にしない
Zennの「僕たちはアラートを管理できない」では、検知、利用者への影響の解消、原因の根本解決を分けて整理。対応する人の負担、責務、知識の蓄積、指標の難しさを、自身の課題意識から論じた。27
-
2021.03
Helm Chartを運用し続ける知見を共有
CloudNative Days Spring 2021で、2年半のChartリポジトリ運用を振り返る。配布の自動化、複数Chartの管理、Kubernetes更新への追従、テストなど、導入後に続く作業を整理した。28
06
2022
自律性と型Rust · Type Safety · GraphQL · GitOps · Developer Autonomy
自分たちで変えられる、壊しにくい仕組みへ。
開発の自律性を支える基盤づくりと、Rust・GraphQLの実装。設計の考え方を、書籍・登壇・コード・記事のそれぞれで表した。
-
2022.03
状態と遷移を、Rustの型で表現する
Zenn Booksで「Typesafe State in Rust (preview)」を公開。状態に応じたデータや振る舞い、遷移を型で表現し、誤った操作を制約する設計を全8章で説明している。29
-
2022.04
開発チームへオーナーシップを渡す
DevOpsDays Tokyo 2022に登壇。IaCの継続的デリバリー、Argo CDによるGitOps、OPAによる制約などを紹介した。開発者が自ら変更できる環境と、安全を保つための仕組みを併せて設計する取り組みである。30
-
2022.08–09
使うOSSの課題を、上流の修正へつなぐ
async-graphqlへ、resolverでリクエストデータが失われる不具合の修正と、CursorTypeのプリミティブ型対応を提案。2件のPull Requestはそれぞれ8月・9月にマージされた。3132
-
2022.11–12
設計を伝え、互換性を検討する
11月は構成図の整列・余白・線・まとまりを説明するZenn記事を公開。12月にはGraphQLの古い操作を変換層で受け止めるスキーマ変更の案を示し、Rustでの試作と未実装の課題を共有した。3334
07
2023
AIと新しい学びChatGPT · LlamaIndex · Serverless · Solana · Rust
AIを試し、学びの入口を増やす。
生成AIをシステムへ組み込む検証が、年初から始まる。後半にはSolanaの日本語資料とRustの学習支援へ活動が広がった。
-
2023.02–03
AIへ渡す情報と、返る答えを検証
ChatGPTとLlamaIndexで「伺か」の仕様を問い合わせる実験を公開。文書の分割や構造が回答に及ぼす影響を調べた。Security Hubのトリアージでは、構造化した判断結果と、人への確認を含む処理を検討した。3536
-
2023.04
AIの出力を、プログラムから扱う
ChatGPT Meetup Osaka #1で、プロンプト技法を発表。回答の揺れを実験し、プロンプトに加えて、検査・再試行・補正を組み合わせる考え方を紹介した。37
-
2023.08–10
経験を再整理し、新しい領域を学ぶ
8月公開の登壇資料では、サーバーレスを拡張速度と耐障害性の観点で論じる。9月にはSolanaの日本語資料集を作成し、10月のZennではアカウントや状態更新を、CRUDの実装を通じて解説した。383940
-
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のテスト支援、開発者の自律性の振り返りまで。技術を使う人の次の一歩を支える。
-
2024.03
環境構築から公開までの教材を用意
Solana Developer Hub Workshop #4向けに、開発環境の準備、ウォレット接続、NFT発行、Web公開までをたどる教材を公開した。実際にアプリを作り、公開するところまで学べる構成にしている。43
-
2024.05–06
内部の動きを測り、Rustの学び方を伝える
5月の資料「Compute Units / Budget最適化」では、Solanaの実行コストを計測し、実装や手数料との関係を検討。6月14日のイベントでは、型のシグネチャから学ぶRustと、Solanaでの活用をテーマに発表した。4445
-
2024.11
古いPHPでも、結合テストを書きやすく
testcontainers-phpのリポジトリを作成。Dockerコンテナの起動・待機・終了をPHPから扱い、テスト環境を組み立てる。確認時点のREADMEでは、PHP 5.6〜8.5への対応を掲げている。46
-
2024.11 · 記事公開
自動化の先に、開発者の自律性を確かめる
Zennで、それまでの権限委譲と開発支援を振り返る。直接の権限付与だけに頼らず、制約付きの自動化を用意し、アンケートやメトリクスで自律性を確認した経験を記述。指標をもとに継続して改善する支援へ進んでいる。47
09
2025
テストとAIワークフローTesting · AI Agents · Refactoring · Storybook · Solana
開発を速くするために、確かめる仕組みを作る。
既存PHPの更新、Solanaのテスト、AIとのタスク管理。異なる領域で、検証と作業の進め方を具体的な実装へ落とし込んだ。
-
2025.03–04
テストを、変更を進めるための土台に
3月のZenn記事で、古いPHPの更新に必要なテストを整えるため、testcontainers-phpを作った経緯を説明。4月公開のSolana Developer Hub #16の資料では、ユニットテストとTest Validatorを使う検証を整理した。4849
-
2025.06
AIの作業を、タスクと記録で引き継ぐ
Zennでタスク駆動のAI開発を紹介。目的、計画、作業記録をファイルへ残し、会話の文脈が失われたり、使うエージェントが変わったりしても、続きから進められる形を試みた。50
-
2025.09
自然言語の規約を、検査と修正へ
Claude Codeを呼び出すcconvを試作し、自然言語ルールでコードを検査・修正する過程と限界をZennで共有。Solanaの発信も続け、Seeker向けアプリの構築・接続・公開を解説する資料を公開した。5152
-
2025.12
過去の資産を、検証しながら更新する
2014年末から更新していなかった個人サイトを、AIとともにReact・Viteなどへ移行。画面比較テスト、部品化、品質確認の手順と失敗を記事にまとめた。testcontainers-phpにはコンテナ再利用モードも追加している。5354
10
2026
AIと作る成果の検証PHP · SQL · Storybook · AI Agents · Documentation
AIで作る力を、確かめて使える力へ。
AIに実装を任せるほど、設計・検査・記録の仕組みが重要になる。その問題を、PHPの道具と自身の開発手法の両方から掘り下げている。
-
2026.01–03
PHPの実装・検証をつなぐ道具を公開
開発環境の記事でAIの使い分けを紹介。ztd-query-phpではZero Table DependencyのPHP実装とSQL検証を進め、storybook-phpでは画面部品の確認、php-ai-toolkitでは静的解析・テスト出力・文書化を支援する。55565758
-
2026.05
AIの探索と、成果物の品質を掘り下げる
Zennで、反復実行やコンテキスト、外部からの介入が探索へ及ぼす影響を報告。別の記事では概念整理、リンター、テスト、監査、実利用を組み合わせる開発を記述し、品質を上げる手法と残る課題を整理した。5960
-
2026.08
複数のAIの作業を、自分用の道具で扱う
タスクの依存関係、実行待ち、定期タスク、エージェントのログを一元管理するアプリを制作し、使用体験を記事で共有。記事は公開されているが、アプリ自体は自分用で、公開予定はないと明記している。61
-
2026.09 · 確認時点
読み解ける成果物へ整える
document-designでは、文書・レポートの階層、組版、図表を共通CSSとして整備。本ペーパーもそのCSSを使っている。2014年のDgeniから続く「作ったものを理解できる形で渡す」関心が、ここにも見られる。62
Zero Table Dependencyの着想は別の著者によるもの。ここではPHPでの実装と検証基盤への取り組みを扱う。活動のつながりは本書の編集上の解釈。
11
主な成果
参画した基盤移行で示された変化。
2020年の公開事例に記載された、EC2からKubernetesへの移行後の指標。チームとしての成果であり、個人単独の成果を示す数値ではない。25
公開事例に記載されたチームの成果。個人単独の成果を示す数値ではない。
12
出典
62件の資料
公開資料をたどる。
本文の番号から出典へ、各タイトルから原資料へ移動できる。印刷時はURLをこの一覧にのみ記す。
- GruntJSで伺かを操作するgrunt-sstpを作った
- Scala-SBTで伺かを実行する
- Dgeniで簡単に始めるngdocドキュメント生成
- dgeni-markdown
- grunt-dgeni
- PHP Conference Japan 2014 / 公式プログラム
- PHP+伺かで始める新しい通知の形
- AWS Lambdaの開発サイクルを作ろう!
- Dgeni with AngularJS Application
- Scala.jsはじめました!
- Scala.js / Presentations
- AWS Lambdaのデプロイフロー管理
- Node.jsから扱うScala.js開発環境[内容名]
- SAM+Node+FlowtypeでのLambda開発[内容名]
- Step Functionsで並列分散処理を実現する
- Serverless Meetup Tokyo #4
- FlowtypeとOpaque Type Aliases
- サーバーレスの活用事例[内容名]
- aliases
- 既存システムのKubernetes化[内容名]
- Helmのimportプラグインを作った[抄題]
- pr
- EC2からKubernetesへ移行する取り組み[内容名]
- PHPシステムのKubernetes移行・第1回[内容名]
- Kubernetes基盤の移行事例[内容名]
- PHP on Kubernetes
- 僕たちはアラートを管理できない
- Helm Chartリポジトリの2年半の運用
- Typesafe State in Rust (preview)
- 開発チームにオーナーシップを委譲する手法
- async-graphql / PR #1018
- async-graphql / PR #1049
- ちょっとした工夫で見やすい構成図を書こう!
- GraphQLの安全なスキーマ変更[内容名]
- ChatGPTとLlamaIndexを使った仕様問い合わせAI[抄題]
- ChatGPTを使ったSecurity Hubのトリアージ[内容名]
- ChatGPTをシステムに組み込むためのプロンプト技法
- サーバーレスを採用すべき100の理由
- solana-materials-in-japanese
- SolanaのプログラムでCRUDしてみよう
- Rust入門 in Solana
- Solana Developer Hub / 公開イベント資料集
- Solana Developer Hub Workshop #4
- Compute Units / Budget最適化
- シグネチャで始めるRustプログラミング
- testcontainers-php
- 開発の自律性と信頼性への取り組み[内容名]
- レガシーPHPをサポートしたTestcontainers作りました
- Solanaプログラムのテスト手法
- AI Agentでタスク駆動開発をしている話
- Claude Codeを使ったlinterとリファクタリング[内容名]
- Solana Mobile StackではじめるSeekerアプリ開発
- AIを使ってBower/GruntJS時代の個人サイトをモダナイズした
- testcontainers-php / コンテナ再利用
- 2026年開発、AI系の環境
- ztd-query-php
- storybook-php
- php-ai-toolkit
- AIエージェントに不確実性を探索させるためにやること
- みんなAI Agentで開発どうしてる?僕はこうしてる!!
- AIのためのタスク管理アプリケーションを作ったら気持ちよかった
- document-design / doc-ui
13
資料の扱い
代表的な公開活動を選定。記事・書籍は公開日(原則JST)、登壇は開催日または資料公開日、PRはマージ日を使用。リポジトリの年月は作成日時で、活動開始日や公開開始日を保証しない。機能は確認時点のREADMEによる。振り返り記事の経験は、掲載年にすべて実施されたとは限らない。
人物の表記はk_kinzalに統一し、所属・役職は掲載しない。一部の資料名を内容名・抄題へ変更した。原資料には別表記や所属情報が含まれる。