精進グラフ

精進グラフ というものがあることを知りました。 解いた問題の点数の合計 (割る100) とレーティングに何か関係があるのかと思って調べたのですが、 単に努力の絶対量の指針という感じでしょうか。 AtCoder はいろいろな非公式サービスがあって、愛されているように思いました。

June 19, 2021 · 1 分

RTTY のデコードを試す(5)

前回はサンプリングレートや量子化ビット数を変更できるようにしましたが、 オリジナルのファイルから ffmpeg のデフォルト設定で wav に変換すると、 48kHz となり、実行時間が気になってきます。 そこで、高速化を試すことにしました。 真っ先に、リストに append したり pop したりするのは不安になってくるので、 array をリングバッファとして使いましょう。 その次はどこが遅いか調べます。cProfile なんかを使うとよさそうです。 調べてみると、一番遅いのは sum の呼び出しでしょうか。 window_size で平滑化(?)していますが、毎回その全てを足し合わせるのは効率が悪いですね。 実質的にしなければいけないのは、window_size 分だけ前の値を引いて、新しい値を足すことです。 別の class に切り出して、インデックスの管理もその中に任せましょう。 ファイルも分割したいですが、カレントディレクトリにある python ファイルを実行すると、 explicit relative import が使えないようなので、src ディレクトリ内にファイルを移動して、 python -m src.main のように呼び出すようにします。 ** 演算子は、2乗とか決まっていたら乗算で書いた方が早いようですね。 値にあまり意味はなく (値に失礼)、大小を比較しているのみのため、sqrt も不要でしょう。 削除しましょう。 さて、ちまちまと高速化してきましたが、一番遅いのは多分 stdout です。ファイルに書くようにしましょう。 だいたい8倍くらいは高速になりました、多分。

June 18, 2021 · 1 分

都内でのワクチン接種

都内での18歳以上のワクチン接種が大規模接種センターで始まったようです。 とはいえ、23区内でもチケットの発送が完了しているのはまだ少ないということで、 すぐに、というわけではありませんが、届き次第できるだけ早く接種したいなと 思っています。

June 17, 2021 · 1 分

ARC122-A

ARC122 の A 問題、結局時間内には解けなかったのですが、 じっくり考えてみるといい線は行ってたことが分かりました。 まず RE が出て心が折れていたのですが、普通に範囲外アクセスでした。 問題の上限を1桁打ち間違えていました。 あとはフィボナッチ数列まわりの数値が前後していたのがダメだったようです。 ただ、なぜかテストケースは全て通っていて、上記の上限を修正して出しても 3ケース以外は AC になっていたので、うまく気付くことができませんでした。 もう少し考察の精度を上げたいと思いました。

June 16, 2021 · 1 分

みずほ銀行の報告書

みずほ銀行のシステム障害の報告書が公表されたようですね。 失敗事例を知ることは、同じような失敗を繰り返さないためにも重要だと思っていますが、 みずほ銀行のシステムでは手作業の部分が多いという指摘を見かけました。 銀行の勘定系のような複雑なシステムを、全て1つのシステムに組み込むことは難しいと思いますが、 エラー発生時のことについてはある程度システム側での支援があった方がいいのかなと思いました。 もしかしたら、自分で勘定系システムっぽいものを組んでみたら大変さが分かってよいかもしれません(???) 対外接続システムなどは限界がありますが。。。

June 15, 2021 · 1 分

GitHubのrepository-dispatchイベント

repository-dispatch イベントは前から使っていたのですが、everest-preview をつけたまま使っていました。 もう不要になったのかと思い GitHub のドキュメント を見てみた所、やはり不要になっていました。 改めてドキュメントを見てみると、この API エンドポイントは GitHub の外からトリガーするために使うもののようですね。 GitHub Actions 内から他のリポジトリの Action をトリガーする方法が何かあるのでしょうか。

June 14, 2021 · 1 分

Hugo でブログを作ろうと思います

個人的にブログ形式はなんか違うなと思ってきていて、 Hugo などの静的サイトジェネレーターを使って Wiki のような形式で 情報をアウトプットしていきたいと考えているのですが、 ひとまず Hugo を試してみようと思いました。 Theme はとりあえず PaperMod を使ってみようと思います。 コンテンツは……とりあえずここと同じものを……。

June 13, 2021 · 1 分

駅データAPIのクローンを作りました

作ったのは昨日なんですが、駅データ.jp さんの API のクローンを作成しました。 CSV ファイルと、PHP で生成プログラムを公開されていたので、 のんびり TypeScript に移植して GitHub Actions で生成、 GitHub Pages にデプロイしています。 今は HTML ファイルを一切置いていないですが、 API リファレンスなどを用意しようと思っています。

June 12, 2021 · 1 分

セキュリティ・キャンプ通過チェッカーを作りました

昨晩 Twitter を眺めていると、セキュリティキャンプ通過者一覧の目 grep がつらいとの声を ちらほら見かけました。じゃあコンピューターに grep させればいいですよね。 明日は12時から予定があるので夜更しはできません。とりあえず寝ましょう。 09:00 起床 起きました。PC を開きました。 まず、create-react-app を叩きます。react も redux もあまり使ったことがないので 勉強がてら両方使いましょう。あとは適当に tsx を書いていきましょう。 適当にゴリゴリ実装していきます。公式 PDF をブラウザで開いて、テキストをコピー します。ほとんど半角数字と半角のカンマが使われていて優しいですね。どうせなら せめて txt、願わくば json で公開して欲しいものです。 ほとんどと書いたのは、ジュニア開発ゼミの箇所だけ全角のカンマが使われていました。 まあ3つだけなので手で修正して対応しました。 11:00 電車に乗る 40 分くらい電車で移動する必要があるのでこの時間に家を出ます。 まだ完成にはほど遠いです。はい、電車で開発しましょう。 昔は Bluetooth テザリングをしていた記憶があるのですが、電車の中には Bluetooth の 電波がかなり多く、ペアリングから始めるのは困難そうでした。USB テザリングして 開発を進めましょう。 11:40 目的地最寄り駅に到着 目的地に移動します。時間がもったいないので小走りで。 11:50 目的地到着 まだ時間があります。ラストスパートです。 GitHub Actions で CI/CD するつもりだったのですが、なんだかうまくいきません。 こだわっても仕方ないので、npm i gh-pages して手元からデプロイすることにします。 12:00 予定 ……デプロイすることにします。と思った瞬間、時間になったので名前を呼ばれます。 思ったよりも時間が早く過ぎていたようでした。どうしましょう……あと1分…… 私「あと1分ください。」 1分もらいました。デプロイしてツイートします。完成。 20:00 帰宅 他にもやることを済ませて帰宅します。そういえばデプロイに失敗しているんでした。 適当に npm update します。直りました。よかったです。(本当は他にもいろいろ試しました。)

June 11, 2021 · 1 分

セキュリティ・ネクストキャンプに通過しました

ネクストキャンプ通過しました。やったー。

June 10, 2021 · 1 分