Posts
別言語で実装
大体やりたいことはやった感が出てきたので、go以外の言語で実装してみたいと思う。 やってることはテキスト変換なので、未知の言語の練習にもちょうどよいかと。 ということでRustでやってみる。 前二日間更新がなかったのは、ワクチン副作用でダウンしていたため。
テスト追加2
テストカバレッジを100%まであげた。 どうしてここ通らないんだろうってよく見たら変数名間違えていたバグだった。
テスト追加
MDMMLで関数分割してテスト反映してなかったりしていたのを追加。 パラメータゼロ値で呼んだら落ちたり思ったのと違う動きをしていたり。 テストもたまに見返すと面白い。
Ginkgoわかった
Ginkgoわからん - umemak の続編。 Itが上から順番に実行されない問題、V2で導入されたOrderedを使えば解決できそう。 https://onsi.github.io/ginkgo/#ordered-containers
Ginkgoわからん
MDMMLじゃない話。 https://onsi.github.io/ginkgo/ でテストを、 Describe(){ Context(){ // 準備 It(){ Expect() } // 次の準備 It(){ Expect() } // 後片付け } } みたいな感じで書いていたら、思った通りの動きにならなくてハマった。 どうやら、Contextの中は上から順番に実行されるのではなく、 Describe(){ Context(){ // 準備 // 次の準備 // 後片付け It(){ Expect() } It(){ Expect() } } } となるらしい。 やりたい順番で実行したければ Read more
MDMML CI構築
いまさらながらGitHub ActionsでCIを設定した。 Actionsのバージョン指定なしgoは1.15.15なんだね。もうじき1.18が出るのに。
crontabの範囲指定について
crontab、-で範囲指定ができるけれど、大小関係が逆だったらどうなるか気になったので調べてみた。 59-1 * * * * time こういうやつ。 dockerでalpine使って動かしたところ、想定通り59,0,1で実行された。
リファクタリング
通らなくなっていたテストを通した。 バイナリものはパッと見でどこが違うかわかりにくいのが難点。。
リファクタリング
データ構造の変更と、それに関連する部分を修正。 テーブルのセルごとに読み込んで保持するようにした。 テストが通らなくなった。。 セル(小節)ごとに変換したら、ループとか現在のオクターブとか状態として持たせないといけないのか・・ちょっと、あまり、よくない気がする。