Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
#Comfes2023 「Promise<any>」
Search
laminne
March 18, 2023
Technology
150
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
#Comfes2023 「Promise<any>」
2023/03/16に行われた、
中国地区高専コンピューターフェスティバル 情報交換会で発表した内容です。
laminne
March 18, 2023
More Decks by laminne
See All by laminne
NodeCGはいいぞ
laminne
0
210
OSを最速でインストールせよ!
laminne
0
37
Ngrokを使って自宅サーバーを公開したかった話+Alter Linuxはいいぞ
laminne
0
200
Other Decks in Technology
See All in Technology
サブエージェントと Claude Mods で作る独自 Advisor ツールの話
kenichiodo
2
170
Getting Started with Google Antigravity
glaforge
0
330
QA4AI 2026-Oct 生成AI時代の品質保証
tokuty
1
900
コンテナ運用におけるネットワーク・コンテナコストの削減方法/How to Reduce Network and Container Costs in Container Operations
masakiokuda
2
320
Kiro Crewで「みのるん式」仕事術やってみた
minorun365
PRO
3
880
JAWS-UGグッズ職人仕事の流儀
kentapapa
0
120
スキマバイトという雇用形態は存在しないので、雇用期間1日のアルバイト契約を事業者とワーカーが結ぶ手続きを支えるのがタイミーなんです
akitoshiga
0
210
Metadata - Section 1: HTML Basics
mohab1
0
130
Benchmarking Disaggregated Serving on vLLM + Dynamo with a Real Coding-Agent Workload
nttcom
1
200
JAWSUG TOHOKU 青森支部 「LoGoチャット」のAWS移行で 乗り越えたこと
taketakekaho
0
350
その Valkey 使いこなしていますか?
onk
PRO
5
1.6k
Running Kotlin + Quarkus with Lambda
nealle
1
4k
Featured
See All Featured
Crafting Experiences
bethany
1
390
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
Chasing Engaging Ingredients in Design
codingconduct
0
360
Facilitating Awesome Meetings
lara
57
7.2k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
830
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
270
WENDY [Excerpt]
tessaabrams
14
40k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
480
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3.1k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
360
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