• 2025-02-25の日報

    2025年2月25日

    定期的に箱庭ゲームをやりたくなるのだけど、最近それが来ている。 無限に凝れるのでこの手のゲームってプログラミングやってる人種と相性が良すぎる。

    やりすぎないように気を付けたい...

    今日やったこと

    Emacs

    選択範囲を伏せ字にするやつを書いていた。 案外ウケたのでこのブログで使ってみようかなと思った。

    devenv

    devenv run taskを使うとタスクランナー的なものが実現できる。 ドキュメントを読む限りだとpackage属性に任意のパッケージを指定すると、タスクがそのパッケージのスクリプトとして解釈される。

    つまり、packageにpythonのderivationを指定すればexecに直接Pythonスクリプトを記述してタスクを定義できる。

    しかし試したところ解釈される言語はBashのままでエラーが発生してしまう。

    このエラーは他のユーザーでも確認されていてissueが存在する。

    エラーが発生している原因は恐らくこのあたりにあるので調査してみたい。


    devenvはflakeやflake-partsを用いて使用する方法と、devenv.nixを作成してそこでdevshellを定義して使用する2つの方法がある。

    通常は後者なのだけど、僕はflake-partsユーザーなので前者の方法をメインに使用する方法を模索していた。 結果、後者の方法の方が良いという結論になったのでこれからは後者の方法を使っていこうと思っている。

    一応flake-partsを使ってもdevshell内でdevenvは使える(自動でインストールされるため)のだけど、 このdevenvはサブセットなのでtasks等一部の機能は使えない。

    せっかくdevenvを使っているのならフルスペックのdevenvを使いたいので後者を使う事にした。

    とはいえ前者の方法はdevenvを導入していなくとも使えるという利点があるので、 通常のflakeテンプレートは前者を採用して、devenv専用のテンプレートには後者を採用することにした。

    devenvは言語のバージョンを細かく指定できたりと色々便利なので、これが良い落とし所かなぁと思っている。

    ASP.NET

    ASP.NETを触っていた。

    まずASP.NETとASP.NET Coreの違いがよく分からず混乱していた。

    どうやらCoreの方が後継らしいため公式でもASP.NETをCoreの方の意味で使っていたりする。 ただ初心者からすると単純に混乱するだけなのでなんとかして欲しい気持ちがある。

    とりあえず雑にControllerとViewを追加したりしていた。 ルーティングとかどうするんだろうと思っていたけれど、なんか自動的にルーティングされてビックリした。 これが「設計より規約」の力か...

    あとC#はもちろんEmacsで書いてるのだけど、その際使ったdotnet.elに色々不満があるので自前で書き直したい気持ちがある。

    明日以降やりたいこと

    ASP.NETとか色々やっていきたい。 dotnetと言えばLINQだと思うのでそれも触れたら良いよなぁって思っている。


    ko-fi ☕GitHub Sponsors 🐙