My External Storage

Nov 26, 2021 - 4 minute read - Comments - notion

[Notion] 完了ステータスのタスクの数を集計する(あるDBのSelectプロパティの特定値の数を集計する)

最近Notionを使い始めた。ステータスプロパティを追加した「タスク」DBでタスク管理をしている。
「Done」タスクの数を数えるには少し回り道が必要だったのでメモしておく。
なお、この記事は2021/11/26時点のNotionの機能をベースに記載されている。

Nov 23, 2021 - 4 minute read - Comments - aws

AWS Athenaでドットが含まれたJSONキーをパースする

ググっても答えがほとんど見つからなかったのでメモしておく。

Oct 25, 2021 - 5 minute read - Comments - go

[Go] JSONを構造体にマッピングしつつ生データを保存するUnmarshalJSONの実装方法

GoではJSONを扱うときでもしっかり型定義に当てはめて利用するのが一般的だ。
しかし、外部から受け取ったJSONデータは型に当てはめつつ併せて生データも保存しておきたいときがある。
Defind Typeをうまく使うとシンプルなUnmarshalJSON(data []byte)メソッドを定義できる。

type Event struct {
    ID   string          `json:"id"`
    Type string          `json:"type"`
    Payload Payload      `json:"pyload"`
    // 構造体にマッピングする前のJSONを保存しておきたい
    Raw  json.RawMessage `json:"-"`
}

Sep 13, 2021 - 5 minute read - Comments - go

[Go] 前方互換性を保ちながらhttp.DefaultTransportからチューニングしたhttp.Transportをつくる

@dice_zuさんからhttp.DefaultTransportの正しい(?)コピーのやり方を教えてもらったのでメモしておく。
結論から言うとhttp.DefaultTransport変数にたいしてnet/http#Transport.Cloneメソッドを使うと良い。 これなら新しいGoのバージョンでhttp.Transportに新しいフィールドが追加されても問題ない。

https://pkg.go.dev/net/http#Transport.Clone

Aug 31, 2021 - 8 minute read - Comments - review

[書評] 早く正しく決める技術

毎日の中で迷いがあったり下した決断で不安になったりすることがあるので手にとった。
決断力の育て方だけでなく、直感力の重要性など多くの学びがある本だった。