kakakakakku blog

Weekly Tech Blog: Keep on Learning!

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

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期)についてまとめようと思う❗️あくまで個人的な英語学習ログだから参考にはならないと思う.ちなみに英語学習の一つとしてシャド…

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

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

Dockerfile の ARG を使って FROM を変数化する

コンテナイメージを作るときに Dockerfile の FROM に指定する「イメージ名」や「タグ名」をビルドごとに変えて設定したく,Dockerfile の ARG を使って実現できた.試しながら学んだポイントをまとめる❗️ Dockerfile 例 例えば,以下の Dockerfile では ARG…

3000円台で買えてコスパ良し!マランツプロ M4U を1ヶ月使ってみた

Amazon で "そこそこ" 評判が良く,メーカーは信頼できるマランツプロ そして何よりもお手軽すぎる「3000円台(記事を書いてる 2/25 時点だとなんと3,192円 )」という価格にも驚きで,あまり期待はせずに検証も兼ねて「888M マランツプロ USB コンデンサー…

Git / GitHub に入門するならまずこの一冊 /「いちばんやさしい Git & GitHub の教本 第2版」を読んだ

「いちばんやさしい Git & GitHub の教本 第2版」を読んだ.「いちやさ」と謳っている通り,本当に本当に丁寧に書かれていて,説明の歩幅も小さく,Git / GitHub の初学者でも挫折することなく読み進められる一冊だった.また情報量も意図的に抑えられている…

Calendly 1on1 振り返り(2023年2月)

気軽に 1on1 などのミーティングを申し込める「Calendly」というサービスをテスト運用として1ヶ月導入してみたので(2023年2月),簡単に振り返ってみようと思う.Calendly は本当に便利で今後も継続して使っていくぞー❗️という気持ち.Calendly の機能紹介…

生産性を高めれば高めるほどますます忙しくなる /「限りある時間の使い方」を読んだ

タイトルに惹かれて「限りある時間の使い方」を読んだ.僕は日常的に "忙しく時間がないなぁ..." と感じることが多い(忙しいフリをしているだけの可能性もある).やりたいことは多いけど全然処理しきれず,常に何かしらを犠牲にしているというモヤモヤもあ…

Playwright for Python: PDF 形式で印刷する

Playwright for Python でウェブサイトのスクリーンショット(画像形式)を取得するのではなく「PDF 形式で」取得したいこともあると思う(実際に最近あった〜).Playwright for Python では page.pdf() を使えば簡単に実装できる❗️ そして page.pdf() はデ…

Playwright for Python: screenshot() に指定できる便利なオプション3選

Playwright for Python の page.screenshot() でスクリーンショットを取得するときに指定できる「便利なオプション3選」を紹介する❗️ 1. full_page ウェブサイトのスクリーンショットを「全て」取得する場合 full_page オプションが使えるデフォルトは False…

GitHub Actions と Playwright を組み合わせて Build Your Own Radar を継続的に構築しよう

「自分だけの Technology Radar」を構築できる「Build Your Own Radar」を以下の記事で紹介した kakakakakku.hatenablog.com Build Your Own Radar サービスに入力する Technology Radar ファイルとしては Google Sheets / CSV / JSON を使うことができて,…

Build Your Own Radar で「自分だけの」Technology Radar を構築しよう

「Build Your Own Radar (BYOR)」を使うと Thoughtworks 社が毎年2回ほど出している Technology Radar と同じフォーマットで「自分だけの Technology Radar」を構築できる❗️ 企業の技術戦略を策定してどんなテクノロジー組織を目指しているのかを可視化した…

Docker Desktop の Extensions を実装してみよう

2023年1月にリリースされた Docker Desktop v4.16.0 (release notes) で GA になった「Docker Extensions」の Extensions は段々と種類が増えてきて,Disk Usage / Aqua Trivy / LocalStack など,最近使う機会もあったりする.今回は "Quickstart" ドキュメ…

本棚に眠っていた「一生モノの英語勉強法」を読み直した

いつ購入したのか正確には覚えていないけど,本棚に眠っていた「一生モノの英語勉強法」を読み直した 本書では「実践しやすい英語学習のコツ」が紹介されていて,自分自身にあった勉強法を見つけるのに使える一冊だった.関連書籍や学習リソースが多く紹介さ…

act: GitHub Actions のワークフローをローカル環境で実行する

GitHub Actions でワークフローを実行するときに git commit と git push を実行して GitHub Actions の実行を待つことがよくある.より迅速に実行して,結果を受け取るために「act」を使って GitHub Actions をローカル環境(コンテナ)で実行する仕組みを…

Calendly: Zapier を使って Notion と連携しよう

「Calendly」は多くのサービスとのインテグレーションをサポートしている."Professional" プラン以上で使える「Zapier インテグレーション」で連携すると,開発をすることなく(ノーコード)イベント駆動な仕組みを実装できる. Calendly を試しながら「ミ…