やりたいこと Flutterで、Sliderの値に応じて表示されるテキスト内容を動的に変える機能をテストしたいケースがあった。しかし、Flutterのテストフレームワークでは、Sliderのドラッグ操作を行うために画面上でのドラッグ距離を指定する方法(Offset)しか提…
概要 lambdaでaws-sdk-go-v2を使って行う処理のトレースをDatadogに送る方法を記載する。 前提条件 Datadogのアカウントで、API Keyが発行済みであること AWS Lambdaをコンテナイメージで動かせること 動作環境 AWS Lambda(コンテナイメージで動作) Go 1.22…
概要 flutterのfreezedライブラリを使ってモデルを定義し、コードを生成するとimmutableなオブジェクトを定義してくれる。 このオブジェクトには、copyWithというメソッドが付いており、引数で与えられた属性値でオブジェクトを初期化して返してくれるのだが…
概要 AWS Web Adapterというものがあり、ウェブAPIのコードをそのままにサーバーレス化することができる。 aws.amazon.com これいいじゃんということで、GoのGinで動くウェブAPIをサーバーレス化したのだが、以前のECS Fargate環境では正常に動作していたDat…
概要 Lambda Web Adapterを使うと、それまで非サーバーレス環境下で動かしていたウェブAPIをLambda上で動かすことが可能になる。 コンテナイメージさえあれば、web APIをサーバーレス化できるし、コードの共通化も容易になって便利だ。 ただし、RDSと接続す…
概要 HTTP APIをLambdaで動かすときは、AWS Apigateway & Lambdaの構成を取ることが多いが、今回はALBをトリガーとしてLambdaを動かす機会があったので、terraformでの作り方をまとめる。 LambdaをTerraformで作成する まずは、Lambdaを作る。 resource "aws…
背景 Redisにダミーデータを投入するpythonスクリプトを使っていた。 データ件数が少ないうちはよかったのだが、多数のデータを入れるようになると、時間がかかりすぎて辛くなってきた。 パイプラインを使い、Redisとの通信ラウンドトリップを減らす Redisの…
構成図 以下の通り、ECR セキュリティスキャン -> AWS Event Bridge -> SNS -> Chatbot -> slack という流れで通知ができる。 ECRセキュリティスキャンをEventBridgeのイベントとして使う 多くのAWSの各マネージドサービスが、自らEventBridgeにイベントを送…
動作環境 AWS EC2(Red Hat Enterprise Linux 8.4 ) やりたいこと mainブランチへのマージをトリガーに、EC2上で git pull コマンドを実行して最新のコードを反映させたい というのが今回のやりたいことです。 前提 EC2がRunning状態である ec2-userでgitコ…
動作環境 AWS EC2 Red Hat Enterprise Linux 8.4 ロケールとは ロケールとは、コンピュータにおける言語や地域の設定のことです。 たとえば、日本に設定した場合は、言語は「日本語」、通貨は「円」といった日本地域固有の情報を使ってユーザーとコンピュー…
実行環境 AWS EC2 RHEL8 変更前の設定を確認 timedatectlコマンドで現状のtimezone設定を確認します。 $ timedatectl status Local time: Sun 2021-08-15 09:08:12 UTC Universal time: Sun 2021-08-15 09:08:12 UTC RTC time: Sun 2021-08-15 09:08:12 Time…
最初に結論から hubとghqを利用すると、orgs配下の全てのリポジトリをcloneすることができます。 転職したときなど、新しいorgに参加した際の初期セットアップの際に便利です。 導入の動機は? 転職した会社のリポジトリをとりあえず全部cloneしようと思った…
pythonで引数を受け取る方法 argparseというライブラリを使うと、簡単に引数を足すことができます。 import argparse def main(start_at, end_at): do_something if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument("start…
いつもやり方忘れてしまうので、メモ。 単一カラムに対するユニーク設定 djangoでモデルのあるカラムをユニークにするには、 以下のようにモデル定義のオプション引数として unique=True を渡してやればOKです。 from django.db import models class SomeMod…