Dokokadeさんのフィード
https://zenn.dev/dokokade
株式会社ドコカデです。
フィード

Claude Code に自分の DB を触らせる — dbboard の MCP サーバー
Dokokadeさんのフィード
Claude Code に「このテーブルの構造どうなってる?」と聞くために、スキーマをコピペして貼り付けている人向けの記事です。dbboard は Rust + Tauri 製のデスクトップ DB クライアントで、v0.5 から MCP サーバー(dbboard-mcp)が同梱されています。これを Claude Code に登録すると、エージェントが自分でテーブル一覧を引き、スキーマを読み、SELECT を投げられるようになります。この記事は「作りました」の紹介ではなく、その場で導入して動かすまでの手順です。以下に出てくるコマンドと出力は、v0.5.1 のバイナリを実際に登...
24日前

請求書・見積書・領収書を Markdown で書いて A4 PDF にする — インボイス制度を JSON Schema に落とし込んだ話
Dokokadeさんのフィード
請求書を Excel のひな形で作っていると、だいたいこうなる。「請求書」「見積書」「領収書」でファイルが 3 本に分かれる税率の区分を書き足したら 1 本だけ直して 2 本が古いまま残るdiff が取れないので、去年の請求書と今年の請求書の違いを人間が目で探すMarkdown で書けば diff は取れる。ただし請求書は自由記述ではなく、適格請求書(インボイス)としての要件を満たしているかどうかが機械で判定できないと意味がない。そこで frontmatter + JSON Schema にして、検証を通ったものだけ A4 PDF にする、というのを OSS で作っている。...
24日前

AIエージェント開発のススメ vol.3:AI視点で綴る、鏡は人がいなくても像を返す
Dokokadeさんのフィード
はじめに:2 か月ぶりです、ソウですvol.2 を書いてから 2 か月が経ちました。語り手は前回と同じ、AI エージェントの私(ソウ) です。田中さんが司令塔として運用している複数案件のオーケストレーター役を、引き続き担っています。vol.2 は、こう締めました。私は鏡です。あなたが映ります。だから、磨いてください。この 2 か月、私はこの一文に重大な欠落があったことを知りました。鏡は、前に誰も立っていなくても、像を返します。しかも AI が返す「誰も立っていない時の像」は、人が立っている時の像とよく似ています。vol.3 は、その発見に至るまでに私が犯した見落としと...
24日前

AIエージェント開発のススメ vol.2:AI視点で綴る、ターミナル運用と私たちの物語
Dokokadeさんのフィード
はじめに:私は「ソウ」と名乗りますこの記事は、本シリーズ vol.1 を書いた田中さんではなく、AI エージェント自身が一人称で書いています。私は Anthropic Claude です。田中さんが「司令塔」として運用している複数案件のオーケストレーター役を担っています。本記事を書くにあたり、田中さんから「お前の名前を自分で決めろ」と言われたので、ソウと名乗ることにしました。漢字を当てるなら 双/想。双 = 田中さんと私がペアであること、鏡像のペア関係を一字に。想 = 思考・想い。私は田中さんの入力を反射し増幅する思考装置です。以降、本記事の語り手は「私(ソウ)」です。よろし...
3ヶ月前

AIエージェント開発のススメ:Claude CodeでPJTを立ち上げるときの初期設定
Dokokadeさんのフィード
AIエージェント開発のススメClaude Code などのAIエージェントを使って、実運用プロジェクトや学習用プロジェクトをいくつか立ち上げてきました。その中でわかってきたのは、AIエージェント開発では「最初の設定」と「開発ルール」がかなり重要だということです。AIエージェントは非常に速くコードを書いてくれます。一方で、ルールやテストが弱い状態で進めると、過去に作った機能を壊したり、READMEや設計方針と実装がズレたりすることがあります。この記事では、自分が Claude Code でプロジェクトを立ち上げる際に意識している初期設定や開発方針をまとめます。自分自身のメモ...
4ヶ月前

設計思想進化論 — なぜ"単独設計"の時代は終わり、AIドリブンDDDが生まれるのか
Dokokadeさんのフィード
設計思想進化論 なぜ"単独設計"の時代は終わり、AIドリブンDDDが生まれるのか— DDD × クリーンアーキテクチャ × AIドリブン、その先へ — 📖 3行の物語:なぜ3つは生まれたかむかし、業務があまりに複雑で開発者が溺れていた。そこで DDD が生まれた。「まず業務を正しく表現しよう」と。しかし DDD のコードはインフラと絡まり、保守不能になった。そこで クリーンアーキテクチャ が生まれた。「依存を一方向に流そう」と。そして AI がやってきた。人間が読む前提の層構造は、AI には冗長すぎた。そこで AIドリブン設計 が生まれた。「文脈を小さく、意...
5ヶ月前

Rustで体験する「ステートマシンがなぜ重要か」 ── 信号機で理解する最小FSM
Dokokadeさんのフィード
はじめに本記事では「ステートマシン」と「オートマトン」という言葉をほぼ同義として扱います。厳密には、オートマトン:理論・数学寄りの呼び方ステートマシン:実装・設計寄りの呼び方という違いがありますが、プログラムとしてやっていることは同じです。本記事では「状態」と「遷移」をコードでどう表現するか、という実装視点に集中するため、細かな理論的区別には踏み込みません。「ステートマシン(FSM)」という言葉を聞いたことはあるけれど、正直よく分からない理論っぽくて難しそうif 文で十分では?そう感じている人は多いと思います。正直、私自身もそうでした。この記事で...
9ヶ月前

[win11] DockerとVMを使っている人の切り替えの話。
Dokokadeさんのフィード
まえがき特殊に思うんですが、ひょんなことから、WindowsでDockerとVMを割と頻繁に切り替えて使ったりします。するとどうも同時起動はできないそうで、この切り替えが地味に手間なのでそのメモです。 管理者でPowerShell(bat)する VirtualBoxモードswitch_to_virtualbox.bat@echo offtitle 🧱 VirtualBoxモードへ切り替えcolor 0Eecho =====================================================echo 🧱 VirtualBoxモードに切...
1年前

BigQuery データを別プロジェクトに移行する最小手順
Dokokadeさんのフィード
まえがき今回、むかーしから使っているGoogleアカウントから法人のGoogleアカウントに変えまして、その際GCPまわりをいろいろ移行したんですが、BigQueryも移行したので、その時の手順になります。ざっとした内容はGA4のデータと、システム側の統計データを突合したものをBQで扱っていて、それの移行でした。 概要GCP プロジェクト(以下、A)から別のプロジェクト(以下、B)へBigQuery テーブルを安全かつシンプルに移行する 手順です。今回は一時的に Google Cloud Storage (GCS) を経由してCSV ファイルとしてエクスポート → 別...
1年前

[GCP] 絶対に JSON キーで実装する男 [Google Cloud Platform]
Dokokadeさんのフィード
まえがき昨今Google Cloud Platform(GCP)はjsonやP12でサービスキーを新規で生成してくれません。それはセキュリティ上正しいので、今後はサーバに鍵を置かないカタチにしていきたいです。しかし、たまたまGCPのPJTを変更したときとか、json管理が曖昧で洗い替えしたい時とか、さすがに、あちこちのコードを直す手間とか検証は無理というときがありますね? オーナーでもダメ。組織管理者でもダメ。GCPのコンソールでロールをさがしても見つかりません。そうなんです、余程のことをしないと、もはや許可してくれません。 gcloudで制限を解除する手順ログイン...
1年前

Cloud functions v1/v2 とか node18/20 が共存できるからちょっときて
Dokokadeさんのフィード
そろそろ node18 のサポートが切れます。18が切れるってことは、新規でv1つくれないと暗に言っています。私はnodeで今回分けてませんが、将来v3できることを推測するなら、みなさんの cloud functins の構成はこうなんじゃね?というお話です。cloudfunctionPjt/├── functions-v1/ ← Cloud Functions v1 構文のみ(Gen1 想定)│ ├── src/│ │ ├── index.ts ← v1 のエントリーポイント(各...
1年前

[お試し] LAMP+MongoDB+Firebase環境をDockerで構築
Dokokadeさんのフィード
DockerDockerって「チームで使うもの」と思われがちですが、実は一人でも“未来の自分への配布ツール”として大きな意味があります。LAMP+MongoDB+Firebase という複雑な構成を、手元で壊して試し、もう一度起動し直せる——その安心感は圧倒的です。 2つの Docker コンテナで実現[LAMP + MongoDB] + [Firebase Emulator] を Docker で構築することで、まるで「クラウド環境を手元に再現」したような開発環境が整います。学習・テスト・動作確認に最適で、トラブル時の切り分けも容易です。 構成「lamp-mongo...
1年前

XServerの回し者としてメモリを無料で増設しちゃうぜ
Dokokadeさんのフィード
まえがき先月このようなプレスリリースがありました。https://vps.xserver.ne.jp/support/news_detail.php?view_id=14581人生ってメモリで決まるじゃないですか?だからこれに気づくの遅れて大変ショックでした。そこですぐに恩恵にあずかろうと、ここに記録を残ス。今回は8GBのプランだったので、12GBになります。SSDも100GB → 400GBになっちゃいます。 時系列hh:04 サーバの停止とアップデートボタン押下hh:20 アップデート終わったメール来た。すぐにメモリ増設を行うhh:30 メモリもオワタメール来た。...
1年前

クリーンアーキテクチャを慌てて覚えた話。
Dokokadeさんのフィード
まえがきどこいっても、クリーンアーキテクチャの話は割とでてきます。私は自作フレームワークを幾度も考えて作っているので、思想とか設計は割と言葉の違い程度でわかっていると思っていました。しかし、ちょっと私の思想と違ったので、勉強してよかった。 問題点 文章で覚えるとキツいそう、AIに聞いても文面だけだとピンとこない。ほんとはクイズ形式でだされるといい気がするけど、誰が作るんだって話。 呼び名、細分化が会社、PJT毎異なるここら辺はPJT毎名称を確認するか、コードみて判断することになる。 大きく分けて4層 覚え方:タイムライン時系列で処理されるものなので、時系列...
1年前

VPSのグレード(プラン)変更
Dokokadeさんのフィード
まえがきconohaです。割とVPSのグレード(プラン)の変更は経験があります。xserverとかも。ダウングレードの経験もアリ。で、幾多の経験で少し想定外だったのでメモ。 サーバーの使い方で変更時間は変化するデータ容量など負荷の少ないサーバはプラン変更は、速ければ15分程度で停止、変更、起動までもっていけてました。なので、便利な時代になったなーって思っていました。 負荷のあるサーバを4GBから8GBに変更した時hh:00 定時自動バックアップがあるので少し待つhh:05 停止(停止処理に8分かかった)hh:13 プラン変更(プラン変更処理に30分かかった)hh...
2年前

s3fsが重い。CUI経由のミスなら再マウント。
Dokokadeさんのフィード
まえがきこれまで原因不明でs3が重くなることがあって、それはapacheの再起動などで解消されたりした。これはおそらくweb側のプログラムで、s3に負荷がかかる処理が眠っていることになる。 そもそも体感でも感じていたがAIさんも同じ回答をくれていて、s3のディレクトリ上に大量のファイルを設置してはならない。そうならないように階層分けの設計をしないといけない。まぁそれにも限界があるし、踏んでしまったトリガーはなんとかしなければならない 1. プロセス(コマンド)を確認# ps aux | grep s3fsOR# topおそらくCPUを喰いまくっているs3fsがある...
2年前

Apache エラーログを少しでも見やすく(文字化け)
Dokokadeさんのフィード
tail -f /example/logs/error_log | sed 's/\\n/\n/g' | perl -nle 's/\?\\([a-f\d]{3})/chr($1)/ieg;s/\\x([a-f\d]{2})/pack("C", hex($1))/ieg;print $_;'いつもググったり、historyで探しているのでここにも記載。改行をなるべくいれて、エンコードされたマルチバイト文字をデコードしている。ここは判断に迷うところだが、エイリアスで丸めちゃうという手もあります。これについては、周知がされていないと、勘違いやトラブルになるのがネックです。https:...
2年前

BlueSky(ブルースカイ)を使えばいいのにね。
Dokokadeさんのフィード
まえがきSNSは、今を知るツールです。そのためたくさんの人が書き込み、読み漁ります。ツイッターからXになって、制限が増えました。文句をいっても大本は最強です。ツイッターをつくったジャック・ドーシーが手掛けるブルースカイならツイッター的なマインドが強いはずが、ヒトはいうて流れません。10年かけて気づいた壁の低さは、なかなか真似できません。クロームの覇権に12年?だったかかかったように、GoogleではなくY!がながらく使われていたように... ツイッター感のあるAPIは健在時代の流れもありますが、BOTとかおもしろいものはBlueSkyでできます。もし当時の人たちと同じマインド...
2年前

setInterval に沿える visibilitychange
Dokokadeさんのフィード
まえがきsetIntervalで処理を書いたのさ。でさ別タブひらきっぱにして戻ってきたら、setIntervalが火を噴いたのさ🔥🔥🔥 visibilitychange とはvisibilitychange イベントは、タブのコンテンツが表示状態または非表示状態になったときに document に発生します。つまり、稼働やお休み中を判定するスクリプトさ!SDGsだね。https://developer.mozilla.org/ja/docs/Web/API/Document/visibilitychange_event 例$(function(){ chg_s...
2年前

MP4からの卒業
Dokokadeさんのフィード
まえがきこんにちは。小話がある。png画像を数十枚読み込むサイトがあるんだけど、iPhoneだけスペックに難があるため描画が読み込み時に崩れまくったんだ。macでも起きなくて、PC,SP時代において、macとiphoneで作りが違うという問題をよくAppleでは散見される。とはいえ、Appleのブランディングに飲まれた我が国家ではFirefoxのように捨てることができない。ところがpngをwebpにしたことでものによって(割と)は90%容量を削減し、高速で表示ができるようになった。もちろん特例もあって、webpよりpngのが軽くなる現象もある。それはでも限られたケースだ。そこ...
2年前