項目 | 内容 | 得点 |
---|---|---|
睡眠時間 | 6時間39分 | 86 |
起床 | 7:47 | 100 |
散歩 | 実施・ゴミ拾いなし・犬遭遇3匹(プープーパピ?) | 130 |
朝食の栄養カバレッジ | 3色カバー | 100 |
体操 | 実施 | 100 |
労働 | した・passion: 75点, discipline: 85点 | 80 |
ジム | 休養日 | 100 |
勉強会 | 参加 | 100 |
個人開発 | 実施 | 100 |
あすけん | - | 22 |
総合 | 1日の総合評価 | 88 |
今日はよく眠れた。そのせいか労働は特に気合が入っていたというわけでもないが自然体でスムーズによく進んだ。そうそう、これが僕の本当の能力よ。
いい気分になったのでお菓子を大量に食べてしまった。すまん、あすけん女。
イーサネットフレーム
個人開発ではパケットキャプチャを進めた。久々にRustのBoxやdynのことを思い出していた。Rustはコンパイル時にあらゆるデータのサイズが決まらなくてはいけないので、関数の返り値としてトレイトを返すことは原則できない。なぜならトレイトはその実装ごとに型とサイズが違うからだ。しかしその返り値への参照を返すという作りにすれば参照のサイズは固定だから問題なく、その方法を使ってトレイトを返り値にするときに dyn traitname
と書くのだ。
まあなんか書くときの感覚よりもメモリ管理のルールが優先されるのはいかにもRustだよね。
今日は生のイーサネットフレームを得るところまで成功した。 u8[]
で得られたのでそのままGeminiに放り込んでみたら普通にパースできてすごい。
フロントエンドDDDの記事を読んで思うこと
そう言えば今日は フロントエンドDDD という記事を読んだ。クラスなりなんなりで豊かなデータ構造を作ってそこにドメインロジックを集約するという考え方はとても良く、業界でも重厚なフロント作っている方だと自認している私としてもぜひ見習いたい考え方だと思った。
一方でこの記事が改めて注目を集めるほどに珍しいのは、フロントエンドの世界はどうしてもバックエンドからの通信でシリアライズされてメソッドが消えたり、Reactベースの世界観になるとクラスの差分検出がめんどいというところもあったりする。『コア価値であるロジックがフロントエンドの技術変遷の影響を受けすぎない』で述べられていることを裏返せば、通信やフレームワークの事情先行で作っていくとプリミティブ中心に薄く薄く…ということになりがち。そういうところを上手く分離して丁寧に構築する作り方をしてもなおメリットが上回るような重いものを作っていて、難なくそれを扱えるチームの熟練度があってこそかなあと思う。
関連記事: https://panda-program.com/posts/clean-architecture-and-frontend
『生成AIの作業領域との分離』という切り口は考えたことがなかったが確かにその通りだ。賢い。