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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
laminne
March 18, 2023
Technology
0
140
#Comfes2023 「Promise<any>」
2023/03/16に行われた、
中国地区高専コンピューターフェスティバル 情報交換会で発表した内容です。
laminne
March 18, 2023
Tweet
Share
More Decks by laminne
See All by laminne
NodeCGはいいぞ
laminne
0
180
OSを最速でインストールせよ!
laminne
0
28
Ngrokを使って自宅サーバーを公開したかった話+Alter Linuxはいいぞ
laminne
0
190
Other Decks in Technology
See All in Technology
[JAWSDAYS2026]Who is responsible for IAM
mizukibbb
0
470
Datadog の RBAC のすべて
nulabinc
PRO
3
450
猫でもわかるKiro CLI(AI 駆動開発への道編)
kentapapa
0
140
Claude Code 2026年 最新アップデート
oikon48
10
8.5k
元エンジニアPdM、IDEが恋しすぎてCursorに全業務を集約したら、スライド作成まで爆速になった話
doiko123
1
600
Claude Codeが爆速進化してプラグイン追従がつらいので半自動化した話 ver.2
rfdnxbro
0
510
Kubernetesにおける推論基盤
ry
1
320
JAWS DAYS 2026 楽しく学ぼう!ストレージ 入門
yoshiki0705
2
160
プロジェクトマネジメントをチームに宿す -ゼロからはじめるチームプロジェクトマネジメントは活動1年未満のチームの教科書です- / 20260304 Shigeki Morizane
shift_evolve
PRO
1
250
Evolution of Claude Code & How to use features
oikon48
1
590
Google系サービスで文字起こしから勝手にカレンダーを埋めるエージェントを作った話
risatube
0
150
AIエージェント時代に備える AWS Organizations とアカウント設計
kossykinto
3
820
Featured
See All Featured
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
100
Darren the Foodie - Storyboard
khoart
PRO
3
2.8k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.7k
Optimizing for Happiness
mojombo
378
71k
Ethics towards AI in product and experience design
skipperchong
2
220
Writing Fast Ruby
sferik
630
63k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
140
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
For a Future-Friendly Web
brad_frost
183
10k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
How to Talk to Developers About Accessibility
jct
2
150
Embracing the Ebb and Flow
colly
88
5k
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