2021/12/20
14時ごろに起きる。
Lチキを食べる。ファミチキより唐揚げ寄りな感じで、うまい。
イオンに行くと、いつもYouTubeで観ている猫の本を見つけた。通販で買おうと思っていたけど、今買った方が楽だろという事でそのまま購入。
Clippyの色々指摘が入ったので、ポチポチ直す。
2021/12/21
14時ごろに起きる。
予定の30分前に起きてしまい、急いでレトルトカレーを食べる。
ファミリーマートに寄ると、骨つきのプレミアムチキンなる物を見つけた。チキンは昨日も食べたけど、まあ良いやと言う事で購入。結構でかいし、うまい。
2021/12/22
14時ごろに起きる。
pixivpyというPython製でPixivの内部APIを触れる非公式ライブラリがあって、これと同じようなものをRustで書きたくなった(仮称pixivrs)。前も同じようなやつを作ったけど、なんか変な感じになってしまったので、一度爆破して作り直す。
cargo watch
なる物を見つけた。ファイル変更を検知したらコマンドを走らせてくれて便利らしい。コードをフォーマットするように設定してしばらく使ってみたけど、今まさにコードを書いている時にフォーマットされたりして、どうも気持ち悪い…
フォーマットしたくなったら自分でフォーマッタを走らせる癖が既に付いていて、そんなに便利にならなかった。
2021/12/23
8時ごろに起きる。
朝から用事があったので、久しぶりに結構な早起きをした。
昼に帰ってきて、15時ごろから昼寝…3時間…!起きると完全に夜で、微妙な気持ちになりながら晩飯を食べる。
友人とMinecraftをする。と言っても自分はほとんど放置していた(やる事が無いので)。「経験値を安定供給したい!」という事になり、ブレイズトラップを作りたくなった。最近のMinecraftはすごいので、4年くらい前に主流だったピストンで落としていくやつも、そろそろ置き換えられているのではと思い、ググってみたけど全く進化しておらず…大量のピストンを作るのが面倒臭くなったので、計画は凍結に。
pixivrs(仮)を書く。本家pixivpyを読み替える感じ。Bearerトークンを挿入する関数を作っていたけど、使っているライブラリに元から備え付けられていたようで、微妙な気持ちに(公式ドキュメントはちゃんと読もう!)。
MinecraftとVSCodeを同時にいじっていると、ディスプレイのスペースが足りない感じがした。前PCで使っていたディスプレイを使おうと思ったけど、GPUにHDMIの空きが無くて断念。最近のPCはHDMIが少ないのね…
2021/12/24
10時ごろに起きる。
pixivrs(仮)を書く。あったなり無かったりするフィールドをOption<Hoge>
で受け取ろうとしたけど、パースに失敗して落ちてしまう。観察していると、値が存在したら{"hoge":"piyo"}
で、存在しなかったら{}
という感じで、存在しない場合の{}
が曲者ぽい。
多分、serde的には{}
は空のMapと同等で、存在するつもりでパースを進めてエラー…という感じなのかな。結局デシリアライズする関数を自分で書いて#[serde(deserialize_with="hoge")]
した。なんか微妙だけど、どうなんだろう。
ClippyのPRを書く。レビューで指摘されていた点を全部解決できたので、Pushして再度レビューをお願いしたらapproved(承認)された。やったね!!コミット履歴が散らかっていたので、最後にsquashする感じ、マージまでもう一息
2021/12/25
17時ごろに起きる。
圧倒的クリスマス…!
pixivrs(仮)を書く。ライブラリ側のエラーはちゃんと処理しているけど、WebAPI側のエラーを捕捉できない事に気が付いた。デシリアライズエラーとか言われても分からんので、ちゃんとしたエラー処理を作り始めた。
(APIの)エラーと成功したものを載せたenumを書いてみて、いい感じだったので採用(つまり独自Result)。実際にエラーを返す時、Result<ApiResult<T>, E>
のような型を返すとややこしいので、thiserrorで一つのError型にまとめてResult<T, E>
(E
にはhttpのエラーかPixiv側のエラーかの情報が載せてある)を返したい。
色々試した結果、JSONをまず独自Resultにデコードして、すぐに標準のResultに変換する形に落ち着いた。結構便利
AtCoder Beginner Contest 233に出る。一回開いて2週間ぶりのABC
A問題
引いて割るだけだけど、切り上げの処理でモタモタしてしまう…
B問題
文字列をスライスで切り出して結合する。スライスのインデックス処理が何も分からず、これもモタモタしてしまった。
C問題
制約を理解するのに時間がかかったけど、理解してからはそんなに時間がかからなかった。久しぶりに再帰関数を書いた気がしたけど、2週間前に前回のABCで書いているんだよな。一回出なかったらこんなになるの?
2021/12/26
16時頃に起きる。
友人とMinecraftをする。ブレイズトラップを作るためにスポナー周りを工事していたけど、途中で粘着ピストンに使うスライムボールが全く足りないことに気がついた。無計画が過ぎる
pixivrs(仮)書く元々の動機が、「ブックマークの中身をダウンロードしてくれるやつを作りたい!」という感じで、そのための部品が揃ってきたので書いてみたら、思ったより良い感じに動いた。
この日の日記を書いていないまま公開してしまう...早朝に公開していたので、寝ぼけて曜日を間違えたのかも。最近曜日感覚がぶっ壊れているので、なんとかしたい...