kakakakakku blog

Weekly Tech Blog: Keep on Learning!

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

AWS Step Functions で AWS Lambda 関数を使わず Amazon S3 にオブジェクトをアップロードする

AWS Step Functions でワークフローを構築しているときに AWS Step Functions の実行時に渡すインプットの一部をファイルとして Amazon S3 に保存したいという場面があったりする❗️実際に最近あった \( 'ω')/ もちろん AWS Lambda 関数を追加すれば柔軟で…

LocalStack を使って DynamoDB TTL 機能をローカル環境で試す

LocalStack は Amazon DynamoDB TTL (Time To Live) 機能をサポートしている❗️Amazon DynamoDB を実環境にデプロイする前に TTL の動作確認ができて便利最近 LocalStack の Amazon DynamoDB TTL 機能を試す機会があって,簡単にまとめておこうと思う〜 \( '…

GitHub Codespaces で起動した LocalStack に Resource Browser から接続する

GitHub Codespaces で起動した LocalStack に LocalStack Resource Browser から接続できるただし LocalStack ポートを公開するためあくまで一時的な検証用途で使う前提として \( 'ω')/ LocalStack CLI セットアップ ドキュメントを参考に GitHub Codespac…

Amazon Inspector Lambda 標準スキャンで Lambda Layer に含まれる CVE を検出する

Amazon Inspector Lambda 標準スキャンを有効化すると「AWS Lambda 関数」と「AWS Lambda Layer」を対象に脆弱性 (CVE) を検出できる Lambda Layer もサポートしていることを確認してみた docs.aws.amazon.com requests 2.30.0 今回は Python パッケージの r…

人と向かい合おう!エンジニアリングマネジャーに限らずおすすめできる「エンジニアリングマネジャー入門」を読んだ

2024年7月14日に出版された新著「エンジニアリングマネジャー入門」を読んだ 本書は「人と向かい合う」ことにフォーカスしていて,エンジニアリングマネジャーがどんなことを日々考えて,どんなことに日々対処しているのかという実践的なノウハウがまとまっ…

Powertools for AWS Lambda (Python) の Feature flags で「時間ベースフィーチャーフラグ」を試す

Powertools for AWS Lambda (Python) の Feature flags を使って「時間ベースフィーチャーフラグ (Time based feature flags)」を試してみた.Powertools for AWS Lambda (Python) の Feature flags はデフォルトだと AWS AppConfig をバックエンドにしてい…

Powertools for AWS Lambda (Python) の Parameters で DynamoDB GSI からパラメータを取得するカスタムプロバイダ

Powertools for AWS Lambda (Python) の Parameters を使うと AWS Systems Manager Parameter Store / AWS Secrets Manager / AWS AppConfig / Amazon DynamoDB から AWS Lambda 関数で使うパラメータ(何かしらの値)を簡単に取得できる❗️また取得したパラ…

習慣化 振り返り(2024年1-6月)

2024年から Habitify を使って個人的な習慣化管理を楽しんでいる❗️ 2024年前半(1-6月)の習慣化を振り返ろうと思う \( 'ω')/ www.habitify.me 朝活 2023年2月から1年半ほど「朝活」を続けていて,Google Sheets に記録していた朝活メモを2024年から Habit…

Grand: Apache Ant の依存関係を可視化する

Grand を使うと Apache Ant ターゲットの依存関係を dot ファイルとして可視化できる.そもそも可視化したくなるほど依存関係が複雑なことが課題ではあると思うけど,既存の build.xml を解析したり,新しく build.xml を読むメンバーのために README.md に…

Amazon S3 署名付き URL 経由のアップロードでオブジェクトメタデータを設定する

Amazon S3 署名付き URL を発行してオブジェクトをアップロードするときに「オブジェクトメタデータ」も設定できるできるのかな〜と気になって試してみたらできた.署名付き URL 経由でアップロードされたオブジェクトに対して付加情報を設定しておくという…

カックマイクラ実況 YouTube 振り返り(開設1年🎉)

2023年7月1日に開設した YouTube チャンネル「カックマイクラ実況」を1年間続けてみた❗️簡単に振り返ろうと思う. www.youtube.com ちなみに「6ヶ月間」の振り返りは以下の記事にまとめてある機材などは特に変化なし. kakakakakku.hatenablog.com Stats (~2…

Apache Ivy の configurations でテストに必要な依存関係を取得する

Apache Ivy を使って Maven Repository からライブラリを取得するときに,例えば CI 環境では JUnit や Mockito などの「テストに必要な依存関係」も取得したいという場面がある.Apache Ivy では configurations(コンフィグレーション) を使って柔軟に依…

Casbin 認可ポリシーを DynamoDB に保存できるアダプター「python-dycasbin」を試した

Casbin で認可ポリシーを保存する1番簡単な選択肢は CSV ファイルだけど,アダプターを使うと認可ポリシーをデータベースで管理できる今回は PyCasbin で,ドキュメントに載っている DynamoDB Adapter (python-dycasbin) を使って,Casbin 認可ポリシーを Am…

Powertools for AWS Lambda (Python) の Validation で UUID フォーマットをバリデーションする

Powertools for AWS Lambda (Python) の Validation でプロパティの「UUID フォーマット」をチェックする場合は以下のようにスキーマを実装すると良さそう { '$schema': 'http://json-schema.org/draft-07/schema', 'type': 'object', 'required': ['id'], '…

boto3 Config で Amazon S3 Transfer Acceleration エンドポイントを使えるようにする

Amazon S3 で Transfer Acceleration を有効化すると,エッジロケーションを活用してオブジェクトを高速にアップロード・ダウンロードできるようになる.そして bucketname.s3-accelerate.amazonaws.com というエンドポイントが追加される aws.amazon.com do…

LocalStack を使って CloudWatch Logs サブスクリプションフィルタをローカル環境で試す

Amazon CloudWatch Logs サブスクリプションフィルタを使ってログを AWS Lambda に流す構成を AWS アカウントにデプロイする前に LocalStack にデプロイして確認してみた❗ docs.aws.amazon.com LocalStack は Amazon CloudWatch Logs サブスクリプションフィ…

localstack-utils: 単体テスト実行時に使い捨て可能な LocalStack を起動しよう

LocalStack から公式に提供されている localstack-utils を使うと,pytest など Python で単体テストを実行するときに一時的な(使い捨て可能な)LocalStack 環境を起動できる docs.localstack.cloud ちなみに僕は普段仕事で testcontainers-python の Local…

Apache Ivy で Guava を取得するときに javadoc.jar と sources.jar を除外する

Apache Ant と Apache Ivy を使って Maven Repository から Guava を取得すると不要な javadoc.jar と sources.jar も一緒に取得されてしまうときの解決策を2つメモしておく〜 再現確認 まず,Apache Ant の build.xml にデフォルト設定の ivy:retrieve タス…

LocalStack を使って Amazon Transcribe をローカル環境で操作する

Amazon Transcribe で Speech-to-Text を実現するときに,LocalStack を使えば Amazon Transcribe を「AWS アカウントを使わずにローカル環境で」動かせるLocalStack 自体は仕事でもプライベートでも使ってるけど,Amazon Transcribe は今まで試したことがな…

アプリケーションの認可ソリューションを体験できる「Amazon Verified Permissions workshop」

Amazon Verified Permissions を学ぶため「Amazon Verified Permissions workshop」を実施してみた3時間ほどで Amazon Verified Permissions の基本的な概念・マネジメントコンソール操作から,実際にサーバーレスアプリケーションに組み込んだときの実装例…

AWS CDK でプレフィックス集計のために Amazon S3 Storage Lens を設定する

Amazon S3 でオブジェクトの使用状況(合計サイズ・平均サイズなど)を「プレフィックス別(フォルダ別)」で可視化する場合,Amazon S3 Storage Lens の「高度なメトリクスとレコメンデーション機能」で「プレフィックス集計」を設定する❗️ docs.aws.amazon…

テスタビリティ(テスト容易性)に関してチームで考えるエクササイズがたくさん!Team Guide to Software Testability を読んだ

ソフトウェアのテスタビリティ(テスト容易性)に関してまとまった書籍「Team Guide to Software Testability」を読んだ 本書の特徴は「テスタビリティ」を重要視してソフトウェアの品質・デリバリーの予測可能性を高めていくために「どのようにチームで取り…

Terraform の AWS Cloud Control Provider (awscc) で Amazon Inspector「抑制ルール」を設定しよう

現時点(2024年5月)だと Terraform AWS Provider では Amazon Inspector の「抑制ルール」を設定できないという制約がある github.com Terraform AWS Provider 以外だと マネジメントコンソール AWS CLI(参考: AWS CLI で Amazon Inspector「抑制ルール」…

AWS CLI で Amazon Inspector「抑制ルール」を設定する

Amazon Inspector の「抑制ルール (suppression rules)」を使うと,条件に一致する検出結果を除外できる.また Amazon Inspector では FindingStatus: SUPPRESSED として AWS Security Hub に検出結果を統合するため,過剰に増えてしまう AWS Security Hub …

React-Admin を1時間で速習できる!React-Admin Tutorial

React-Admin を使うことになるかもしれず,今まで使ったことがなかったので,まずは「React-Admin Tutorial」を試してみた❗️React-Admin を使ったフロントエンドの実装と基本的な仕組みを速習できて良かったおすすめ \( 'ω')/ ちなみに 30 minutes tutoria…

AWS CDK の --exclusively オプションでスタック間の依存関係を考慮せずに実行する

AWS CDK の cdk diff コマンド・cdk deploy コマンドで --exclusively オプションもしくは -e オプションを指定して実行すると,スタック間の依存関係を考慮せずに指定したスタックのみ操作できる実行時間を短くしたり,デプロイの影響範囲を狭めたりすると…

Terraform で Amazon ECS の fargateTaskRetirementWaitPeriod を設定する

2024年5月17日にリリースされた Terraform AWS Provider v5.50.0 で Amazon ECS の「Fargate タスクリタイア待機時間 (fargateTaskRetirementWaitPeriod)」を設定できるようになった. github.com デフォルトでは「7日間」に設定されていて,選択肢としては …

AWS Step Functions の TestState API でステートをテストしよう!

AWS Step Functions ワークフローを実装しているときに,ステートをデプロイする前にテストしたり,デプロイしたワークフローの特定のステートのみを実行したいという場面があったりする.実は AWS Step Functions の「TestState API」を使うと,ワークフロ…

Python でツリー構造を表現できる treelib

Python ライブラリ treelib を使うと簡単にツリー構造を表現できる.今まで使ったことがなくて,ドキュメントを見ながら基本的な操作を試してみた treelib.readthedocs.io github.com ちなみに treelib は「AWS コンピュータービジョン開発の教科書」を読ん…

「Terraform の教科書 - Forkwell Library #51」で Q&A セッションのモデレーターを担当した

2024年5月9日に開催されたオンラインイベント「Terraform の教科書 - Forkwell Library #51」で Q&A セッションのモデレーター(司会者)を担当させて頂いたので,イベント開催前の準備などを簡単にまとめておこうと思う \( 'ω')/ 今回は貴重な機会を頂き…