kakakakakku blog

Weekly Tech Blog: Keep Learning!

Amazon CloudFront 標準ログ v2 を Terraform でデプロイする

Amazon CloudFront 標準ログ v2(アクセスログ)を Amazon S3 に保存する構成を Terraform で実装する機会があった.個人環境で検証したことをまとめておこうと思う❗️ docs.aws.amazon.com Amazon S3 関連 まずは Amazon CloudFront 標準ログ v2(アクセスロ…

Dependabot で Composer ライブラリを自動でアップデートする

Dependabot を使うと PHP のプロジェクトで Composer ライブラリを自動でアップデートできる docs.github.com 詳細な設定はドキュメントにまとまっている 今回は2つのパターンを試してみた \( 'ω')/ require と require-dev を別々にアップデートする requ…

「レジリエントマネジメント/エンジニアリングリーダー合同出版記念イベント」に参加した

2026年1月26日に開催された「レジリエントマネジメント/エンジニアリングリーダー合同出版記念イベント」に参加した rm-el-publish-event.connpass.com ほぼ同時期に出版されたリーダーシップ関連2冊(エンジニアリングリーダーとレジリエントマネジメント)…

Amazon CloudFront VPC origins を Terraform でデプロイする

Amazon CloudFront VPC origins を使うとプライベートサブネットにデプロイしたリソース(具体的には Application Load Balancer / Network Load Balancer / Amazon EC2)を Amazon CloudFront 経由で直接配信できる パブリックサブネットにリソースをデプロ…

新機能 Terraform Actions に入門できるチュートリアル「Invoke actions with Terraform」

2025年12月に正式リリースとなった「Terraform Actions」に入門できるチュートリアル「Invoke actions with Terraform」を試してみた AWS と Azure で試せるようになっていて,今回は AWS にした. developer.hashicorp.com Terraform Actions Terraform Act…

PSR-4 違反を検出する composer dump-autoload --optimize --strict-psr コマンド

Composer の composer dump-autoload --optimize --strict-psr コマンドを使うと PSR-4 (Autoloader) 違反を検出できる. www.php-fig.org getcomposer.org PHP_CodeSniffer だと PSR-4 違反は検出できず,GitHub Actions でサクッと PSR-4 を検出するならコ…

Terraform と lambroll で LocalStack に Lambda 関数をデプロイする

lambroll を使って AWS Lambda 関数をデプロイしてる環境で動作確認のために LocalStack にもデプロイしたいという相談があって,検証環境を作る機会があった.結果的に問題なくデプロイできた個人環境で検証したことをまとめておく. github.com 今回の構成…

Terraform で Amazon Athena の「マネージドクエリ結果」を設定する

2025年12月4日にリリースされた Terraform AWS Provider v6.25.0 で Amazon Athena の「マネージドクエリ結果 (Managed query results)」がサポートされた github.com マネージドクエリ結果は2025年6月にリリースされた新機能で,クエリ結果を保存する Amazo…

2025年の振り返りと2026年の抱負

2025年の振り返り お仕事を楽しくたくさん頑張った 2023年4月からフリーランスのソフトウェアエンジニアになって,早くも2年半以上でもう少しで3年になる.毎日楽しく働けていて最高お仕事の相談も十分にもらえていて,タイミングが合わずにお断りせざるを得…

習慣化 振り返り(2025年7-12月)

2024年から Habitify を使って個人的な習慣化管理を楽しんでいる❗️ Habitify 最高〜 \( 'ω')/ www.habitify.me 2025年後半(7-12月)の習慣化を振り返る.過去の振り返りは以下にまとめてある 朝活 振り返り(2023年) - kakakakakku blog 習慣化 振り返り…

Terraform sandboxes: 公式のサンドボックス環境で Terraform を勉強しよう

HashiCorp 公式の Terraform サンドボックス環境「Terraform sandboxes」を使うとブラウザ上で Terraform の勉強ができるLocalStack(AWS エミュレータ)もプリインストールされてて Terraform AWS Provider の勉強にもなる. 最近までなかったように思うけ…

2025年(10-12月)のプルリクエストを振り返る

2016年から毎年送ったプルリクエストを振り返る記事を書いている 2025年(10-12月)は「計17件」だった❗️ プルリクエストを振り返るための検索 プルリクエストを振り返るために GitHub の検索条件を使う. 今回は「2025年(10-12月)」に限定するため created:20…

読んだ本を振り返る(2025年10-12月)

2025年10月から2025年12月までに読んだ本とその感想(書評記事 or X ポスト)をまとめておこうと思う2024年2月から「毎日10分間読書」という習慣化に取り組んでいる3ヶ月間で「計11冊」読むことができた. 2025年10月: 3冊 アジャイルレトロスペクティブズ(…

AWS Serverless Patterns Collection コントリビュート振り返り(2025年7-12月)

2025年7月から Serverless Land にある「AWS Serverless Patterns Collection」にプルリクエストを送って継続的にコントリビュート(パターンのメンテナンス)をしてきた.2025年7月から2025年12月までの6ヶ月間を振り返ろうと思う 2025年は AWS Community B…

Claude Code の "動作原理" を理解して "意図どおりに" 動かすには?「実践 Claude Code 入門」を読んだ(サブエージェント・スラッシュコマンド・スキル・フックまで!)

2025年12月26日(明日)に出版される「実践 Claude Code 入門」を読んだ どれか1つでも当てはまる人に本書をおすすめしたい そろそろ Claude Code に入門したい! なんとなく Claude Code を使ってるから詳しくなりたい! スペック駆動開発を学びたい! Clau…

Dify の注釈(アノテーション)でチャットボットの回答をカスタマイズする

Dify の注釈(アノテーション)機能を使うとチャットボットで運用者が厳選して登録した回答を優先的に返すことができる.よくある質問に対して LLM を使わずに明確な回答をしたり,プロンプトインジェクションのような質問に対して拒否する回答ができる.よ…

Terraform AWS Provider v6: リソースレベルでリージョンを指定する

Terraform AWS Provider v6 から「リソースレベルで」リージョンを指定できるようになった️ 今まではエイリアス付きのプロバイダーを定義する必要があった.詳しくは Terraform AWS provider 6.0 now generally available に載っている. 最近カスタムドメイ…

GitHub Actions で Dependabot のプルリクエストを自動的に merge する

GitHub Actions で Dependabot のプルリクエストを自動的に merge する仕組みを作ってみた.ライブラリのバージョンアップ時に CI を実行して pass するなら merge して OKという前提で使うイメージ. .github/workflows/auto-merge-for-dependabot.yml Git…

Dify のコンテンツモデレーションで Bedrock Guardrails を使う

Dify の「コンテンツモデレーション」を使うとチャット中の不適切な入出力をブロックできる.コンテンツモデレーションでは3種類のプロバイダがサポートされていて「キーワード」と「OpenAI モデレーション」は以下の記事にまとめた.今回はもう一つの「API …

Dify で不適切な入出力をブロックできる「コンテンツモデレーション」

Dify の「コンテンツモデレーション」を使うとチャット中の不適切な入出力をブロックできる.Dify をプロダクション環境で使う場合に重要な機能になる.Dify の画面だと右上にある「Features(機能)」から「コンテンツのモデレーション」で設定できる.詳し…

Carbon: v2 と v3 で diffInYears() の結果が異なる

PHP

PHP の日付ライブラリ Carbon で v2 から v3 へのバージョンアップを検証してるときに diffInYears メソッドの結果に差があることに気付いた.ドキュメントの Migrate to Carbon 3 セクションを読むと Yes, the most impactful change is in diffIn* methods…

pyinfra で EC2 インスタンスをプロビジョニングする

pyinfra を使うと Python コードでサーバの構成管理ができる pyinfra.com 最近 pyinfra で Amazon EC2 インスタンスのプロビジョニングを試す機会があって,個人的に検証したことをまとめておく.今までは Chef / Ansible を使ったことがあって,またプロビ…

Step Functions から直接 Bedrock を呼び出す

最近 AWS Step Functions から AWS Lambda 関数を使わずに Amazon Bedrock を呼び出す (invokeModel) という検証をする機会があって簡単にまとめておくちなみに AWS Lambda 関数を使わずに呼び出すことを直接統合 (Direct Integrations) と言ったりする. t…

Terraform TLS Provider: Terraform で EC2 キーペアを生成する

Terraform TLS Provider を使うと Terraform で秘密鍵などを生成できる️ registry.terraform.io ちなみにドキュメントには以下のように書いてあって,tfstate にシークレットが含まれるためプロダクション環境での利用は避けると良さそう. Because of these…

PHPCompatibility v10.0.0-alpha1 で PHP 8.2 の非推奨コードを検出する

PHP

PHPCompatibility は2019年にリリースされた v9.3.5 で止まっていて,今まで PHP 8.x の非互換を検出する場合は dev-develop ブランチを使う必要があった. github.com リリース自体は止まってしまったのかな?と思っていたら,2025年10月に突然 v10.0.0-alp…

どんな困難でも乗り越えられるチームに育てるには /「レジリエントマネジメント」を読んだ

成功するチームへと導くにはどうしたら良いのだろう!?チームメンバー(本書の表現だとチームメイト)である「人」にフォーカスしたコミュニケーションスタイルへの気付きが得られる一冊「レジリエントマネジメント 荒波に立ち向かい、困難を乗り越えるチー…

Terraform AWS Provider v6: deprecated になった aws_region データソースの name プロパティ

Terraform AWS Provider v6 へのバージョンアップを数回やっていて(既に4プロジェクトほどやった)そのときによく遭遇するのが aws_region データソースの name プロパティが deprecated になった件で,v6 以降は region プロパティを使う必要がある. name…

Google Analytics MCP Server: 自然言語でアナリティクスデータを取得しよう

Google Analytics でブログ記事の PV を確認する機会がちょこちょこある たとえば「人気記事の定点観測」や「AWS Community Builders のアウトプット報告」など. 今までは Google Analytics コンソールでポチポチと確認していたけど Google Analytics MCP S…

Terraform: AWS WAF で Basic 認証を実装する

AWS WAF を使ってアプリケーションに Basic 認証を設定できる️Basic 認証のセキュリティレベルを理解した上で一時的な社内用途などで使いたいという場面はあると思う. 今回は AWS WAF + ALB(固定レスポンス)という簡単な組み合わせを Terraform で実装し…

Dify のエージェントノードで「エージェンティック戦略」を選ぶときに「Agent strategy は利用できません」と表示されたら

Dify のエージェントノードで「エージェンティック戦略」を選ぶときに Agent strategy は利用できません と表示されて FunctionCalling や ReAct を選べないときがある. docs.dify.ai その場合は Dify Marketplace で Dify Agent Strategies をインストール…