23:56:53 @kb10uy@mstdn.maud.io
icon

Now HomoChecker API Available on homo.hinanawi.net/ !

23:47:25 @kb10uy@mstdn.maud.io
icon

グラビティーウォーズじゃん

23:47:11 @kb10uy@mstdn.maud.io
2020-03-14 23:46:45 Posting ほた hota@mstdn.maud.io
icon

This account is not set to public on notestock.

23:10:51 @kb10uy@mstdn.maud.io
icon

なんとなく「ておくれ」かなと思ってデコードしたらておくれだった

23:10:36 @kb10uy@mstdn.maud.io
2020-03-14 23:06:52 Posting shibafu528 shibafu528@social.mikutter.hachune.net
icon

やったーメタデータ送信できた

Attach image
23:06:18 @kb10uy@mstdn.maud.io
icon

:ne:

Attach image
22:37:19 @kb10uy@mstdn.maud.io
icon

まずは docker イメ0ジをだな

22:37:03 @kb10uy@mstdn.maud.io
icon

せっかくなので homo.hinanawi.net あたりに配置しよう

22:36:28 @kb10uy@mstdn.maud.io
icon

まだデプロイしていない

22:36:20 @kb10uy@mstdn.maud.io
icon

いやなるほどねではないな

22:36:03 @kb10uy@mstdn.maud.io
icon

なるほどね

22:35:40 @kb10uy@mstdn.maud.io
icon

GitHub Actions のバッジ付けた

Attach image
22:30:36 @kb10uy@mstdn.maud.io
icon

🤦🏻‍♂️

22:06:38 @kb10uy@mstdn.maud.io
icon

KNISA の作業に戻るぞ

21:59:25 @kb10uy@mstdn.maud.io
icon

やっぱバッジだよな〜〜

21:57:19 @kb10uy@mstdn.maud.io
icon

本当は Well Tested を入れたかったけど 1 行たりともテストを書いてない :very_sad:

21:56:41 @kb10uy@mstdn.maud.io
icon

適度に胡散臭くなった :thatsright_bread:

Attach image
21:45:35 @kb10uy@mstdn.maud.io
icon

胡散臭い README.md でも書くか

21:42:20 @kb10uy@mstdn.maud.io
icon

宇都宮線の小金井以北もスマートドアじゃねえか

21:36:33 @kb10uy@mstdn.maud.io
icon

PHP 版は スラッシュ必須なのか……

21:35:50 @kb10uy@mstdn.maud.io
icon

動きが昭和な船長の話か!?

21:34:55 @kb10uy@mstdn.maud.io
icon

/check/
じゃなくて
/check
じゃないといけないみたいな

21:33:31 @kb10uy@mstdn.maud.io
icon

homochecker-rs 唯一再現できなかったところがあって、最後にスラッシュ付けられない

21:29:24 @kb10uy@mstdn.maud.io
icon

これラティスをプロポーショナル編集すればよくなりそう

21:29:04 @kb10uy@mstdn.maud.io
2020-03-14 21:28:20 Posting 体力自慢爆死お兄ちゃん(学生) Otakan951@mstdn.maud.io
icon

でもわけわからん

Attach image
21:26:58 @kb10uy@mstdn.maud.io
icon

リリースビルドを strip したら 7MB 弱になった

21:24:00 @kb10uy@mstdn.maud.io
icon

爆速ホモチェ、 PHP 版と勝負する以外用途があに

21:18:22 @kb10uy@mstdn.maud.io
icon

homochecker-rs 完成した

19:53:34 @kb10uy@mstdn.maud.io
icon

あとは List API と Badge API を実装すればほぼ完成

19:52:21 @kb10uy@mstdn.maud.io
icon

homochecker-rs の開発ディレクトリ、 2.7GB ぐらいあって草

18:26:26 @kb10uy@mstdn.maud.io
icon

よしキャッシュ機構できた

18:18:59 @kb10uy@mstdn.maud.io
icon

そんなことなかった、書き込み失敗してただけだ

18:12:52 @kb10uy@mstdn.maud.io
icon

Redis キャッシュ機構完成したけど露骨に遅くなったな

18:12:50 @kb10uy@mstdn.maud.io
icon

これすき

18:12:31 @kb10uy@mstdn.maud.io
2020-03-14 03:00:08 Posting sksat sksat@mstdn.maud.io
icon

This account is not set to public on notestock.

18:12:25 @kb10uy@mstdn.maud.io
2020-03-14 03:44:38 Posting sksat sksat@mstdn.maud.io
icon

This account is not set to public on notestock.

18:12:23 @kb10uy@mstdn.maud.io
2020-03-14 03:03:16 Posting sksat sksat@mstdn.maud.io
icon

This account is not set to public on notestock.

17:46:29 @kb10uy@mstdn.maud.io
icon

いや r2d2 はトレイト境界書くの死ぬほど面倒なんだよな……

17:46:13 @kb10uy@mstdn.maud.io
icon

それか block_in_place して r2d2 を使うかだな……

17:45:01 @kb10uy@mstdn.maud.io
icon

こんなことするぐらいなら大量に生成してえが

17:44:51 @kb10uy@mstdn.maud.io
icon

Arc<Mutex<redis::Connection>> マジ?

17:44:20 @kb10uy@mstdn.maud.io
icon

redis::connection って mut じゃないといけないのか

17:44:03 @kb10uy@mstdn.maud.io
icon

エ〜

15:59:07 @kb10uy@mstdn.maud.io
icon

やっぱ Notify 使わないとダメかなー

15:57:01 @kb10uy@mstdn.maud.io
icon

send が recv より先に終わってると終わってしまう

15:56:44 @kb10uy@mstdn.maud.io
icon

あ、 broadcast だとダメか

14:50:51 @kb10uy@mstdn.maud.io
icon

recv().await でブロックしてくれる watch って broadcast しかなさそう

14:41:49 @kb10uy@mstdn.maud.io
icon

tokio::sync::broadcast 、どこで T: Clone を要求してるんだ

14:41:26 @kb10uy@mstdn.maud.io
icon

んー

13:50:37 @kb10uy@mstdn.maud.io
icon

あ、Mutex じゃなくて RwLockか?

13:37:04 @kb10uy@mstdn.maud.io
icon

Emacs 拡張の YaTeX (野鳥) はネーミングがうまいよんr

13:36:34 @kb10uy@mstdn.maud.io
icon

同じユーザーに対してはキャッシュ引っぱってくるかリクエストが完了するまで待ってもらう仕組みを実装する

13:31:54 @kb10uy@mstdn.maud.io
icon

Notify をうまく使えばいけるかな?

13:26:26 @kb10uy@mstdn.maud.io
icon

今の実装だとアイコンがキャッシュに乗ってないときは複数登録されてる人は全部リクエストしにいっちゃうんだよな

13:24:24 @kb10uy@mstdn.maud.io
icon

これかなりすき

13:09:48 @kb10uy@mstdn.maud.io
icon

たべもの!?

12:13:44 @kb10uy@mstdn.maud.io
icon

Attach image
01:16:39 @kb10uy@mstdn.maud.io
icon

ひょっとしたら either で解決できる可能性があるけど into_a/b 地獄になりそうなので Box<dyn Reply>

01:15:40 @kb10uy@mstdn.maud.io
icon

500 Internal Server Error
のレスポンスと
200 OK / Content-Type: text/event-stream
のレスポンスと
200 OK / Content-Type: text/json
のレスポンスが全部別の型になる

01:13:53 @kb10uy@mstdn.maud.io
icon

せっかくゼロコスト抽象なので静的にできる部分はどんどん静的にやるわよ

01:13:31 @kb10uy@mstdn.maud.io
icon

これでも多少妥協していて、本当はここの Box<dyn Reply> (動的ディスパッチ) を impl Reply (静的ディスパッチ) にしたい
github.com/kb10uy/homochecker-

Web site image
homochecker-rs/action.rs at master · kb10uy/homochecker-rs
01:12:15 @kb10uy@mstdn.maud.io
icon

マクロでパス生成して引数まで割り当てるのは面白いね
github.com/kb10uy/homochecker-

01:10:50 @kb10uy@mstdn.maud.io
icon

あと Rust で Web API サーバーを書くときは毎回こういう感じで API のリクエスト・レスポンスの型を同じモジュールに置くようにしている
github.com/kb10uy/homochecker-