技術BLOG
技術的な内容の記事を投稿しています。

HTML1枚のサイトを、GitHub Actionsの“AI社員”が毎日回している — つねかめ堂HPの構成と小技
手ぬぐい作家「つねかめ堂」のHPは、フレームワークもCMSも使わないHTML1枚の静的サイトです。そこにGitHub Actionsを4本住まわせて、出店予定のプリレンダ、Instagramの取り込み、広報文の下書き、月次アクセス解析までを無人で回しています。ブラウザで動いているコードをビルドが借りる単一ソース、CSS変数だけで県が光る日本地図、hash-as-keyのキャッシュ、通知されないCronの死活監視まで、効いている小技をまとめて紹介します。

ポートを開けずに自宅のWSL2へSSHする — Cloudflare Tunnelと短命証明書、そして1週間後にログを見た話
ルーターのポート開放も固定IPも無しに、外から自宅WSL2のsshdへ入れるようにした記録です。Cloudflare Tunnelで経路を作り、Accessの短命証明書で鍵管理をなくす構成の組み方と、公式が「新規導入には推奨しない」と書いている方式をあえて選んだ理由、そして1週間後にsshdのログを見たら自分がその短命証明書を使っていなかった話までまとめます。

PCを再起動してもClaude Codeの続きに戻る — WSL2・tmux・1コマンド起動の常駐化
出先からSSHで自宅PCのWSL2に入り、tmuxセッションとClaude Codeの作業へそのまま戻れるようにした記録です。WSLはWindows起動時に自動では上がらず、起こしても約30秒で回収されます。タスクスケジューラ・systemd userユニット・bash関数の3層構成と、LastTaskResult=0という紛らわしい罠までまとめます。

HA用MCPは2系統ある。実機で比較してha-mcpに寄せた理由
Home AssistantをAIエージェントから操作するMCPには、アドオンでHTTP APIを公開する方式と、HAの中で動くha-mcpの2系統があります。両方を実機で比較し、機能・安全機構・保守状況を検証してha-mcpへ一本化するまでの経緯を、判断を誤って訂正した過程まで含めてまとめます。

Claude CodeからHome Assistantを自然言語で操作する — MCP × Cloudflare Tunnel 構築記
Home Assistantのautomationやdashboardを、YAMLを手書きせずにClaude Codeへ自然言語で指示して作れる環境を組みました。vibecode-agentアドオン+MCPサーバー+Cloudflare Tunnelの構成と、DNSのネガティブキャッシュなど実際に詰まった切り分けまでハンズオンでまとめます。

Cloudflare Pagesのpages.devを独自ドメインへ301集約した話
Cloudflare Pagesのデフォルトドメイン*.pages.devが独自ドメインと同一コンテンツを二重配信してアクセスとSEO評価が分散する問題を、Pages Functionの301リダイレクトで集約しました。現象・原因・対処・ハマりどころ・今後をまとめます。

Astro 7にしたらビルドは速くなり、devは遅くなった
Astro 6 → 7で本番ビルドは大幅高速化、devサーバーは逆に悪化。実測値と原因をVite 8 / Rustコンパイラ / Sätteri / 新ロガー観点で掘り下げます。

【HomeAssistant】Thread通信その1 Aqara Hub M100
Thread通信をしたいので、ボーダールーターとしてAqaraHubM100をセットアップしてみる

【HomeAssistant】ESP-Homeで複数のWiFiネットワークを使う
ESP-Homeで複数のWiFiネットワークを使うための設定。

【Proxmox】Windows11Proをインストール
Proxmox上にWindows11Proをインストールしてみました

【HomeAssistant】Bluetoothの届かない場所にはBluetoothプロキシ
Bluetoothの電波が弱いところにBluetoothプロキシを設置。M5StackNanoC6、XIAO ESP32C6で構築してみる。

【HomeAssistant】バックアップ設定
HomeAssistant標準機能のバックアップと、世代バックアップもできるGoogleドライブバックアップアドインの導入

【HomeAssistant】温湿度計 Xiaomi LYWSD03MMC
HomeAssistantにXiaomiの温湿度計を追加。カスタームファーウェアに書き換えます。

【HomeAssistant】HACSをインストール
Home Assistantの非公式な統合やUI要素を管理するツールHACSをインストールします。

HomeAssistantをミニPCにインストール
HomeAssistantをミニPCにインストール手順。USBでUbuntuを起動して内蔵SSDにインストールするやり方

Let's Note(CF-SZ5)のメインボード交換
動作しなくなったLet's Note(CF-SZ5)のメインボードを交換してみた

ChromeOSのLinux環境からカメラ画像を使うライブラリ「Pychame」
ChromeOSのLinux環境でカメラ画像にアクセスするライブライを見つけたので紹介します

AWS Application Composerを試してみた
AWS Application Composerを使ってみて、躓いたところをまとめておきます。

VORON v0.1にKIRIGAMIベッドをつけてみました
KIRIGAMIベッドに交換すれば剛性が上がると思い交換しました。交換した際の手順などを残しておきます。

外部リンクをカード形式で表示する(はてなブログカード編)
Gatsbyで外部リンクを記事に入れる際に、カード形式で表示する方法を試してみました

GatsbyでHP作成 その16:Tailwind CSS対応
Gatsby Starter BlogをTailwind CSSに対応

GatsbyでHP作成 その15:MDX対応
Gatsby Starter BlogをMDX対応

VSCodeのRemoteContainerが激遅だったので対処してみた
RemoteContainerは超絶便利だが、ホストとの共有フォルダーが遅すぎて使い物にならない・・・

PythonでGUIプログラム作成(シリアルモニターを作ってみた)
PySimpleGUIを使ってArduinoIDEのシリアルモニターもどきを作ってみました。

Pythonでシリアルポートの一覧取得(Windows)
Pythonでシリアルポートの一覧取得してみました。(Windows)

GatsbyでHP作成 その14:記事リストをカード表示
Gatsby Starter Blogで、記事リストをカード表示してみました。

GatsbyでHP作成 その13:BLOGの分割
Gatsby Starter Blogで、BLOGの分割を行ってみました。

GatsbyでHP作成 その12:Twitter投稿の埋め込み
Gatsby Starter Blogで、Twitterの投稿を埋め込んでみました。

GatsbyでHP作成 その11:コードブロックにタイトルと行ハイライト追加
Gatsby Starter Blogで、コードブロックにタイトルと行ハイライト追加してみました。

GatsbyでHP作成 その10:OGP画像の設定
Gatsby Starter Blogで、OGP画像設定

GatsbyでHP作成 その9:投稿にヒーロー画像を追加
Gatsby Starter Blogで、投稿にヒーロー画像を追加します
GatsbyでHP作成 その8:Googleフォントを使ってみる
Gatsby Starter Blogで、Googleフォントを使ってみます
GatsbyでHP作成 その7:TOPページに画像を表示
Gatsby Starter Blogで、TOPページに画像を表示します
GatsbyでHP作成 その6:記事ページのURLディレクトリを変更
Gatsby Starter Blogで、記事ページのURLディレクトリを変更する
GatsbyでHP作成 その5:画像やURLがはみ出す問題
Gatsby Starter Blogで、画像やURLがはみ出す問題の対処
GatsbyでHP作成 その4:Cloudflare Pagesで公開
Gatsbyで作ったサイトをCloudflarePagesで公開します。
GatsbyでHP作成 その3:ブログ記事ページの投稿者情報を非表示
Gatsby Starter Blogのログ記事ページの投稿者情報を非表示にします。
GatsbyでHP作成 その2:ブログ記事を投稿
Gatsby Starter Blogでブログ記事を投稿してみます。
GatsbyでHP作成 その1:インストール~ブログタイトルを変更
Gatsby Starter Blogをインストールし、ブログタイトルを変更、BIO表示の代わりに簡単なテキストを入れます