Closed4

AtCoder の TUI が欲しいかも (→ 簡易ブラウザ拡張で満足)

toyboot4etoyboot4e

今欲しい AtCoder のツール

AtCoder では人の提出結果を見ることができますが、検索の度に ~5 秒ほど待たされます。また毎回『問題 D』『言語 Haskell』『状況 AC』などフォーム?に入力するのもイカしていない気がします。

自分専用の AtCoder 閲覧 UI を作り、快適に精進したいものです。

toyboot4etoyboot4e

検討

1. 全ページの HTML を事前ダウンロードする

読みたいページの HTML は限られています。それらの全 HTML を事前にダウンロードして、リンク先 URL をローカルファイルに書き換えれば、爆速の AtCoder サイトとして利用できると思います。

あるいは最後の出力を html ファイルの集まりにしても良いかもしれません。自分で UI を作らずに済みます。

2. 解答データを事前ダウンロードし、閲覧する

JSON などを引っ張って来て、それを加工してツールで読むのはどうでしょうか。

  • ojapi-client に該当の関数は無さそうです。つまり submissions/json みたいなエンドポイントは無い気がします。
  • 普通に検索すると HTML が返ってきますから、これをスクレイピングすることができます。

3. w3m か何かで読む

そもそも普通にブラウジングできてびっくりしました。

数式の描画とか、たまに画像も入るので、 GUI ブラウザで見た方が安定はします:

制約

  • 2 \leq N \leq 500
  • 2 \leq M \leq 10^9
  • 1 \leq A_i \leq M-1
  • 入力はすべて整数

また w3m からの検索は、なぜか応答が爆速でした。なぜだ……。各ページにヘッダやフッタが入って不便ですが、ターミナルで AtCoder が見れると便利なのは間違いないようです。

toyboot4etoyboot4e

試したいこと、方向性

AtCoder 関連のウェブページを TUI で置き換えたいです。 真に望んでいたことはそれだ!

置き換えたいもの

公式サイト

  • コンテストの選択
  • 問題文の閲覧
  • 解答の一覧表示 (特定問題の Haskell かつ AC の解答)
  • 特定の解答表示

サードパーティーツール

  • AtCoder Problems (ABC の AC 状況)
    • 加えて鉄則本などの AC 状況も 1 目で分かるようにしたい
  • AC heatmap (毎日の AC 数)

大体ワンライナで何とかなりそう

それぞれの機能はワンライナで済む程度だと思います。案外シェルコマンド同士を繋ぎ合わせるだけで、ブラウザとお別れできるかもしれません。暇な時にやってみよう。

toyboot4etoyboot4e

ブラウザ拡張でいっか…… (Tamper Monkey)

簡易サイドバーを出しました。 Haskell の提出結果をすぐに確認できるようになりました:

このスクラップは2023/05/14にクローズされました