00:13:33 @azyobuzin@mstdn.maud.io
icon

インターネットのどこかで Jekyll してるんですけど、とりあえず Minima テンプレートでって思ってたのに結局こうなるので、もう static site generator と向き合いたくない

Attach image
00:38:35 @azyobuzin@mstdn.maud.io
icon

Fossil と SQLite のセルフホスティングの関係めっちゃ好き

00:43:56 @azyobuzin@mstdn.maud.io
icon

きれいな URL、きれいである利点が URL の存在を認識できている人にとってきれいであることしかない

00:49:06 @azyobuzin@mstdn.maud.io
2020-03-26 00:47:06 らりお・ザ・何らかの🈗然㊌ソムリエの投稿 lo48576@mastodon.cardina1.red
icon

クエリパラメータで ID を渡すの、見た目がどうとかいうクッソどうでもいい問題ではなく、主となるリソースがどれなのか文法からわからない (かつ従属するパラメータと順序が入れ替わりうる) ところがプログラムからの扱いやすさ的に微妙

00:49:36 @azyobuzin@mstdn.maud.io
icon

どうせコントローラは id って名前の引数で受けるし、クエリパラメータで来ても困らないなぁ。むしろクライアント側の URL 組み立てだるいなぁという気持ちがある

00:51:42 @azyobuzin@mstdn.maud.io
2020-03-26 00:50:46 らりお・ザ・何らかの🈗然㊌ソムリエの投稿 lo48576@mastodon.cardina1.red
icon

まあそのあたりは REST 的な世界観を採用するか RPC 的な世界観を採用するかみたいなおなじみのコンフリクトがあるので立場によりそう

00:51:48 @azyobuzin@mstdn.maud.io
icon

はっ RESTful がガチ嫌いをやってるからこの発想になっちゃうのか

00:53:01 @azyobuzin@mstdn.maud.io
icon

すぐ、うるせーそのユースケースを無理くりリソース名として表すくらいなら、さっさと RPC 的にしろって毎回言ってしまう

00:55:03 @azyobuzin@mstdn.maud.io
icon

ASP .NET MVC からやってきているので、 URL の一部でもクエリパラメータでもどっちでも引数に突っ込まれる世界で生きてました

00:59:28 @azyobuzin@mstdn.maud.io
icon

環境変数に突っ込まれる CGI はガチやばいし、 Rails で permit せずに ActiveRecord に突っ込むのもガチやばいが、通常 permit するし、 ASP .NET MVC の場合はそもそも名前だけじゃなくて名前 + 型 + バリデータなので、また話が違う

01:08:50 @azyobuzin@mstdn.maud.io
icon

連想配列といわれると、一切のバリデーションをフレームワークが提供しないというイメージを与えるんだけど、それだとクエリパラメータに対する検証部分はフレームワークはサポートするなってこと? それこそ安全じゃなさすぎない?

01:12:50 @azyobuzin@mstdn.maud.io
icon

あっ、「高々連想配列」って「直接展開」への対比だから、直接展開されない場所って連想配列を与える以外にないじゃんって意味ね、なるほどね

01:49:37 @azyobuzin@mstdn.maud.io
icon

Go は無限にメタデータ持ってるので、お前本当にネイティブコンパイルされてるのかってくらいリフレクションできるぞ

01:56:58 @azyobuzin@mstdn.maud.io
icon

Go、 JSON シリアライザの例を見てもらうのがわかりやすいんですけど、構造体のフィールドに対して何ともいえないメタデータを持たせられるところが、何ともいえない気持ちになるポイントです

02:39:12 @azyobuzin@mstdn.maud.io
icon

Rust → C++ の順でやった(やったとは言ってない)人間なので、 std::move について Rust の挙動から理解した

02:51:15 @azyobuzin@mstdn.maud.io
icon

String, Rc<String>, Arc<String> のいずれかを受け取り、 dyn Any として保持し、ダウンキャストして使う(?)(Any のパフォーマンス知らない)

02:56:06 @azyobuzin@mstdn.maud.io
icon

冷静に考えた結果、 enum でよかった

02:57:01 @azyobuzin@mstdn.maud.io
icon

てなわけで、 Cow の Arc 版作れば、 String 複製問題が解決するな?

02:58:33 @azyobuzin@mstdn.maud.io
icon

Cow<str> のライフタイムパラメータを 'static にすると、少なくとも定数をヒープにコピーせずに使えて便利

03:08:17 @azyobuzin@mstdn.maud.io
icon

どうせタグに 8 バイト割り当てられるしぱーっと
Owned
'static
Arc
Rc
を用意しちゃおうぜ

Rc なし版の Sync 付きを用意して、 Into で変換できれば文句なし