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
85
#Comfes2023 「Promise<any>」
2023/03/16に行われた、
中国地区高専コンピューターフェスティバル 情報交換会で発表した内容です。
Laminne33569
March 18, 2023
Tweet
Share
More Decks by Laminne33569
See All by Laminne33569
NodeCGはいいぞ
laminne
0
130
OSを最速でインストールせよ!
laminne
0
20
Ngrokを使って自宅サーバーを公開したかった話+Alter Linuxはいいぞ
laminne
0
160
Other Decks in Technology
See All in Technology
テスト・設計研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
170
ABEMAにおけるLLMを用いたコンテンツベース推薦システム導入と効果検証
cyberagentdevelopers
PRO
1
760
ACRiルーム最新情報とAMD GPUサーバーのご紹介
anjn
0
160
DevIO2024_レガシー運用からの脱却 -クラウド活用の実践事例とベストプラクティス-
jun2882
0
210
サービスの持続的な成長と技術負債について
siva_official
PRO
10
4.4k
Azure OpenAI Service Dev Day / LLMでできる!使える!生成AIエージェント
masahiro_nishimi
3
810
[2024最新版]AWS Control Towerを使ったセキュアなマルチアカウント環境の作り方
hiashisan
0
270
AOAI Dev Day LLMシステム開発 Tips集
hirosatogamo
15
3.8k
開発生産性をむしろ向上させる セキュリティパートナーの作り方 / Dev Productivity Con 2024
flatt_security
0
390
フルリモートワークはエンジニアの夢を叶えたか? #cm_odyssey
mamohacy
2
600
開発と事業を繋ぐ!SREのオブザーバビリティ戦略 ~ Developers Summit 2024 Summer ~
leveragestech
0
640
データ分析基盤を作ってみよう~設計編~
nrinetcom
PRO
1
110
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
277
13k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
105
6.8k
The Straight Up "How To Draw Better" Workshop
denniskardys
229
130k
The Language of Interfaces
destraynor
151
23k
Into the Great Unknown - MozCon
thekraken
20
1.3k
Art, The Web, and Tiny UX
lynnandtonic
291
20k
Visualization
eitanlees
139
14k
Optimizing for Happiness
mojombo
373
69k
The Cult of Friendly URLs
andyhume
75
5.9k
Web Components: a chance to create the future
zenorocha
307
41k
From Idea to $5000 a Month in 5 Months
shpigford
377
46k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
325
21k
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