Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
#Comfes2023 「Promise<any>」
Search
Laminne33569
March 18, 2023
Technology
0
110
#Comfes2023 「Promise<any>」
2023/03/16に行われた、
中国地区高専コンピューターフェスティバル 情報交換会で発表した内容です。
Laminne33569
March 18, 2023
Tweet
Share
More Decks by Laminne33569
See All by Laminne33569
NodeCGはいいぞ
laminne
0
140
OSを最速でインストールせよ!
laminne
0
22
Ngrokを使って自宅サーバーを公開したかった話+Alter Linuxはいいぞ
laminne
0
180
Other Decks in Technology
See All in Technology
DUSt3R, MASt3R, MASt3R-SfM にみる3D基盤モデル
spatial_ai_network
3
370
AWS環境におけるランサムウェア攻撃対策の設計
nrinetcom
PRO
1
280
pg_bigmをRustで実装する(第50回PostgreSQLアンカンファレンス@オンライン 発表資料)
shinyakato_
0
130
多様なメトリックとシステムの健全性維持
masaaki_k
0
130
Working as a Server-side Engineer at LY Corporation
lycorp_recruit_jp
0
460
スタートアップで取り組んでいるAzureとMicrosoft 365のセキュリティ対策/How to Improve Azure and Microsoft 365 Security at Startup
yuj1osm
0
260
多領域インシデントマネジメントへの挑戦:ハードウェアとソフトウェアの融合が生む課題/Challenge to multidisciplinary incident management: Issues created by the fusion of hardware and software
bitkey
PRO
2
130
React Routerで実現する型安全なSPAルーティング
sansantech
PRO
2
350
[Oracle TechNight#85] Oracle Autonomous Databaseを使ったAI活用入門
oracle4engineer
PRO
1
170
20241218_マルチアカウント環境におけるIAM_Access_Analyzerによる権限管理.pdf
nrinetcom
PRO
3
130
【令和最新版】ロボットシミュレータ Genesis x ROS 2で始める快適AIロボット開発
hakuturu583
1
1.1k
クレカ・銀行連携機能における “状態”との向き合い方 / SmartBank Engineer LT Event
smartbank
2
120
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Why Our Code Smells
bkeepers
PRO
335
57k
Automating Front-end Workflow
addyosmani
1366
200k
4 Signs Your Business is Dying
shpigford
182
21k
KATA
mclloyd
29
14k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Speed Design
sergeychernyshev
25
690
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
How STYLIGHT went responsive
nonsquared
96
5.2k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Transcript
Po2ron Network / MCT-JOKEN Promise<any> Tatsuto Yamamoto
自己紹介 Po2ron Network / MCT-JOKEN
自己紹介 やまもと たつと 松江高専 情報科学研究部 部長/情報工学科3年(新4年) 言語とか: TypeScript/Go(メイン) Python/Ruby など
エディタとか: WebStorm, GoLand / Visual Studio Code たまにnanoとneovim 趣味: 音楽聞いたり絵描いたりフォントで遊んだり Po2ron Network / MCT-JOKEN
Po2ron Network / MCT-JOKEN オンラインジャッジを 作っている話 Tatsuto Yamamoto
オンラインジャッジって何? Po2ron Network / MCT-JOKEN
オンラインジャッジとは 「プログラミング問題の オンライン採点システム」 Po2ron Network / MCT-JOKEN
オンラインジャッジとは プログラムが正しくコンパイルできるか プログラムが正しく終了するか プログラムが制限の範囲内で停止するか プログラムが正しく出力をしているか ..を判定するシステムのこと Po2ron Network / MCT-JOKEN
有名なジャッジの例 Po2ron Network / MCT-JOKEN AtCoder: https://atcoder.jp
なんで作るのか? 自分たちで建てられるものがほしい Po2ron Network / MCT-JOKEN
KOJS: 松江高専用のオンラインジャッジ ロゴはv4 Po2ron Network / MCT-JOKEN
KOJS(KOJS-v3) 概要 使った言語: HTML + Pure TypeScript with tsc (フロントエンド)
テストが無い TypeScript (バックエンド) Golang (それ以外) 使った技術: Docker Po2ron Network / MCT-JOKEN
もともと… 去年のコンフェスに 出すつもりだった (laminne/kojs3) Po2ron Network / MCT-JOKEN
もともと… みんなびっくりの クソ実装 Po2ron Network / MCT-JOKEN
もともと… みんなびっくりの クソ実装 API Handlers Logics OR/M etc… Po2ron Network
/ MCT-JOKEN
ソースコードの 変更が大変 Po2ron Network / MCT-JOKEN
実装できなかった機能 - コードテスト(dry-run) - ワーカーの並列化 - コンパイルエラーの表示 Po2ron Network /
MCT-JOKEN KOJSで
“J” “K” Online Judge System (KOJSv5) by MCT-Joken Po2ron Network
/ MCT-JOKEN
そこで まともな アーキテクチャ (レイヤード with DIP Interfaces(Handlers Usecases(Logic Infrastructure(OR/M Domain
(Domain Logic Po2ron Network / MCT-JOKEN
JK-OJS(KOJS-v5) 概要 使った言語: TypeScript + React with Vite (フロントエンド) TypeScript
with Vitest (バックエンド) Golang (それ以外) 使った技術: Docker †バリバリモダンな構成† (Ruby 0使用 Po2ron Network / MCT-JOKEN
概要 ユーザー (フロント エンド) スコア サーバー (バック エンド) エージェント ワーカー
ワーカー ワーカー コードの提出 コード実行命令 コード実行命令 実行結果 結果の返却 結果の返却 Po2ron Network / MCT-JOKEN
Po2ron Network / MCT-JOKEN (KOJSで実装できなかったもののうち) 実装できた機能など - テストコード実行(dry-run) - (ソフトウェア)自動テスト,CI
- 使える言語を簡単に増やせるように
Po2ron Network / MCT-JOKEN (JK-OJSでも結局) 実装できなかった機能など - ワーカーの並列化 - コンパイラエラーの表示
- 問題作成 - コンテストへの参加登録
総括 - 最終結果: 失敗 - 全然機能実装出来てないやんけ!!!(実装率 47%) - 敗因: 仕様の明文化が弱かった
-> 計画性の無い実装はやめましょう👊 - タスクの分配に失敗した - 開発の見通しが悪くタスクを起票しにくかった その他いろいろ… Po2ron Network / MCT-JOKEN
今後の展望 - もっとUI/UXを良くしたい - (開発,ユーザー)ドキュメントを増やしたい - プロジェクトに参加する人を増やしたい - ゆくゆくは学外にも開放したい Po2ron
Network / MCT-JOKEN
おしまい KOJSv3 Project laminne/kojs3 (C) 2021-2022 Tatsuto YAMAMOTO (MIT) JK-OJS
Project(s): Backend: (C) 2021-2023 Tatsuto Yamamoto (MIT) Front: (C) 2022-2023 Mct-Joken (MIT) Slide: Copyright (C) 2022-2023 Tatsuto YAMAMOTO/MCT-Joken all rights reserved. Po2ron Network / MCT-JOKEN