• 2025-01-30の日報

    2025年1月30日

    天久鷹央の推理カルテを見た。

    原作者さんが医者なのもあって、病院の描写が丁寧なのが作品に没入感を与えてるなぁ〜なんて思った。 それぞれの事件が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とかやっていきたい。

    脚注

    1. このくらいなら一瞬で終わって欲しいところ。 ↩︎


    ko-fi ☕GitHub Sponsors 🐙