emahiro/b.log

Drastically Repeat Yourself !!!!

2022-03-01から1ヶ月間の記事一覧

Go1.18 の Generics を使って Slice の重複削除の処理を書く

go

Overview golang.org/x/exp/slices を使って重複削除の実装を書く ベンチマークしてみる まとめ Overview Go でスライスの重複処理を実装するのに Generics が使えるので実際に実装してみました。 なお、Go1.18 以前の世界ではスライスの重複を削除するには …

Go1.18 の Generics を使ってみた話

go

Overview 実装に入門する サンプル実装 map の key を取り出す スライスのシャッフル処理 その他使えそうなユースケケースについて golang.org/x/exp 配下のパッケージついて まとめ Overview Go 1.18 がリリースされて目玉の機能である Generics について一…

Go の unstable version で gopls を使う

go

以下の設定をする。 # Create an empty go.mod file, only for tracking requirements. cd $(mktemp -d) go mod init gopls-unstable # Use 'go get' to add requirements and to ensure they work together. go get -d golang.org/x/tools/gopls@master gol…

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.…