Skip to content

Posts

Rust再入門

以前RustでHello Worldするのはやってたので、再入門。 The Rust Programming Language 日本語版 - The Rust Programming Language 日本語版を見ながら。 今回はcargoを使ってビルドするようにしてみた。 マニュアルだとcargo newで作成しているが、先にGitHubでリポジトリを作ってしまっていたので、cargo initを使っている。 $ curl --proto Read more

別言語で実装

大体やりたいことはやった感が出てきたので、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で実行された。

リファクタリング

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

リファクタリング

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