週記 2022/01/17~2022/01/23

2022/01/17

14時ごろに起きる。

友人とFortniteをする。プレイ中に映像設定をいじったら、画面の解像度が激落ちして、画面が曇ったような感じになってしまった。

ゲームやPCを再起動しても元に戻らず、どうしたものかと思い、もう一度映像設定を見てみたら、3D解像度とやらが低めに設定されていて、これを上げたら元に戻った。いじったら記憶は無いけど、前の時に変えちゃったんだろうな…

金曜日に失くした財布がまだ見つからない。ICOCAを使いたいので、そろそろ本腰を入れて捜索しないといけない…

2022/01/18

16時頃に起きる。

目覚まし時計の電池が弱っているからか、時間を表示する液晶がかなり薄くなっている。正面からだとほぼ読めないので、手持ちで角度を調整しないと時間がわからないのだけど、いまいち電池交換に踏み切る気にならない…

久々に単身Splatoonをする。21時から24時までやって、その後はPCをちょっといじったりして寝た。

Rustで早いプログラムを書こう的な記事を読む。

Rust Optimization.md · GitHub

nnethercote.github.io

財布がまだ見つからない…

2022/01/19

12時ごろに起きる。

先週の金曜日から探していた財布を発見!部屋の隅とかを探し回っていたけど、ふといつもの鞄の中を見たら、あるじゃあないか!!。灯台下暗しはこういう事ね…

電車に乗るので、ICOCAを改札にかざす。残高37円…。

電車のルートを変えてから、なんだか残高の減りが早いと思い、往復の運賃を計算してみると、500円を超えていた。普段1000円づつICOCAにチャージしているので、これだと1チャージで1往復しかできない…(大金をチャージしろ!)

“画像の知覚ハッシュを貯めて検索するやつ”をいじる。元々全部1ファイルに書いていたのを、構造体を定義するファイルと、構造体の(デ)シリアライズ処理が書いてあるファイルに分割したりした。

TwitterでWordleが流行っているので、自分もプレイしてみた。ルールがよく分からないまま、今日の分(?)が終わってしまった。ぐぬぬ

2022/01/20

16時ごろに起きる。

ふと外を見たら、結構な雪が降っていた。これから出かけるというのに、ちょっと困るなあ…。

用事を済ませて家に帰ろうとすると、行きよりも多めに雪が降っていた。ビットレートを上げないとブロックノイズで大変になる感じ。

“画像の知覚ハッシュを貯めて検索するやつ”をいじる。ライブラリは小さい方が良いだろうという事で、並列処理とか、(デ)シリアライズ処理を含めるかを任意にしてみた。

(デ)シリアライズ処理を分割する際に気が付いたけど、Rustはマクロとトレイトが別の名前空間に配置されるので、serdederivefeatureを付けても(De)Serialize(トレイト)は上書きされないぽい。

qiita.com

Windows Performance Analyzer(WPA)でWindows Performance Recorder(WPR)で計測したデータを見てみようという事で、色々触ってみた。

WPAのアイコンが好きで第一印象は良かったけど、シンボルの読み込みがクッソ遅くて、1時間放置しても終わらなかったので嫌いになった。

2022/01/21

15時ごろに起きる。

一旦朝ごろに意識が復活したけど、時計を見てまだ寝たくなり二度寝(???)。

ミスタードーナツを入手。ソーダ味のポンデリングが美味しい。水色のソーダ的なものがかかっていて、初見だと警戒してしまうけど、食べてみるとすぐ気に入った。

良い椅子が欲しい。首まで背もたれがあってキャスターで「シャー!」と移動できるやつ。まず部屋の片付けをしないといけないので、開拓はまだ先になりそう…

友人とSplatoonをする。スプラシューターを使ってみた。リーグマッチで久しぶりにブロンズに入った(最大1800)。

わかばみたいにポンポンボムを投げたいけど、なかなか難しい…こういうのはギアで補うのが正しいと思うけど、Splatoon2のギアパワーを殆ど知らないのでどういうギアパワーを付ければ良いのか…

Windowsでプロファイリングしたいけど、なかなか上手くいかない。perf on WSL2は微妙だしWPR/WPAはシンボル読み込みが遅いし…どうしたものか…

ぽちぽちPCをいじっていると、九州と四国の間 あたりの地震でJQuake(地震情報を教えてくれる常駐ソフト)が緊急地震速報の通知を出してきてびっくり。音量設定を間違えていて大音量で警報音が鳴ってしまった。耳壊れる

初めてJQuakeで緊急地震速報(警報)を見たので、こんな感じなのかという予習(?)になった。

2022/01/22

15時ごろに起きる。

Brainfuckの処理系を作りたくなった。AtCoderでたまに見る言語というイメージだったけど、言語仕様が簡潔(すぎる)なので処理系初心者に人気らしい。

ja.wikipedia.org

とりあえず、Brainfuckのコードをパースする処理を書いてみる。コード→トークンはそのままなので簡単だけど、それを扱いやすいように変換する(高級言語だとAST的なやつ)のが難しい。

Whileの入れ子再帰関数で処理してみたけど、いろいろ試行錯誤するうちに何故動いているのかよく分からない状態に…

2022/01/23

16時ごろに起きる。

Brainfuckの処理系を書く。昨日書いた処理が案の定バグだらけで、半分くらい書き直すことになった。

パース処理がいい感じになってきたので、それを使ったインタープリンターを書いてみた。以前書いた別のインタープリンターと比べると若干遅いような…。コードを実行する手法が違うので、そういうアレなんだな(語彙力)。

複雑な処理にはテストコードが大事という事で、諸々のテストコードを書いて周る。テストを書く過程でバグが見つかったりして、「テストコード大事だ〜」となった。

せっかくなのでカバレッジを知りたくなり、cargo-tarpaulinを使ってみる。

Linux環境でしか使えないので、WSL内にインストール…と思ったけどcrateのダウンロードが一向に終わらない…

ググってみると、同じような問題にハマっている人が何人か居て、「これをしたら直るぜ!」的なものをそのまましたら直った。(?)

ABC256に出る。C問題までの3完で、全体2044位。

f:id:hotate29:20220124023349j:plain

A問題

問題文通りに実装する。Pythonのstrはイミュータブルなので、list(input())で入力を受け取ると良き。

B問題

それぞれの出現回数をカウントして、3回出現しているものを出力する。

C問題

急行列車が止まる駅をsetに入れておいて、各駅がsetに含まれているかを判定する。C問題にしては簡単?

D問題、なにもわからない…