Skip to content
View keek420's full-sized avatar

Highlights

  • Pro

Block or report keek420

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
keek420/README.md

Hi there 👋

My Work

AI-step

  • 参考URL

  • 時期

    • 2023/8~2023/10
  • 背景 AI-Stepとは本学が主催している中高生向けのAI教育のイベントである。参加者は研究者からAIの基礎を学び、自分でAIモデルを構築・学習させる。作成したモデルをランキングサイトに提出すると自動採点され、ランキングに表示されるスコアを競う。

    本リポジトリは私が担当したランキングサイトのフロントエンド、バックエンドのコードをAI-Step代表者 松田昇也 金沢大学准教授の許可を得て公開したものである。

    このサイトは現在まで合計400人の参加者に利用されており、現在はバグ等なく正常に動作している。

  • 担当業務

    旧ランキングサイトでは、受講者はmoodleアカウント、AI学習用のgoogleアカウント、ランキングサイトアカウントの三つを管理する必要があったため、アカウントの統合を行うことを目的とする。

  • 技術構成・機能 moodleカウントとgoogleアカウントは、Oauthを用いて容易に統合することが出来た。 しかし、ランキングサイトは独自に実装されており、googleアカウントのOauth認証を得ることは難しいと判断し、ランキングサイトからアカウント機能の削除を行った。これに伴い以下の変更を行った。

    • ランキングサイトで個人との紐づけが不可能になったため、moodleにモデルの提出するように変更した
  • 苦労したところ 

    • moodleの情報が少なく、DBテーブル構成などを全て公式ドキュメントから探した。それでも分からない場合はソースコードから構成を予測、確認した。 - 実環境との差異
      • 実際にデプロイしているサーバーのmoodleのversionと開発環境のversionが違っていたため、提出時刻が1秒違う場合があるという問題があった。
        • SQLで差異を吸収ことで解決(dockerを使っておくべきだったか)
    • コミュニケーション
      • 受講者のファイル提出回数をリセットするコードを用意し、サーバ管理者に提供した。その際に、定期的にこのコードを実行するように伝え、実行方法も述べた。 しかし、サーバ管理者が本番環境に反映をし忘れていたため、受講者がファイルを提出できないという事態に陥り、サービスが止まるという事態になった。
        • その後、即座に対応してサービスは復旧した。
        • 今回のことから、自分は一回言ったから良いという考えではなく、予めリマインドをしたり、チェック事項をリストにして再確認しておくべきだと強く感じた。
  • 動機

    • キーパーソンであった先生に衛星プロジェクトの方に力を入れてほしかったから

Popular repositories Loading

  1. independent-research independent-research Public

    自主研究で行ったデータやコード等

    Jupyter Notebook

  2. tutorial-django tutorial-django Public

    Python

  3. laplus_lp laplus_lp Public

    Python

  4. Competitive-programming Competitive-programming Public

    Python

  5. learning learning Public

    my learnings

    JavaScript

  6. tic-tac-toe tic-tac-toe Public

    JavaScript