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
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
170
OSを最速でインストールせよ!
laminne
0
25
Ngrokを使って自宅サーバーを公開したかった話+Alter Linuxはいいぞ
laminne
0
190
Other Decks in Technology
See All in Technology
個人でデジタル庁の デザインシステムをVue.jsで 作っている話
nishiharatsubasa
2
3.9k
CNCFの視点で捉えるPlatform Engineering - 最新動向と展望 / Platform Engineering from the CNCF Perspective
hhiroshell
0
130
ヘンリー会社紹介資料(エンジニア向け) / company deck for engineer
henryofficial
0
330
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
43k
「REALITY」3Dアバターシステムの7年分の拡張の歴史について
gree_tech
PRO
0
130
Zephyr(RTOS)にEdge AIを組み込んでみた話
iotengineer22
1
280
Wasmの気になる最新情報
askua
0
180
「魔法少女まどか☆マギカ Magia Exedra」のIPのキャラクターを描くための3Dルック開発
gree_tech
PRO
0
150
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.8k
SCONE - 動画配信の帯域を最適化する新プロトコル
kazuho
1
320
serverless team topology
_kensh
3
160
AI時代、“平均値”ではいられない
uhyo
8
2.3k
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
340
57k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
How to Ace a Technical Interview
jacobian
280
24k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
How to Think Like a Performance Engineer
csswizardry
27
2.1k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
What's in a price? How to price your products and services
michaelherold
246
12k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
190
55k
Side Projects
sachag
455
43k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
115
20k
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