bouzuya.hatenablog.com

ぼうずやのにっき

2021-W13 ふりかえり

2021-W13 をふりかえる。

2021-W13 の目標 とその記事

目標。

  • [ ] bbn-redux 0.3.0 をつくる

記事。

つくったもの

(なし)

非公開分で week, date-range の小さいスクリプトを書いている。

よんだもの

(なし)

みたもの

その他

勉強会。なし。

おでかけ。花見 (2021-04-03) 。

ゲーム。リングフィットアドベンチャー ワールド 37 。スーパーマリオギャラクシー スター 90 個。

買い物。子どものバスタオル。

体調。なぜか疲れている。

育児。育児休業に入った。子どもがぼくのバスタオルを使いたがるので子ども用にバスタオルを買った。前から子ども用のバスタオルはあったのだけど硬くて肌触りの悪いものだった。変えてみたところそれを使うようになってぼくのバスタオルが戻ってきた。


育児休業に入った。子どもの保育所の進級もあってバタついていた。安定していない。保育所に預けられる時間が短くなったことで上の子の世話をする時間も増えている。そのせいなのか疲れている。

Wii U を片付けた。バーチャルコンソールは惜しい気もするけどどうせ遊ぶ時間がないので。

ふりかえりの書く頻度を変えてみようと思っている (2021-04-03) 。

目標に対して取り組む時間がほとんどない。なぜだろう。

2021-W14 の目標

  • bbn-redux 0.3.0 をつくる

week 0.2.0 をつくった / 月を捨てることにした

week 0.2.0 をつくった。 2021-04-01 につくったもののバージョンアップにあたる。 2021-04-01 で書いていた date-to-week に相当するコマンドへと仕様を変えた。

week は指定した日の属する週を返すコマンド。

$ week 2021-01-03
2020-W53
$ week 2021-01-04
2021-W01

deno で動くスクリプトとして実装した。

ソースコードは公開していない。


月を捨てることにした。

ここ数日で書いたスクリプトに関連して。 date-range (2021-04-02) を <start>/<duration><duration>/<end> に対応しようかと ISO 8601 (JIS X 0301) の duration (P...) を見ていた。そうしたら P1YP1M などの指す期間が何日に相当するのかはっきりしないことに気づいた。

もうできるだけ月や年などの単位を避けるのが良いように思えてきた。

思い返せば毎月のふりかえりを各月の最終日に書いていて週末とは限らなくてしっくりきていなかった。月の区切りが 28 〜 31 日で日数にばらつきがあるので定期的なものにならないからだ。そこで厳密な月の区切りとは一致しないけど 4 週ごとに月のふりかえりを書こうと思っている。たとえば 2021-01 (2021-W01/2021-W04) にして 2021-W04-7 に 2021-01 が終わったものとして書けばいいのではないかと。こうすることで月がきっちり 4 週間の区切りになる。

13 の倍数週に四半期のふりかえりを挟めば月との誤差が小さくて済みそうだ。

一覧にしてみた。今月から試してみよう。

  • YYYY-W01 YYYY-W01 ふりかえり
  • YYYY-W02 YYYY-W02 ふりかえり
  • YYYY-W03 YYYY-W03 ふりかえり
  • YYYY-W04 YYYY-W04 & YYYY-01 (YYYY-W01/YYYY-W04) ふりかえり
  • YYYY-W05 YYYY-W05 ふりかえり
  • YYYY-W06 YYYY-W06 ふりかえり
  • YYYY-W07 YYYY-W07 ふりかえり
  • YYYY-W08 YYYY-W08 & YYYY-02 (YYYY-W05/YYYY-W08) ふりかえり
  • YYYY-W09 YYYY-W09 ふりかえり
  • YYYY-W10 YYYY-W10 ふりかえり
  • YYYY-W11 YYYY-W11 ふりかえり
  • YYYY-W12 YYYY-W12 & YYYY-03 (YYYY-W09/YYYY-W12) ふりかえり
  • YYYY-W13 YYYY-W13 & YYYY-Q1 (YYYY-W01/YYYY-W13) ふりかえり
  • YYYY-W14 YYYY-W14 ふりかえり
  • YYYY-W15 YYYY-W15 ふりかえり
  • YYYY-W16 YYYY-W16 ふりかえり
  • YYYY-W17 YYYY-W17 & YYYY-04 (YYYY-W14/YYYY-W17) ふりかえり
  • YYYY-W18 YYYY-W18 ふりかえり
  • YYYY-W19 YYYY-W19 ふりかえり
  • YYYY-W20 YYYY-W20 ふりかえり
  • YYYY-W21 YYYY-W21 & YYYY-05 (YYYY-W18/YYYY-W21) ふりかえり
  • YYYY-W22 YYYY-W22 ふりかえり
  • YYYY-W23 YYYY-W23 ふりかえり
  • YYYY-W24 YYYY-W24 ふりかえり
  • YYYY-W25 YYYY-W25 & YYYY-06 (YYYY-W22/YYYY-W25) ふりかえり
  • YYYY-W26 YYYY-W26 & YYYY-Q2 (YYYY-W14/YYYY-W26) ふりかえり
  • YYYY-W27 YYYY-W27 ふりかえり
  • YYYY-W28 YYYY-W28 ふりかえり
  • YYYY-W29 YYYY-W29 ふりかえり
  • YYYY-W30 YYYY-W30 & YYYY-07 (YYYY-W27/YYYY-W30) ふりかえり
  • YYYY-W31 YYYY-W31 ふりかえり
  • YYYY-W32 YYYY-W32 ふりかえり
  • YYYY-W33 YYYY-W33 ふりかえり
  • YYYY-W34 YYYY-W34 & YYYY-08 (YYYY-W31/YYYY-W34) ふりかえり
  • YYYY-W35 YYYY-W35 ふりかえり
  • YYYY-W36 YYYY-W36 ふりかえり
  • YYYY-W37 YYYY-W37 ふりかえり
  • YYYY-W38 YYYY-W38 & YYYY-09 (YYYY-W35/YYYY-W38) ふりかえり
  • YYYY-W39 YYYY-W39 & YYYY-Q3 (YYYY-W27/YYYY-W39) ふりかえり
  • YYYY-W40 YYYY-W40 ふりかえり
  • YYYY-W41 YYYY-W41 ふりかえり
  • YYYY-W42 YYYY-W42 ふりかえり
  • YYYY-W43 YYYY-W43 & YYYY-10 (YYYY-W40/YYYY-W43) ふりかえり
  • YYYY-W44 YYYY-W44 ふりかえり
  • YYYY-W45 YYYY-W45 ふりかえり
  • YYYY-W46 YYYY-W46 ふりかえり
  • YYYY-W47 YYYY-W47 & YYYY-11 (YYYY-W44/YYYY-W47) ふりかえり
  • YYYY-W48 YYYY-W48 ふりかえり
  • YYYY-W49 YYYY-W49 ふりかえり
  • YYYY-W50 YYYY-W50 ふりかえり
  • YYYY-W51 YYYY-W51 & YYYY-12 (YYYY-W48/YYYY-W51) ふりかえり
  • YYYY-W52 YYYY-W52 & YYYY-Q4 (YYYY-W40/YYYY-W52) & YYYY (YYYY-W01/YYYY-W52) ふりかえり

コロナではあるものの親戚で花見へ行くことになった。

子どもを連れて出かけた。下の子のはじめての外出が長時間で心配だった。無事に済んだ。

ぼくのほうが日にあたって疲れている。


今日のコミット

date-range 0.1.0 をつくった

date-range 0.1.0 をつくった。

date-range は指定した期間を開始日・終了日の組に変換して表示するコマンド。

$ date-range 2021-01-04 # --format date
2021-01-04/2021-01-04
$ date-range 2021-01 # --format month
2021-01-01/2021-01-31
$ date-range 2021 # --format year
2021-01-01/2021-12-31
$ date-range 2021-W01-1 # --format week-date
2021-01-04/2021-01-04
$ date-range 2021-W01 # --format week
2021-01-04/2021-01-10
$ date-range --format week-year 2021
2021-01-04/2022-01-02
$ date-range 2021-Q1 # --format quarter
2021-01-01/2021-03-31
$ date-range --first 2021-Q1
2021-01-01
$ date-range --last 2021-Q1
2021-03-31

おおむね昨日 (2021-04-01) の week 0.1.0 と同じようなもの。最終的な結果が週から日になったもの。昨日の思いつきを実装したもの。

deno で動くスクリプトとして書いた。

ソースコードは公開していない。


子どもの世話をしている。どうも熟睡してくれない。不定期に起きる。上の子もこうだったかな……。


今日のコミット

week 0.1.0 をつくった

昨日 (2021-03-31) は week 0.1.0 をつくった。

week は指定した期間を週に変換して表示するコマンド。 deno で動くスクリプトとして実装している。

$ week 2021-W01-1
2021-W01
$ week 2021-01-04
2021-W01
$ week 2021-W01
2021-W01
$ week 2021-03
2021-W09/2021-W13
$ week --first 2021-03
2021-W09
$ week --last 2021-03
2021-W13
$ week 2021-Q1
2020-W53/2021-W13
$ week --first 2021-Q1
2020-W53
$ week --last 2021-Q1
2021-W13

current (2021-03-29) と組み合わせて使おうと思っていた。

つくる途中で気づいたことには ↓ のようなコマンドをそれぞれつくって組み合わせたほうが良さそう。

  • date-range …… 日での期間を返すコマンド。例: date-range 2021-Q1 #=> 2021-01-01/2021-03-31
  • date-to-week …… 日の属する週を返すコマンド。例: date-to-week 2021-01-01 #=> 2020-W53

ソースコードは公開していない。


今日から育児休業に入った。


今日のコミット

2021-03 ふりかえり

2021-03 をふりかえる。

2021-03 の目標

週別のふりかえり

つくったもの

非公開分

よんだもの

みたもの

その他

勉強会。なし。

おでかけ。なし。

ゲーム。

買い物。

  • センサーライト
  • カーテンレール (2021-03-06)

体調。頭や首など調子の悪いタイミングがあった。

育児。

上の子。

  • ボタンのつけはずしができる
  • いくつかの服を着ることができる

下の子。

  • 寝ている
  • 泣いている
  • ときどき目で追う

2021-03 はどんな月だっただろう。

妻が実家から戻ってきて下の子が加わって騒々しい。

ひどい頭痛だったり首をひねったりと体調の悪いときがあった。

bbn-redux 0.1.0, 0.2.0 をつくった。https://bouzuya.net/sandbox/bbn-redux/index.html 。 React Router のドキュメントを読んだ (2021-03-21) 。

『 OKR 』『 THE VISION 』『 HIGH OUTPUT MANAGEMENT 』と読んでいる。 2021-02-09 などで買った Rust 本のうち『 Rust ではじめる TCP 自作入門』と『プログラミング言語 Rust 入門』を読んだ。

AtCoder は Highest を 1166 まで更新した。毎日の問題を解く習慣を続けている。問題集にも取り組みはじめた。続かない気がしたのであまり書いていないのだけど……。

就寝前 30 分くらいはスマホやパソコンなどから離れている。その時間に前述の問題集の問題を解いたり紙の本を読んでいる。

2021-04 の目標

Kotlin で Spring Boot の @ConfigurationProperties を試している

Spring Boot の @ConfigurationProperties を試している。 Kotlin で。

@ConfigurationProperties@ConstructorBinding をつけた data class を定義しておく。

@ConfigurationProperties(prefix = "bouzuya")
@ConstructorBinding
data class Klass(val foo: String)

それを適当な @Configuration のついたクラスで @EnableConfigurationProperties(Klass::class) で有効にする。

@Configuration
@EnableConfigurationProperties(Klass::class)
class FooConfiguration(
  private val klass: Klass
) {
  // ...
}

application.yml などの設定を読み込める。

# application.yml
bouzuya:
  foo: "bar"

@Value などで気まぐれに読むこともできるけどグニャグニャした感じになるので嫌い。設定にも型がほしい。

kapt("org.springframework.boot:spring-boot-configuration-processor") を設定して ./gradlew kaptKotlin などで Configuration Metadata を生成すれば application.yml の編集時に検査もできる。面倒くさいし IntelliJ のサポートが中途半端な感じがする (ぼくの設定がおかしいだけかもしれない) 。

たぶん動く。どう動いているのかは詳しく知らない。 Spring を雰囲気で使っている。嫌い。


今日のコミット


お腹が痛い。