emahiro/b.log

Drastically Repeat Yourself !!!!

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

strings package を使って簡単なメールのフォーマットチェックをする

go

Overview タイトルの通りです。Go の strings パッケージを使って簡単なメールアドレスのフォーマットチェックをします。 Go の正規表現は重たい(Go に限った話ではないですが)処理なので何かの文字列の検査をするときは strings package を使う方がパフォ…

SES SendRawEmail API を使って画像付きメールを送信する

Overview SES SendRawEmail API を利用して画像付きのメールを送信するための備忘録です。 実装について 基本的な実装方法については Amazon SES API を使用して raw E メールを送信する を参考にすればできます。 画像付きのメールを送信する上でポイントに…

Serverless Framework@v3 で monorepo 構成にする

Overview Motivation ワークアラウンドについて actions も v3 にあげる entrypoint option を設定する SSM を使ってる場合 ~true suffix を削除する environment で JSON を読み込む場合には raw 指定する まとめ Overview Serverless Framework@v3 で mono…

Vuetify プロジェクトの依存の整理でハマった話

vue

Overview やったこと TypeScript 3.9.3 -> 4.6.2 (202203時点の最新)にする。 TypeScript を最新にしたら IE 対応用のメソッドが動かなくなった。 Axios を使った API リクエストのレスポンスが unkown 型になってしまった vue-type-check が TS4系に対応し…

VSCode で Chrome のようなタブ移動をする

Overview 最近自分で登録していたキーボードショートカットが何かと競合して動かなくなってしまった際に一回リセットしてみたらタイトルにある Chrome のように Cmd(or Ctrl) + shift + [ (or ]) で VSCode のタブ移動をするショートカットが消失し途方に暮…

Oh-My-Zsh -> Prezto に移行した

Overview 移行方法 Oh-My-Zsh の削除 Prezto の導入 Editor の設定変更 Git の情報の表示 移行してみて Overview 特に強い理由はないですが、長年愛用してきた Oh-My-Zsh から Prezto に移行しました。 github.com 強い理由はないと記載したけど、M1Pro でさ…

go-redis で custom struct を set / get するときは BinaryMarshaler を実装する必要がある

go

Overview 以下に記載されてる内容のことです。 github.com go-redis を使って redis に値を set & get するときは encoding#BinaryMarshaler を実装する必要があるという話です。 Sample type X struct {} func Set (key string, x X) error { opt := redis.…

300 記事継続の振り返りとこれから

この記事がちょうど 300 記事目です。 200記事の時の振り返りはこちら。 ema-hiro.hatenablog.com 200もの駄文をインターネット空間に投下してから2年ちょっとくらい経ちましたが、さらに 100 もの駄文を投下してしまっていたようです。 自分のドキュメント…

WFH における非同期と同期の話

Overview 前提 WFH or RTO という話 非同期か同期か 非同期がなぜ難しいのか? 余談: カメラ ON について 個人の感想とスタンス 知られたくない権利 (プライバシーの話)の観点 アバターという選択肢 まとめ Overview learn.gitlab.com デブサミで公開された…

aws.EndpointResolverWithOptions はエラー時にデフォルトの Endpoint Endpoint Resolver を返す

タイトルの通りなんですが、AWS SDK Go V2 を利用して AWS の設定を初期化する実装をする際に Endpoint Resolver Option を設定したいケースがあると思います。 リージョンが異なるなどで AWS に各サービスごとに設定内容を変えたいケースなどが使いたいケー…

Go で画像を操作する

go

Overview 画像の拡張子を操作する 拡張子を変換する。 拡張子を判別する http.DetectContentType で拡張子を判定する 画像を作成する Encode/Decode する base64 Overview 業務において Go で画像を操作する方法を調べたので備忘録。Go の標準パッケージにあ…

AWS の API Call に Retry option を設定する

サマリ AWS のリソースを API 経由で Call するときに Retry option を使うと便利、というお話です。 メッセージを trigger にして Lambda を起動させるなど、イベント駆動でプロセスを開始するようなサービスを使うケースでは、失敗しても Retry してくれる…

Lambda -> 各種 AWS へのアクセスで権限エラーが発生した場合の調査方法

これは何 Lambda から AWS のリソースに触るときに権限なしエラーが発生したときの調査でいつも手間取るのでその備忘録です。 config ファイルの iamRoleStatements ディレクティブを確認する 大体これで解決します。基本的にはコールしたい API のアクショ…

文字列化した時刻を time.Time に parse する

go

これは何? どうやるか? まとめ これは何? https://pkg.go.dev/time#Time.String で Go の時刻を文字列化した値を再度 time.Time に変換する実装について記載してます。 どうやるか? Time.String() で Go の時刻を文字列として出力した値を time.Time に…