Skip to content

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で実行された。

リファクタリング

通らなくなっていたテストを通した。 バイナリものはパッと見でどこが違うかわかりにくいのが難点。。

リファクタリング

データ構造の変更と、それに関連する部分を修正。 テーブルのセルごとに読み込んで保持するようにした。 テストが通らなくなった。。 セル(小節)ごとに変換したら、ループとか現在のオクターブとか状態として持たせないといけないのか・・ちょっと、あまり、よくない気がする。

マークダウンパーサーを使ってみたが

やりたかったのは、hタグでセクションをブロック化して取り出して加工だったのだけど、 実際やってみて、hタグでブロック化はHTML的にも無理じゃんってなった。 結局自前でやっていくしかないのか。。 で、これをやっていて思いついたのが、今は読み捨てているテーブルのヘッダー部分をセクション代わりに使えないかなと Read more