season's quarterly

数学/物理/プログラミング

ICTSC2021夏の陣参加記[osushi]

icttoracon.net 8/28,29に開催されたICTトラブルシューティングコンテストにanko氏, fomidtk氏, seasonの三人で参加しました。ネットワークとか分かるんですか??いいえ。本番二日前にあるよって言われたときは、「過去の自分、こんなものに手を挙げたのか」と思った。

一日目

最初は皆で14 Webサーバが立ち上がらないを読んだ。Pythonモジュールがないのでinstallするのかなあと分かった。偶然にもつい最近Pythonを始めたので「分かった。凄い」となった。この問題はfomidtkさんが回答を作成しました。

その後は三人で別々の問題を考えた。9 止まらないを見るも全然分からない。ankoさんの指示通りにMakefileのコマンドにオプション-t -iを付けるとなんか分からんけどできる。ところがankoさんもよく分からないそうなので自分が調べることに。ICTSCはトラブルを解決するだけではだめで、原因とか対策をちゃんと説明しないといけないのです。そもそもdockerが何か知らないのに分かるかーと思いつつググってみると次のページを見つけた。 docs.docker.jp qiita.com ふむふむ。普通にdocker runをやると標準入力が使えないけどこのオプションを付けると使えるようになる、と理解して次のような回答を作成した。

お世話になっております。チームosushiです。

この問題ではdockerの起動中に標準入力が機能しないことが原因でトラブルが発生したと>考えられました。

そのため、docker runのオプション

-t, --tty : 疑似ターミナルの追加

-i, --interactive : コンテナのstdinにアタッチ

を追加することで正しく動くことを確認いたしました。

確認のほどよろしくお願いします。

手順

1./home/user/test/Makefileの編集

変更前:docker run --rm -v $(PWD)/:/go/src/app -w /go/src/app -p 8080:8080 golang:latest go run main.go

変更後:docker run --rm -t -i -v $(PWD)/:/go/src/app -w /go/src/app -p 8080:8080 golang:latest go run main.go

20分後に見てみると無事50点を獲得。やったね。

その後も問題を考えたが何も分からず。もはや自分に分かる問題はなかった。 f:id:season1618:20210829155917p:plain f:id:season1618:20210829155853p:plain

二日目

問題は一日目と同じです。もう分かるやつがないのでその場でネットワークのお勉強を始めました。結果何も分かりませんでした。すみません... f:id:season1618:20210829162649p:plain f:id:season1618:20210829162232p:plain 一位と二位のチームだけずっと不動だったの凄い。

感想

コンテストは両日とも10:00-16:30の6時間30分でした。つらーい。大学入って初めての大会だった。