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
920
「オンラインでプログラミングして実行できるサイト」を作ってみた
「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
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
720
仕様がそのままテストになる!Javaで始める振る舞い駆動開発
ohmori_yusuke
8
5.7k
勉強会から始まった僕のDevRel~新卒エンジニアがつないだ2年間の軌跡~
ohmori_yusuke
2
440
WebエンジニアがSwiftをブラウザで動かすプレイグラウンドを作ってみた
ohmori_yusuke
0
310
アニメがエンジニアをつなぐ!「エンジニアニメ」勉強会が巻き起こすCo-Creationの波
ohmori_yusuke
0
280
組織が大きく変わろうとするとき、自分はどうありたいかを考えている
ohmori_yusuke
19
7.3k
技術以外をきっかけに交流するエンジニア向け勉強会
ohmori_yusuke
0
180
デザインって“感覚”だけじゃないVibe Codingからの気づき
ohmori_yusuke
3
220
MDN Web Docs に日本語翻訳でコントリビュートしたくなる
ohmori_yusuke
1
280
Other Decks in Technology
See All in Technology
「お金で解決」が全てではない!大規模WebアプリのCI高速化 #phperkaigi
stefafafan
5
2.4k
20260323_データ分析基盤でGeminiを使う話
1210yuichi0
0
190
私がよく使うMCPサーバー3選と社内で安全に活用する方法
kintotechdev
0
130
開発チームとQAエンジニアの新しい協業モデル -年末調整開発チームで実践する【QAリード施策】-
kaomi_wombat
0
250
契約書からの情報抽出を行うLLMのスループットを、バッチ処理を用いて最大40%改善した話
sansantech
PRO
3
300
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
76k
Laravelで学ぶOAuthとOpenID Connectの基礎と実装
kyoshidaxx
4
1.9k
AI時代のオンプレ-クラウドキャリアチェンジ考
yuu0w0yuu
0
440
GitHub Copilot CLI で Azure Portal to Bicep
tsubakimoto_s
0
270
PostgreSQL 18のNOT ENFORCEDな制約とDEFERRABLEの関係
yahonda
0
140
SaaSの操作主体は人間からAIへ - 経理AIエージェントが目指す深い自動化
nishihira
0
110
非同期・イベント駆動処理の分散トレーシングの繋げ方
ichikawaken
1
150
Featured
See All Featured
Mind Mapping
helmedeiros
PRO
1
130
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
150
Un-Boring Meetings
codingconduct
0
240
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
140
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
210
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
Producing Creativity
orderedlist
PRO
348
40k
We Are The Robots
honzajavorek
0
200
Rails Girls Zürich Keynote
gr2m
96
14k
Designing for humans not robots
tammielis
254
26k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.4k
Designing Powerful Visuals for Engaging Learning
tmiket
0
300
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 バージョンを書きたい
ご清聴ありがとうございました🙇