LoginSignup
3
0

シェル芸オンラインジャッジを作りました

Last updated at Posted at 2023-11-30

はじめに

シェル芸で問題を解いて遊ぶウェブサイトを作成しました。ユーザが入力したシェル芸に対して実行結果を返して、自動で正誤判定も行ってくれます。2023年11月19日時点で38問あります。ぜひ遊んでいただけますと幸いです。

シェル芸オンラインジャッジへのアクセス方法

リンクはこちら↓です。また「シェル芸オンラインジャッジ」と検索すれば一番上に出てくると思います。もちろん無料です。

遊び方

シェル芸オンラインジャッジの遊び方です。パソコンでもスマホでも遊べます。

1. 問題を選択

問題を選んで「決定」ボタンを押します。

image.png

2. 問題を確認

問題文と与えられる入力、想定出力を確認します。

image.png

3. シェル芸を入力

想定出力を得るためのシェル芸を記述して「実行」ボタンを押します。

image.png

4. 正誤判定の結果を確認

最後に正誤判定の結果を確認します。出力が正しい場合は「正解」、間違っている場合は「不正解」と表示されます。

image.png

以上がシェル芸オンラインジャッジの基本的な遊び方です。

シェル芸オンラインジャッジの仕組み

シェル芸オンラインジャッジの中身は次の画像のような構成になっています。ユーザが記述したシェル芸をシェル芸サーバに送って、返ってきた実行結果を表示しています。シェル芸を実行するたびにDockerのコンテナを作成&削除しています(実行環境に影響を残さないためです)。また、ShellgeiBotのイメージを拝借しています。

image.png

その他の話とシェル芸オンラインジャッジを作った感想

  • 名前は AIZU ONLINE JUDGE を参考にしています
  • 危険シェル芸はまだ試していません(怖いので危険シェル芸は禁止です)
  • 初めてPHPのコードを書きました
  • Dockerのコンテナを使い捨てにするアイデアは websh を参考にさせていただきました
  • HTMLとCSSを直書きしているのでデザインはお察しくださいませ
  • 以上

おわりに

シェル芸オンラインジャッジ、ぜひ遊んでみてくださいませ。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0