asyncなawaitとJSONでHTTP

シングルスレッドで動くクローズなライブラリをC/C++で開発すること,これが昔から私が専ら行っている仕事です.マルチスレッドで動く外部デバイス連携のWPFアプリをC#で開発すること,これが今日から久しぶりに始めた仕事です.忘れていることやうろ覚えだったことが多々あり,細かいところでいろいろ詰まり,イライラです.MVVMは諦めてコードビハインドで行くとして,INVOKEとかラムダ式の書き方ってどうだったかしらと.加えて,恥ずかしながら今まで触れたことない技術も必要で,オロオロです.asyncもawaitもJSONもHTTPも,知識としてモヤモヤ知っているだけで,実際にコードに落とし込んだのは初めてかもしれません.結局,思っていた以上に進まず,思っていたところまでたどり着きませんでした.がんば.

Quick Response Code

提携のお買い物アプリへ配信されるクーポンで5%引きだよキャンペーンに乗ってみようと思いました.昨夏にスマホデビューしたばかりの私,ここいらでQRコード読み取りのスキルを身に付けようと思いました.

OS標準の何かで行けそうな気がしたので,いろいろ漁ってみたものの,それらしいのが見つかりませんでした.読み取るアプリを自作するほど暇じゃないので,ググったら,LINEの機能の使うのが楽みたい.LINEってば,もはや一アプリに留まらず,送金やら保険やらも始めて,徐々にインフラへも食い込んで来てますね,の一歩かと.

で,チラシに乗っていたQRコードを読み取りました.お買い物アプリのダウンロードサイトへ飛びました.散々な口コミが並んでいたので,そのままそっと閉じました.

外付HDDそろそろ

録り溜めたアニメやらアニソンバックアップやらのために確保している外付HDD,そろそろ残り容量が少なくなってきました.あと半年は大丈夫ですが,1年は無理そう.数えたところ,現在保有しているHDDは下表の13台,約5TBでした.

HDD名 容量 収録数 形態 備考
Anime01 500GB 80作品 内蔵(UATA)
Anime02 320GB 61作品 内蔵(UATA)
Anime03 320GB 49作品 外付(USB2.0)
Anime04 250GB 34作品 外付(USB2.0)
Anime05 250GB 32作品 外付(USB2.0)
Anime06 250GB 36作品 外付(USB2.0)
Anime07 250GB 40作品 外付(USB2.0)
Anime08 250GB 14作品 外付(USB2.0) 残164GB
Anime13-15 1.5TB 184作品 内蔵(SATA) 3パーティション
Movie01 320GB 121作品 内蔵(UATA) 残154GB
Movie03 120GB 100作品 内蔵(UATA)
2014年以前の写真 250GB 外付(USB2.0)
その他 250GB 外付(USB2.0) 残10GB

1枚のDVDに1クールが収まる画質で録っています.HDD名が跳んでいるのは,以前の40GBやら80GBといった小容量のHDDから移行・統合したためです.

なるべく粘ってから,容量単価最安のものを買う予定.1クールに1回程度しか使わないので,割安な内蔵HDDで良いかな.繋ぐときも,別に筐体を開くわけではなく,専用のキットで外のUSBポートに繋ぐ程度の手間だしな.と思う一方,やっぱり外付HDDの方が楽だなとも.とは言え,外付HDDだと保管場所を取るしなとも.

とりあえず,価格.comで現在の相場を調べてみました.最安の外付HDDは4TBで11,200円,内蔵HDDは4TBで8,300円でした.ボリュームゾーンはもう4TBの時代なんですね.

デスクトップPC

自宅で使っているWindows10のデスクトップPC.たまにシャットダウンに時間がかかることがあります.デフラグとか走っているんでしょうか.うっかり,シャットダウンが完了していないにもかかわらず,OAタップのスイッチで給電を断ってしまいました.どちらかというとやってはいけないタイミングでの切断です.

後日,OAタップのスイッチを入れると,途端に起動し始めました.そして,Office三兄弟がロストしていました.とりあえず再起動.が,やはりスタートメニューの指定席が空のままです.アプリと機能の機能でOfficeを修復したところ,生き返ってくれました.ヨカタ.

再発防止策はないか.「気を付ける」は再発防止策とは言えないと思います.となると,元電源を断たず,待機電力消費を甘受するしかないか.うーん.気を付けることにしよう.

無駄な買い物はしたくない

期間限定の割引券を行使するためスーパーへ.普通の特売日の他,別の期間限定割引券も最近,あったので,もう買うものありません.内祝の野菜ジュースも箱で頂いています.が,このまま期限切れはもったいないので,きっと消費は数箇月後ですが,ペットボトルの飲料など,鞄に入る程度に買いました.これでいいのだ.

プリントアウトと録り溜めアニメのリッピングのためだけに残してあるWindows Vista機.起動しない頻度が増えてきました.電源プラグを抜いてしばらく放置しても駄目.も何度もありました.ボタン電池交換か.型番何だったっけ.筐体を開いて確認.ついでに外して付けてみたら,起動するようになりました.電圧が下がると接触度合いも影響するでしょうしね.とりあえずいつ尽きても良いように,100円ショップで2個セットのボタン電池を買っておきました.帰宅後,仕舞っておくところを改めてほじってみたら,2個セット内の1個だけのが出てきました.まだあるのに買ってしまいました.これは無駄な買い物です.自然放電するので,ギリギリまで買いたくなかったのですが.

面白いけど面白くない

一応,主に画像処理のエンジニアを生業としております.Photoshopでやれそうなことやテンプレートマッチングなどをコードでゴリゴリ書くのはやれるのですが,新しいことには疎くていけません.画像処理エンジンのOpenCVですら殆んど触ったことがありません.ありものの使い方を調べるより,アフィン変換なり鮮鋭化なりの知ってるやり方をそのとおりコードに落とす方が楽.「具体的にはどんな処理やってるの?」と訊かれたときにバッチリ答えられるのが良い感じ.

最近の深層学習等のWebAPIもぼやっとしか知りません.それじゃいかんざき.専門家じゃなくてもわりと楽に扱える便利な箱,知らないと非専門家にどんどん追い抜かれ,おまんまの食い上げです.文字検出系の案件があったので,いろんなWebサービスを調べてみました.MicrosoftのAzure,GoogleのCloud,AmazonのWeb Service,IBMのWatson….結構なことのできるサービスが転がっていて,面白いです.でも,調査仕事なので面白くないです.コードをゴリゴリ書きたいの.

びすたたんごきげんななめ

HDD-DVDデッキに録り溜まっているシンカリオン,意を決してMPEGファイルとして取り出すことにしました.1クールやそこらを遡るなら良いですが,さすがに1月から始まって2.6クールが経っている番組を移行するのは大変です.いろんなところに落とし穴があります.録画中にはDVD-RAMへコピーできなかったり,リッピングに失敗したり,リッピング後のファイル分割に失敗したりします.それ以上に厄介なのが,PCがフリーズしたり,起動しなくなったりすること.経験上,給電を断った状態で,暫く放置しないと再起動できません.試しにしつこく強制電源断と電源投入を繰り返してみましたが,全然ブートシーケンスに入ってくれません.そんなこんなで,まだ1クール分しか移行できていません.明日も待ち時間をAnimage読みで潰しながら頑張ります.

後片付け

荷解き,洗濯,ゴミ捨てはちょいちょいの時間でやっつけられますが,撮った写真の整理には時間がかかります.今回の帰省で撮ったのは200枚強.2台のコンデジからPCへコピーするところから始まり,ボケブレなどで1割程度を除外し,あとは1枚ずつ,トリミングで構図を整えたり,露出を調整したり.面倒だけど楽しいので,プラマイゼロの作業です.最後,全部選んで現像開始ポチ.裏で現像させながら,今度はここ数日分の日記書き.現像が終わったら,ZIPして宅ふぁいる便で自分宛に送信.そして,コンタクトシートの形で出力したPDFを添付し,メールでダウンロードURLを家族へ送信.これにて一件落着.写真はね.日記書きもまとめてやると結構大変なのよね.ストレスなんだからやめちゃえばいいのに,やめられないんだからストレスなのよと.禅問答か.

連休5/9で帰省3/3

こっちの墓に参るとか参らないとか姪氏の機嫌がどうのこうのとかなんやかんやで結局,ずっと実家に籠っていました.外出は近所のスーパーに付き合ったくらい.気まぐれに土産の阿部蒲,買ってみました.勿体ない時間の使い方をしましたが,何かやれるわけでもなければやる気もないので,だらだらとTV観たり居眠りしたりしてました.贅沢.

そんなわけでここ数日,わりとワイドショーを観ているわけですが,山口県で祖父と兄と海へ行こうとして引き返して行方をくらました2歳になったばかりの男児が3日後に大分から馳せ参じたボランティアのスーパー爺ちゃんが裏山の沢で見つけたっつー話か,大阪府富田林署で弁護士と接見した拘留中の人がアクリル板を蹴破って赤い自転車で逃走したのに交番の人が暫らく気づかなかったっつー話か,赤字解消のため阿波踊りのトリの総踊りを止めて各会場に踊り手を分散させようとしたけど強行された挙句に有料会場のチケットの売れ行き不振だったりっつー話ばかり.

の渦中にいる阿波踊り実行委員長の市長が出演したバイキングをはじめ,今日観たのは,ビビットとか,すぎちゃんの松島旅番組とか,本当にあった怖い話の総集編とか,Oh! バンデスとか.宗さん,まだ元気なのね.と,帰省のたびに思っています.青葉城恋歌で全国区に名を知られたさとう宗幸氏,ローカル番組「Oh! バンデス」のMCとしてずっと頑張ってますから.

新品だけど不要だから捨てようかと思って連絡したところ欲しいと言ってくれたキーボード,持参してます.古いのと繋ぎ直して動作確認しました.PS/2接続なので,PC再起動するです.起動中,キーボードのランプが一瞬点灯するものの,起動後,キーが反応しません.NumLockキーを押してもランプが点きません.ドライバとかいろいろ調べましたが,お手上げ.初期不良品だったか.また持ち帰り,自宅Cで動作確認してみることにします.持ってくる前に面倒臭がらず素振りしときゃ良かったです.

夕食後,少しまったりしてからさようなら.義弟と一緒に父に駅まで送ってもらいました.向こうは自由席しか取れなかったみたい.結局,私と同じ新幹線に乗ったのか,定かではない.

VB

HDD-DVDデッキで録った録り溜めアニメは,デッキでDVD-RAMへコピーした後,Windows Vista機でリッピングし,放送単位の動画ファイルに分割し,HDDへ保管してています.記憶媒体のせいかドライブのせいか暑さのせいか,リッピング後のファイル分割に失敗することがあります.その場合,再リッピングの最中に中断すると,そこまでのデータが生き残ることがあります.理由は判りませんが,リッピングの最終段で異常なデータが書かれてしまうのでしょうか.

これまでは,リッピングの進捗が99%になるまで待ち構え,そこで手動中断する方法で乗り越えてきました.しかし,待つのが非生産的.ということで,リッピング後,お尻数MBをカットする方法を検討しました.

まずはコマンドプロンプトで何かできないか.ググると,splitコマンドなるものが見つかりました.しかしこれ,Linuxのコマンドで,Windowsで動かすにはLinuxのシミュレータをインストールする必要があるみたい.今更Vista機にいろいろ入れたくないので,却下.

makecabコマンドなるものもあるようです.非圧縮オプションを指定すると,やりたいことやれそう.試してみました.しかしこれ,分割できるサイズに限界があるみたい.残念.

そういうわけで,コマンドプロンプトは諦め,VBScriptを組むことにしました.久しぶりのVisual Basicで自宅コーディングです.作って実行するも,いろいろエラーが出ます.書き方は合っているはずなのにな.ググると,VBScriptでは変数の型指定ができないとか,バイト配列を使ったバイナリファイルの読み書き操作ができないとか.なるほど,私がVBScriptだと思って書いていたコードは,VBScriptでサポートされていないものでした.

ということで,今度こそその書き方が通用するVBAで試してみました.真っ新なExcelに,マクロのコードだけある形.整数除算「\」より乗算「*」の結合度の方が高いということになかなか気づけず,期待する結果を出すまで結構闘いました.そして無事完成.

ようやくの早速,リッピングしたデータのお尻をカットしました.そして,カットされたデータをファイル分割.が,失敗しました.どうやら,リッピングの手動中断と,リッピング結果ファイルのお尻カットは別みたい.残念.大人しく,今までの方法を取ることにしました.VBAの復習ができたので,ただの骨折り損ではなかったと思いたい.