猫でもわかるWebプログラミングと副業

本業エンジニアリングマネージャー。副業Webエンジニア。Web開発のヒントや、副業、日常生活のことを書きます。

PHPStan の「スタブファイル」について

はじめに スタブファイル スタブファイルについて スタブファイルも PHPStan の解析にかけたほうがいいのか? スタブファイルに関する設定 スタブファイルで Class not found エラーが発生した場合 訳者補足: 最後の「“Class not found” in a stub file?」と…

Java の Web フレームワーク Quarkus を Google App Engine で使ってみる with Gradle

Quarkus について 構成 とりあえずローカルで動かすまで Quarkus コマンドのインストール Quarkus プロジェクト作成 Quarkus ローカルサーバー起動 Google App Engine に Quarkus をデプロイする Google App Engine について Google App Engine の有効化 Goo…

手順書がすぐに陳腐化してしまうのはなぜなのか【ドキュメント管理】

どこの組織でも手順書が陳腐化しているのをよく見る。(「陳腐化」とは、ドキュメントのメンテナンスがされておらず、古い状態になっていることを指すものとする) 組織に入って、リリース作業をしようとして、手順書どおりにやっても動かない。そもそも手順…

AWS ECS + Java アプリケーションの立ち上がりが遅い場合のヘルスチェック設定【AWS CDK】

AWS ECS + Java の場合の注意点と解決方法 ヘルスチェックの猶予期間(healthCheckGracePeriodSeconds)について AWS CDK で healthCheckGracePeriodSeconds を設定する ECS のログでヘルスチェックの様子を確認する AWS CDK でヘルスチェック周りの設定 参…

ポケモンスリープでごはんを作るのが面倒な件【雑談】

2019年に発表された『ポケモンスリープ』(Pokémon Sleep)。2020年リリースと発表されましたが、その後何も音沙汰がなく、2023年7月になり突然リリースされました。 リリースから半年くらいは私もプレイしていたのですが、飽きてしまい、しばらくプレイして…

CDK for Terraform の multi-stack 構成の設計

はじめに スタックをどのように分けるか 複数のスタックをまとめてデプロイしたい場合 ワイルドカードでのデプロイの注意点 複数スタックのデプロイ時には --parallelism コマンドを利用する cdktf diff コマンドは multi-stack に対応していない その他ベス…

Terraform / CDKTF で google_monitoring_dashboard が常に差分として出てきてしまう

結論としては、dashboard_json.gridLayout.columns を string で指定しないといけないところ、 int (number) で指定していたことが原因でした。 型が間違っていると常に差分として検出されてしまうようで、以下のような差分をよく見ると、型がずれているのが…

Laravel の Scheduler を AWS ECS と CloudWatch Logs に最適化させるには

前提 Laravel のスケジューラーを Docker で動かす ログ(CloudWatch Logs)の課題 JSON 形式でログを出す まとめ 前提 PHP + Laravel で、Web サービスを開発しており、Laravel で実装した Web API が WAS ECS (Elastic Container Service) で動いているの…

AWS CloudWatch Logs 向けに Laravel のログを JSON で出力する方法

はじめに JSON 形式のログを送ると何がいいのか 今回のサーバー構成 Laravel から JSON でログを送るには スタックトレースも出したい 課題 まとめ はじめに この記事は Qiita Laravel Advent Calendar 2023 の3日目の記事です。 1日目はこのカレンダー作成…

AWS CDK では既存の VPC Endpoint に Security Group を追加することはできないようだ

やろうとしたこと VPC Endpoint の仕様について VPC Endpoint に Security Group を追加しようとした どう解決したか もう少し詳細に調査してみる CDK の InterfaceVpcEndpoint について アクセスが Interface VPC Endpoint を経由しているかどうかの確認 他…

AWS CDK で ECS Exec を有効にしてコンテナのシェルに接続する

はじめに ECS Exec が有効になっているかどうか確認する方法 ECS Exec の有効化 AWS CDK の修正 タスクを再起動 AWS Exec 実行例 参考 はじめに ECS Exec を使うと、コンテナのシェルに接続できるので(docker exec ができる。SSH みたいな感じ)、AWS ECS …

Code Pipeline で CloudFront のキャッシュを飛ばす【React, S3, CloudFront】

概要 CodeCommit を使うメリットはあるのか? AWS CDK のスタックの分け方について S3 と CloudFront の構築 CodePipeline, CodeBuild の構築 CodePipeline と CodeBuild の関係について CodePipeline のプロジェクト作成 CodePipeline に CodeCommitSourceA…

AWS CDK と CDK for Terraform 比較 実際のプロダクトで使ってみた

はじめに AWS とそれ以外(Google Cloud 等)を混ぜて使う場合は? AWS CDK には便利なライブラリがついている AWS CDK 実行時の IAM 管理が複雑 どっちのほうがデプロイが速い? AWS CDK のほうが AWS 謹製だからいいのでは? ドキュメントの充実さ まとめ …

【PHPStan】単に Error と表示され、ファイル名がわからない: Ignored error pattern ... was not matched in reported errors.

PHPStan を実行していると、以下のように、単に Error とだけ表示された XXXXXXXXXX の部分には人によって色々な文章が表示される -- ----------------------------------------------------------------------------------------------- Error -- ---------…