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
「オンラインでプログラミングして実行できるサイト」を作ってみた
Search
uutan1108
November 15, 2023
Technology
2
760
「オンラインでプログラミングして実行できるサイト」を作ってみた
「Start Python Club Meetup/みんなのPython勉強会#99」
https://startpython.connpass.com/event/300831/
uutan1108
November 15, 2023
Tweet
Share
More Decks by uutan1108
See All by uutan1108
技書博に参加したら執筆できた
ohmori_yusuke
1
70
開発終了後こそ成長のチャンス!プロダクト運用を見送った先のアクションプラン
ohmori_yusuke
2
170
学生の時に開催したPerl入学式をきっかけにエンジニアが組織に馴染むために勉強会を主催や仲間と参加して職能間の境界を越えていく
ohmori_yusuke
2
480
やりっぱなしで終わらない勉強法
ohmori_yusuke
2
370
OpenAPIにも静的解析とフォーマッターを導入して快適にスキーマ定義する
ohmori_yusuke
2
270
スクラムフェスに参加した
ohmori_yusuke
1
410
新卒エンジニアが組織に馴染むために勉強会を主催してチームの壁を越える
ohmori_yusuke
1
430
CGIプログラムを書いてみた
ohmori_yusuke
1
180
”私だけ”の技術発信から”仲間と”技術発信に変化するために
ohmori_yusuke
4
380
Other Decks in Technology
See All in Technology
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
110
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
540
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.7k
【Pycon mini 東海 2024】Google Colaboratoryで試すVLM
kazuhitotakahashi
2
560
AIチャットボット開発への生成AI活用
ryomrt
0
170
Why App Signing Matters for Your Android Apps - Android Bangkok Conference 2024
akexorcist
0
130
AWS Media Services 最新サービスアップデート 2024
eijikominami
0
200
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
490
Introduction to Works of ML Engineer in LY Corporation
lycorp_recruit_jp
0
140
FlutterアプリにおけるSLI/SLOを用いたユーザー体験の可視化と計測基盤構築
ostk0069
0
110
Lambda10周年!Lambdaは何をもたらしたか
smt7174
2
120
SSMRunbook作成の勘所_20241120
koichiotomo
3
160
Featured
See All Featured
A Philosophy of Restraint
colly
203
16k
Why Our Code Smells
bkeepers
PRO
334
57k
How STYLIGHT went responsive
nonsquared
95
5.2k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
The Cost Of JavaScript in 2023
addyosmani
45
6.8k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Rails Girls Zürich Keynote
gr2m
94
13k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
How GitHub (no longer) Works
holman
310
140k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
We Have a Design System, Now What?
morganepeng
50
7.2k
Transcript
「オンラインでプログラミングして 実行できるサイト」 を作ってみた Start Python Club Meetup/みんなのPython勉強会#99 うーたん
自己紹介 • うーたん • 新卒サーバーサイドエンジニア ◦ 株式会社ゆめみ • 趣味 ◦
アニメを見ること 今はミリオンライブを観てます • X ◦ @uutan1108
目次 - 作ったもの - 仕組み - 構成図 - Pythonのコード -
終わりに
作ったもの ⚒
作ったもの - 5種類の言語がブラウザで実 行できるツール - 言語とコード、入力を与えて 実行できる - サーバーで実行した結果を表 示
- スクリプト言語、コンパイル型 言語どちらも実行できる
デモ http://localhost/?lang=python
仕組み ⚙
構成図 🧩
構成図 - WEB のコンテナから 言語実行用のコンテナ に対してコマンドを実行 - docker outside of
docker(DooD)
詳細(DooD について) - DooD : ホストのDockerエンジン経由でコンテナから他のコン テナに命令をする - 共通のボリュームで実行するコードのファイルを共有
Pythonのコード
Pythonのコード レポジトリ:OHMORIYUSUKE/playground 1. ユーザーが入力したコードを書き込む 2. 書き込み完了後にコードを実行 3. 実行結果を返す
終わりに
終わりに - PyCon APAC 2023 の盛り上がりを X で眺めていてPython を書きたくなったので LT
ネタのために書いた - docker (Docker SDK for Python) で実装もしてみたが上手く 行かなかったので調べたい - Go client for the Docker Engine API では動かせたので、今 回の Go バージョンを書きたい
ご清聴ありがとうございました🙇