天久鷹央の推理カルテを見た。
原作者さんが医者なのもあって、病院の描写が丁寧なのが作品に没入感を与えてるなぁ〜なんて思った。 それぞれの事件が1話〜2話で完結していくので見やすい構成になってるのも良いなと。
今日やったこと
WSL
WSL環境にdppを導入してNeovimの設定を構築できたので、とりあえず本来の目的は達成できた。
なのでEmacsも使えないか試してみたくなったのでやっていた。 Nixのお陰でemacs-gitをビルドしたりして、無事動かすことができた。 ただ、remap等が有効になっていないのでとても使いづらい...
Nix
home-managerの変更が適用されない事に気が付いたので、問題の解決に当たっていた。
ファイルのリンクを貼る過程で既に存在しているファイルにリンクを貼ろうとしてたので、そのファイルを削除したらあっさり解決できた。
Nixのエラーに引っ掛からなかったのでまさかそんな理由だとは思わなかった。 Nixでも使ってくうちに秘孔を突くことがあるんだなと思ったので、今後は気を付けていきたい。
Vlang
V言語の記事を書こうと思って色々試していた。
Nixのサポートが薄いので環境構築に苦労した。 あとなんか地味に細かい挙動がバグっている?のが気になるところ。
とりあえずWebサーバーでも書いてみようと色々調べてみたのだけど、vwebとvebの2つの実装があって混乱していた。 vebが最新の実装らしいので、それを使って実装していた。
コンパイルが速いと聞いていたけど、簡単なサーバーをコンパイルすると30秒くらいかかる。
❯ time v ./src/main.v
________________________________________________________
Executed in 28.16 secs fish external
usr time 27.32 secs 311.00 micros 27.32 secs
sys time 0.58 secs 104.00 micros 0.58 secs
コンパイラにtinyccを使っていないからだと思ったけど、簡単なFizzBuzzでも思ったより時間がかかる1ので単純にコンパイル速度が遅いってことなのかな... Cへの変換速度も含めて調べていきたい。
❯ time v ./src/fizzbuzz.v
________________________________________________________
Executed in 4.66 secs fish external
usr time 4.49 secs 261.00 micros 4.49 secs
sys time 0.17 secs 145.00 micros 0.17 secs
書いたプログラム。
fn main() {
for i in 1..30 {
println(fizzbuzz(i))
}
}
fn fizzbuzz(n int) string {
return match n % 15 {
0 { "FizzBuzz" }
3 { "Fizz" }
5 { "Buzz" }
else { n.str() }
}
}
明日以降やりたいこと
久々にESP32とかやっていきたい。
脚注
このくらいなら一瞬で終わって欲しいところ。 ↩︎