コンテナイメージを zstd (Zstandard) で圧縮するとどのぐらいサイズを小さくできるのかに興味があって試してみた❗️今回は BuildKit(docker buildx コマンド)で zstd 圧縮をする.zstd 自体の詳細は以下のドキュメントなどを読むと良さそう docs.docker.co…
Terraform Cloud で管理してるステート (.tfstate) に terraform import コマンドで既存リソースを追加する機会があったので小ネタだけどまとめておく❗️流れとしては以下のブログ記事にもまとまっていて参考になる support.hashicorp.com 今回は Terraform v…
モブプログラミング中の Git Handover を実現するために mob コマンドをよく使っている.mob start と mob next でドライバーを交代できるのは便利で mob コマンドに関しては前に紹介記事を書いた kakakakakku.hatenablog.com 普段はターミナルで mob コマン…
2023年6月17日(3日前✨)にリリースされた AWS EventBridge Terraform module の最新バージョン v2.3.0 で Amazon EventBridge Scheduler がサポートされた モジュールを使えば多少ではあるけど記述量を抑えることができて,特に IAM Role まわりは楽になる…
2023年6月8日にリリースされた Amazon SQS の新しい API 3種類によって,Amazon SQS のデッドレターキュー (DLQ: Dead Letter Queue) に移動されたメッセージを "元のキュー" や "別のキュー" に戻す「DLQ 再処理」を AWS CLI / AWS SDK などから実行できる…
もっと Go を学びたくて学習コンテンツを探しているぞーという人におすすめできる「Gophercises」を紹介する❗️計20種類あるエクササイズ(どれも楽しい)をほぼ全て動画を観ながら写経して,とにかく楽しかったのでまとめることにした 動画を観ながらコード…
Amazon EventBridge Scheduler から Amazon ECS Task を定期的に実行する構成を Terraform で構築する機会があったのでまとめておく❗️Amazon EventBridge Scheduler とても便利 \( 'ω')/ tf ファイル 最初に完成形の tf ファイルを載せておく❗️今回は Amaz…
Terraform で ALB (Application Load Balancer) を構築するときに「アクセスログ」を Amazon S3 に流す設定をすると,以下のように InvalidConfigurationRequest というエラーが出る場合がある⚡️エラーをよく読むと Please check S3bucket permission と書い…
Amazon ECS で FireLens (Fluent Bit) を使ってログをルーティングするときに Fluent Bit の「設定ファイル」を書いて挙動をカスタマイズしたくなる場面は多くある.そして FireLens は設定ファイルタイプ config-file-type として s3 と file をサポートし…
AWS Modernization Workshop の「AWS Modernization Workshop with HashiCorp Terraform Cloud」を実施した❗️Terraform Cloud を使って AWS を操作する流れを一通り学べるので,特に Terraform や Terraform Cloud 入門者におすすめ.例えば "今までは AWS C…
Terraform Cloud で AWS を操作するときにアクセスキー(AWS_ACCESS_KEY_ID と AWS_SECRET_ACCESS_KEY)を使いたくなく,Terraform Cloud の「Dynamic Provider Credentials」を使って OpenID Connect (OIDC) と連携する仕組みを構築したので,ポイントをま…
AWS Amplify Hosting に GitHub からフロントエンドアプリケーションをデプロイする構成を AWS CloudFormation で構築する機会があった.AWS Amplify Hosting はコンソールだと比較的簡単にデプロイできるけど,今回は AWS CloudFormation と GitHub の Pers…
メール配信プラットフォーム「Mailtrap」を使うと,開発中にメールをテストしたり,実際にメールを配信したり,メール関連の悩みを幅広く解決できる❗️ちょうどメール関連のテスト戦略を設計していて,気になっていた Mailtrap の Email Testing を試してみた…
テスト自動化プラットフォーム「Autify」が "2023年4月末" にリリースした「Autify 認定プログラム(テスト自動化設計 基礎編)」を受講してみた❗️コンパクトにまとまっていて,E2E テストの重要さ・Autify の便利さを学べる良いコンテンツだったまた学習プ…
AWS の公式ドキュメント「AWS Lambda Operator Guide」を読んだ❗️AWS Lambda を軸にサーバーレスアプリケーションを構築するときに意識しておくべき "運用面のポイント・ベストプラクティス" がまとまっていて,とても良いドキュメントだった 内容的には AWS…
AWS CloudFormation のテンプレートとスタックを便利に操作できる AWS 公式ツール「rain」を紹介する.僕自身も AWS CloudFormation スタックを試行錯誤しながら実装するときによく rain を使っている.rain には機能が多くあるけど,今回は個人的に便利だと…
開発中に AWS Lambda 関数をローカル環境で実行するなら AWS SAM CLI の sam local invoke -e event.json コマンドを使えば良く,また AWS Lambda 関数のベストプラクティスに載っている Lambda ハンドラーをコアロジックから分離します。 を意識して実装す…
AWS Systems Manager Parameter Store を使ったアプリケーションを開発するときに,ローカル環境ではできる限り AWS アカウントに依存しないようにしたく,LocalStack を使う機会があったので調査ログをまとめておく.結果的に AWS Systems Manager Paramete…
AWS SAM で Amazon API Gateway (REST) の API Key と Usage Plan を構築するとき,実行時に以下のように API Stage not found というエラーが出ることがある.これはよくハマる問題で,AWS SAM 関連の GitHub を見ると issue も出ている.今回は解決策と注…
AWS CloudFormation テンプレートのリソース関係図を生成できる「cfn-diagram」を紹介する❗️cfn-diagram を使うと HTML / アスキーアート / Mermaid / Draw.io などのフォーマットで出力できる.特に Mermaid で出力できるのは便利で,Markdown や GitHub と…
Amazon API Gateway (REST API) から Amazon EventBridge にリクエストを流すように直接統合する構成を AWS SAM (AWS CloudFormation) と OpenAPI で実装する検証をしていたので紹介する❗️ハマりどころもあって,困ったときに参考になるドキュメントも少なく…
AWS Lambda 関数を Go ランタイムで動かす Hello World レベルの初学者コンテンツを探していて,ドキュメントにも載っている blank-go プロジェクトがお手軽に使えて良かったので紹介したいと思う❗️初学者に教えるときに使えるぞ〜 \( 'ω')/ github.com ち…
Air は Go で実装されたアプリケーションで「ホットリロード」をするツールで,Go コードなど関連するファイルの変更を監視して,変更があったら自動的にビルドをしてアプリケーションを再起動できる.例えば Go で API を開発しているときに,コードを修正…
Go で testing/fstest を使うと,ファイルシステムに依存したテストコードを書くときに実際のファイルシステムへの依存度を減らせる.テストコードを書こうとすると,テスト項目(バリエーション)ごとにファイルを用意する必要があるため,ファイルの管理が…
go test でテストを実行するときに -short オプションを付けると実行対象のテストを減らせる. 例えば,長時間実行されるテストがあった場合に毎回全体の実行を待つのではなく,一部のテストをスキップすることで時間短縮できる.開発中に素早くフィードバッ…
TDD(テスト駆動開発)を体験しながら Go を学べる学習コンテンツ「Learn Go with Tests」を紹介する❗️全てのコンテンツを実施してみて,非常に良かったのでまとめることにした Go に入門できる TDD のサイクル (Red / Green / Refactor) を体験できる コン…
2023年3月に出版された「エンジニアのためのドキュメントライティング」を読んだ.原著は Docs for Developers で,翻訳を担当された @iwashi86 さんに本書を送っていただいた.ありがとうございます❗️そして出版おめでとうございます 本書は今まで書いてき…
Approval Tests というツールセットを使うと簡単に「Approval Testing(承認テスト)」を実装できる.Approval Testing では,スナップショットテストのように "結果全体を意識した" テストコードを記述する.GitHub には Golden master Verification Librar…
今回は 2022年12月〜2023年2月中旬(第2期 : 約3ヶ月間)のシャドーイングを振り返りつつ,課題と今後(既に着手している第3期)についてまとめようと思う❗️あくまで個人的な英語学習ログだから参考にはならないと思う.ちなみに英語学習の一つとしてシャド…
「完璧を求める心理」を読んだ.良かった〜本当に良かった❗️もっと早く本書に出会いたかったほどに. 本書は "自分は完璧主義だと思うな〜" という人にはもちろんおすすめだけど,自分自身は違うけど同僚に完璧主義な人がいたり,会社でマネージャー職やリー…