やたらawaitしてるコードに出会う
他人が作った業務システムの手直ししているとこんなコードに出会った。
string contents1 = await DoSomething1Async();
string contents2 = await DoSomething2Async();
string contents3 = await DoSomething3Async();
DoSomething*Async()を見るとasync
修飾子がついてて、それをawait
で受け止めてる形だ。
なんとなく非同期処理だなぁとは分かるが...恥ずかしながら「重い処理を実行するときにUIスレッドをブロックしないために使うアレね」ぐらいの認識。
これまでは「どうせ読み込み終わるまで次に進めないんだからUIなんてフリーズさせとけ!」の脳筋バカ思考だったので、ちょうどいい機会ということで勉強することに。
とりあえずasync/awaitだけでいい
↑にすべてが書いてある。
非同期にしたい関数の呼び出し元にawait
を付けて、呼び出し先の関数の戻り値をasync Task<T>
にする。基本これだけ。
Task.Run
とかWait
とかResult
要らんし使うな、ということらしい。
あとイベントハンドラのみ戻り値をasync void
に。その時はtry/catch
で例外をキャッチしよう。
まずこれを覚えた。
先日の事件もあり、Dellのプリインストールアプリを見直していた。
その中でDell SupportAssistという各種ドライバやBIOSを自動で更新してくれるアプリを起動してみたが、いくつかあるDell PCのうちメインPCだけ起動しない。
起動時に「再起動後に再度実行しろ」とエラーメッセージが出るが何度再起動してもダメ。
一度アンインストールしてみて再度インストールしようとしても途中でエラーが出て失敗。

だからPCの再起動は死ぬほどやったんだって...。どうすればええねん。
Windows11のDell PCを買ってから、USBメモリ上のExcelファイルを上書き保存すると.tmpがファイルが消されずに残り続けるようになった。
わりと既知の現象らしいが、これと言って明確な解決方法が見つからない。
そんななか、Yahoo!知恵袋に
msconfigから システムサービスを読み込む のチェックを外してOKを押して再起動する
と書いてあったためやってみたら、ログインが一切できなくなった。どうして。
前回の記事でマイクのノイキャン性能の高いワイヤレスイヤホンを探してみた。
約一年経って状況が変わってきたので【令和最新版】【2022年】バージョンをお届けする。
いきなり現れたダークホースElevoc Clear
色々なレビューを見ているとかなりイチオシされていたのがElevoc Clear。

マクアケというクラウドファンディングサービスで販売されていたようだが、今はもう販売終了している。値段は1万円少々。
公式ショップでは送料込み129ドルで販売されている。今1ドル136円なので1.7万円ぐらい。
海外通販でハードルが高くなっている上にこの価格差、ちょっと手が出にくい。
Xiaomi 11T Proを買った。

約1年前に買ったMi 11 Lite 5GはHuawei Bandとの相性が悪かったりバックグラウンドタスクがすぐ殺されたり苦労もあったが、それっぽい充電器を探したりMIUI13を満喫したり、一応満足はしていた。
が、やはりCPUもメモリも中途半端に足りずストレスもあった。
楽天モバイルの0円維持終了に伴いMNP転出先を探していたところ、IIJmioがXiaomi 11T Pro を3.5万円(事務手数料込み)で販売するということで即決。