kakakakakku blog

Weekly Tech Blog: Keep on Learning!

コンテナイメージの zstd 圧縮を試してみた

コンテナイメージを zstd (Zstandard) で圧縮するとどのぐらいサイズを小さくできるのかに興味があって試してみた❗️今回は BuildKit(docker buildx コマンド)で zstd 圧縮をする.zstd 自体の詳細は以下のドキュメントなどを読むと良さそう docs.docker.co…

Terraform Cloud で管理してるステートに terraform import で既存リソースを追加する

Terraform Cloud で管理してるステート (.tfstate) に terraform import コマンドで既存リソースを追加する機会があったので小ネタだけどまとめておく❗️流れとしては以下のブログ記事にもまとまっていて参考になる support.hashicorp.com 今回は Terraform v…

mob コマンドの VS Code 拡張機能「Mob VSCode GUI」

モブプログラミング中の Git Handover を実現するために mob コマンドをよく使っている.mob start と mob next でドライバーを交代できるのは便利で mob コマンドに関しては前に紹介記事を書いた kakakakakku.hatenablog.com 普段はターミナルで mob コマン…

EventBridge Scheduler から ECS Task を実行する構成を EventBridge Terraform module で構築する

2023年6月17日(3日前✨)にリリースされた AWS EventBridge Terraform module の最新バージョン v2.3.0 で Amazon EventBridge Scheduler がサポートされた モジュールを使えば多少ではあるけど記述量を抑えることができて,特に IAM Role まわりは楽になる…

AWS CLI / AWS SDK から実行できるようになった Amazon SQS の「DLQ 再処理」

2023年6月8日にリリースされた Amazon SQS の新しい API 3種類によって,Amazon SQS のデッドレターキュー (DLQ: Dead Letter Queue) に移動されたメッセージを "元のキュー" や "別のキュー" に戻す「DLQ 再処理」を AWS CLI / AWS SDK などから実行できる…

Gophercises: 実践的な20種類のエクササイズで Go を学ぼう

Go

もっと Go を学びたくて学習コンテンツを探しているぞーという人におすすめできる「Gophercises」を紹介する❗️計20種類あるエクササイズ(どれも楽しい)をほぼ全て動画を観ながら写経して,とにかく楽しかったのでまとめることにした 動画を観ながらコード…

EventBridge Scheduler から ECS Task を実行する構成を Terraform で構築する

Amazon EventBridge Scheduler から Amazon ECS Task を定期的に実行する構成を Terraform で構築する機会があったのでまとめておく❗️Amazon EventBridge Scheduler とても便利 \( 'ω')/ tf ファイル 最初に完成形の tf ファイルを載せておく❗️今回は Amaz…

Terraform で ALB のアクセスログを設定するときに InvalidConfigurationRequest と出たら

Terraform で ALB (Application Load Balancer) を構築するときに「アクセスログ」を Amazon S3 に流す設定をすると,以下のように InvalidConfigurationRequest というエラーが出る場合がある⚡️エラーをよく読むと Please check S3bucket permission と書い…

Fargate でも使える!FireLens の init プロセスを活用して設定ファイルを S3 から読み込む

Amazon ECS で FireLens (Fluent Bit) を使ってログをルーティングするときに Fluent Bit の「設定ファイル」を書いて挙動をカスタマイズしたくなる場面は多くある.そして FireLens は設定ファイルタイプ config-file-type として s3 と file をサポートし…

Terraform Cloud x AWS に入門できる「AWS Modernization Workshop with HashiCorp Terraform Cloud」

AWS Modernization Workshop の「AWS Modernization Workshop with HashiCorp Terraform Cloud」を実施した❗️Terraform Cloud を使って AWS を操作する流れを一通り学べるので,特に Terraform や Terraform Cloud 入門者におすすめ.例えば "今までは AWS C…

Terraform Cloud で IAM Role から一時的なアクセスキーを取得する

Terraform Cloud で AWS を操作するときにアクセスキー(AWS_ACCESS_KEY_ID と AWS_SECRET_ACCESS_KEY)を使いたくなく,Terraform Cloud の「Dynamic Provider Credentials」を使って OpenID Connect (OIDC) と連携する仕組みを構築したので,ポイントをま…

Amplify Hosting を CloudFormation と GitHub の Personal Access Tokens でデプロイする

AWS Amplify Hosting に GitHub からフロントエンドアプリケーションをデプロイする構成を AWS CloudFormation で構築する機会があった.AWS Amplify Hosting はコンソールだと比較的簡単にデプロイできるけど,今回は AWS CloudFormation と GitHub の Pers…

Mailtrap を使って受信メール確認を自動テストに組み込む

メール配信プラットフォーム「Mailtrap」を使うと,開発中にメールをテストしたり,実際にメールを配信したり,メール関連の悩みを幅広く解決できる❗️ちょうどメール関連のテスト戦略を設計していて,気になっていた Mailtrap の Email Testing を試してみた…

Udemy で「Autify 認定プログラム(テスト自動化設計 基礎編)」を受講した

テスト自動化プラットフォーム「Autify」が "2023年4月末" にリリースした「Autify 認定プログラム(テスト自動化設計 基礎編)」を受講してみた❗️コンパクトにまとまっていて,E2E テストの重要さ・Autify の便利さを学べる良いコンテンツだったまた学習プ…

Lambda の運用面でのベストプラクティスを学べる「AWS Lambda Operator Guide」を読んだ

AWS の公式ドキュメント「AWS Lambda Operator Guide」を読んだ❗️AWS Lambda を軸にサーバーレスアプリケーションを構築するときに意識しておくべき "運用面のポイント・ベストプラクティス" がまとまっていて,とても良いドキュメントだった 内容的には AWS…

rain: CloudFormation を便利に操作しちゃおう

AWS CloudFormation のテンプレートとスタックを便利に操作できる AWS 公式ツール「rain」を紹介する.僕自身も AWS CloudFormation スタックを試行錯誤しながら実装するときによく rain を使っている.rain には機能が多くあるけど,今回は個人的に便利だと…

LocalStack と samlocal コマンドで SQS x Lambda 構成をローカル環境で実行する

開発中に AWS Lambda 関数をローカル環境で実行するなら AWS SAM CLI の sam local invoke -e event.json コマンドを使えば良く,また AWS Lambda 関数のベストプラクティスに載っている Lambda ハンドラーをコアロジックから分離します。 を意識して実装す…

LocalStack を使って SSM Parameter Store をローカル環境で操作する

AWS Systems Manager Parameter Store を使ったアプリケーションを開発するときに,ローカル環境ではできる限り AWS アカウントに依存しないようにしたく,LocalStack を使う機会があったので調査ログをまとめておく.結果的に AWS Systems Manager Paramete…

AWS SAM で Amazon API Gateway の Usage Plan を作るときに API Stage not found と出たら

AWS SAM で Amazon API Gateway (REST) の API Key と Usage Plan を構築するとき,実行時に以下のように API Stage not found というエラーが出ることがある.これはよくハマる問題で,AWS SAM 関連の GitHub を見ると issue も出ている.今回は解決策と注…

cfn-diagram: CloudFormation のリソース関係図を生成しよう

AWS CloudFormation テンプレートのリソース関係図を生成できる「cfn-diagram」を紹介する❗️cfn-diagram を使うと HTML / アスキーアート / Mermaid / Draw.io などのフォーマットで出力できる.特に Mermaid で出力できるのは便利で,Markdown や GitHub と…

Amazon API Gateway から Amazon EventBridge への直接統合を AWS SAM と OpenAPI で構築する

Amazon API Gateway (REST API) から Amazon EventBridge にリクエストを流すように直接統合する構成を AWS SAM (AWS CloudFormation) と OpenAPI で実装する検証をしていたので紹介する❗️ハマりどころもあって,困ったときに参考になるドキュメントも少なく…

blank-go: Go で動く AWS Lambda 関数に入門しよう

AWS Lambda 関数を Go ランタイムで動かす Hello World レベルの初学者コンテンツを探していて,ドキュメントにも載っている blank-go プロジェクトがお手軽に使えて良かったので紹介したいと思う❗️初学者に教えるときに使えるぞ〜 \( 'ω')/ github.com ち…

Air: Go アプリケーションでホットリロードをする

Go

Air は Go で実装されたアプリケーションで「ホットリロード」をするツールで,Go コードなど関連するファイルの変更を監視して,変更があったら自動的にビルドをしてアプリケーションを再起動できる.例えば Go で API を開発しているときに,コードを修正…

testing/fstest: Go でファイルシステムに依存したテストを書く

Go

Go で testing/fstest を使うと,ファイルシステムに依存したテストコードを書くときに実際のファイルシステムへの依存度を減らせる.テストコードを書こうとすると,テスト項目(バリエーション)ごとにファイルを用意する必要があるため,ファイルの管理が…

go test -short で長時間実行されるテストをスキップする

Go

go test でテストを実行するときに -short オプションを付けると実行対象のテストを減らせる. 例えば,長時間実行されるテストがあった場合に毎回全体の実行を待つのではなく,一部のテストをスキップすることで時間短縮できる.開発中に素早くフィードバッ…

Learn Go with Tests: テスト駆動開発を体験しながら Go を学ぼう

TDD(テスト駆動開発)を体験しながら Go を学べる学習コンテンツ「Learn Go with Tests」を紹介する❗️全てのコンテンツを実施してみて,非常に良かったのでまとめることにした Go に入門できる TDD のサイクル (Red / Green / Refactor) を体験できる コン…

読み手を意識したテクニカルドキュメントを書くために /「エンジニアのためのドキュメントライティング」を読んだ

2023年3月に出版された「エンジニアのためのドキュメントライティング」を読んだ.原著は Docs for Developers で,翻訳を担当された @iwashi86 さんに本書を送っていただいた.ありがとうございます❗️そして出版おめでとうございます 本書は今まで書いてき…

go-approval-tests: Go で「承認テスト」を実装する

Go

Approval Tests というツールセットを使うと簡単に「Approval Testing(承認テスト)」を実装できる.Approval Testing では,スナップショットテストのように "結果全体を意識した" テストコードを記述する.GitHub には Golden master Verification Librar…

「TOEIC 公式アプリ」を使って3ヶ月間シャドーイングを続けてみた

今回は 2022年12月〜2023年2月中旬(第2期 : 約3ヶ月間)のシャドーイングを振り返りつつ,課題と今後(既に着手している第3期)についてまとめようと思う❗️あくまで個人的な英語学習ログだから参考にはならないと思う.ちなみに英語学習の一つとしてシャド…

完璧主義だと言われる僕が自分の性格をもっと理解するために「完璧を求める心理」を読んだ

「完璧を求める心理」を読んだ.良かった〜本当に良かった❗️もっと早く本書に出会いたかったほどに. 本書は "自分は完璧主義だと思うな〜" という人にはもちろんおすすめだけど,自分自身は違うけど同僚に完璧主義な人がいたり,会社でマネージャー職やリー…