2026-01-01から1年間の記事一覧

Claude Codeに読まれたくないディレクトリを暗号化イメージに隔離する

Claude Codeに読まれたくないディレクトリがあって、うっかり読み込まれたらいやなのでディレクトリ単位で暗号化できないか…ということをClaudeに相談したら「暗号化イメージを使うとよいのではないか」と提案されたのでやってみた。 まずディスクユーティリ…

lambrollでLambda@Edgeをデプロイする

メモ。 デプロイ デプロイ自体はlambroll deploy --region us-east-1を実行すればOK。 CloudFrontの更新 Lambda@Edgeでは$LATESTやAliasを使えないので、current Aliasからバージョンを探してCloudFrontを明示的に更新する。 export AWS_REGION=us-east-1 FU…

RidgepoleのdiffyをPure Rubyのライブラリに差し替えました

Ridgepole上でdiffyの処理に時間がかかっているという話があったので、Claude CodeにPure Rubyのdiffライブラリを作ってもらって、差し替えてみました。 github.com github.com Claude Code曰く とのこと。 3.2.0.betaとしてリリースしました。 悲鳴が上がら…

API GatewayからStep Functionsを実行する

terraformのコードが以下の通り。 terraform ##################################################################### # API Gateway ##################################################################### resource "aws_apigatewayv2_api" "apigw2sfn"…

psqlからClaude Codeを呼び出す

psqlのpagerをteeにしておけば直前のクエリの結果がファイルに記録されるので、それをClaude Codeに食わせられるな…ということでやってみた。 $ psql -h localhost -U postgres postgres=# \setenv PSQL_PAGER 'tee query.log'; postgres=# \pset pager alwa…

S3でCodeBuildの排他制御をする

CodeBuildで同時ビルド数を一つに制限したいことがあって、そういうときはConcurrent build limitを1に設定して運用するようにしていた。 [Concurrent build limit] (同時ビルド制限) で、このジョブで許可される同時実行の最大数を設定します。 しかしConcu…

iPhone Safari用のはてブNGフィルタ機能拡張「はてブフィルター」を作った

はてなブックマークは好きだけどあまり目にしたくないエントリもあるので、iPhone/iPadのSafari用NGフィルタ機能拡張を作った。 はてブフィルターGenki Sugawaraユーティリティ無料apps.apple.com github.com *1 ChromeやFirefoxの拡張はすでにいくつか存在…

GolangのジェネリクスでWriterDB/ReaderDBの型を分ける

アプリケーションからDBを使うときに読み込み専用のノードを作ってトランザクションの不要なクエリや重いクエリを読み込み専用のノードに投げるようにすることがよくある。 アプリケーションの全体の情報を保持する構造体があるとして、Writerノード・Reader…

GolangでそこそこのJSONパーサを楽に自作する

先日、json2goというツールを作ったが、構造体のフィールドの順番がJSONと同じにならないのがいやで、なんとかならないかと調べてみた。 ObjectのanyへのUnmarshalがmap[string]anyに決め打ちされているのが原因で、ルートのObjectの型をなんとかすることは…

json2goの作成といくつかの学び

元旦の手隙な時間にjson2goというJSONをGoの構造体に変換するツールを書いた。 github.com $ echo '{"foo":"bar","zoo":[1,2,3],"baz":[{"hoge":10},{"fuga":20}]}' | json2go struct { Baz []struct { Fuga int `json:"fuga"` Hoge int `json:"hoge"` } `js…