Closed4
AtCoder の TUI が欲しいかも (→ 簡易ブラウザ拡張で満足)
今欲しい AtCoder のツール
AtCoder では人の提出結果を見ることができますが、検索の度に ~5 秒ほど待たされます。また毎回『問題 D』『言語 Haskell』『状況 AC』などフォーム?に入力するのもイカしていない気がします。
自分専用の AtCoder 閲覧 UI を作り、快適に精進したいものです。
検討
1. 全ページの HTML を事前ダウンロードする
読みたいページの HTML は限られています。それらの全 HTML を事前にダウンロードして、リンク先 URL をローカルファイルに書き換えれば、爆速の AtCoder サイトとして利用できると思います。
あるいは最後の出力を html ファイルの集まりにしても良いかもしれません。自分で UI を作らずに済みます。
2. 解答データを事前ダウンロードし、閲覧する
JSON などを引っ張って来て、それを加工してツールで読むのはどうでしょうか。
-
oj
の api-client に該当の関数は無さそうです。つまりsubmissions/json
みたいなエンドポイントは無い気がします。 -
普通に検索すると HTML が返ってきますから、これをスクレイピングすることができます。
- ただ AtCoder Problems の kenkoooo さんが スクレイピングの結果を公開 してくださっているため、特に過去問ではこれを活用できそうです。
w3m
か何かで読む
3. そもそも普通にブラウジングできてびっくりしました。
数式の描画とか、たまに画像も入るので、 GUI ブラウザで見た方が安定はします:
制約
• 2 \leq N \leq 500
• 2 \leq M \leq 10^9
• 1 \leq A_i \leq M-1
• 入力はすべて整数
また w3m
からの検索は、なぜか応答が爆速でした。なぜだ……。各ページにヘッダやフッタが入って不便ですが、ターミナルで AtCoder が見れると便利なのは間違いないようです。
試したいこと、方向性
AtCoder 関連のウェブページを TUI で置き換えたいです。 真に望んでいたことはそれだ!
置き換えたいもの
公式サイト
- コンテストの選択
- 問題文の閲覧
- 解答の一覧表示 (特定問題の Haskell かつ AC の解答)
- 特定の解答表示
サードパーティーツール
-
AtCoder Problems (ABC の AC 状況)
- 加えて鉄則本などの AC 状況も 1 目で分かるようにしたい
- AC heatmap (毎日の AC 数)
大体ワンライナで何とかなりそう
それぞれの機能はワンライナで済む程度だと思います。案外シェルコマンド同士を繋ぎ合わせるだけで、ブラウザとお別れできるかもしれません。暇な時にやってみよう。
ブラウザ拡張でいっか…… (Tamper Monkey)
簡易サイドバーを出しました。 Haskell の提出結果をすぐに確認できるようになりました:
このスクラップは2023/05/14にクローズされました