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
930
2
Share
「オンラインでプログラミングして実行できるサイト」を作ってみた
「Start Python Club Meetup/みんなのPython勉強会#99」
https://startpython.connpass.com/event/300831/
uutan1108
November 15, 2023
More Decks by uutan1108
See All by uutan1108
コミュニティ・勉強会を作るのは目的じゃない
ohmori_yusuke
0
240
映画のエンドロール風の動画を自動生成するツールを作った
ohmori_yusuke
2
48
アウトプットは“成果物”じゃなく“副産物”だった話
ohmori_yusuke
1
82
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
750
仕様がそのままテストになる!Javaで始める振る舞い駆動開発
ohmori_yusuke
8
5.8k
勉強会から始まった僕のDevRel~新卒エンジニアがつないだ2年間の軌跡~
ohmori_yusuke
2
450
WebエンジニアがSwiftをブラウザで動かすプレイグラウンドを作ってみた
ohmori_yusuke
0
330
アニメがエンジニアをつなぐ!「エンジニアニメ」勉強会が巻き起こすCo-Creationの波
ohmori_yusuke
0
290
組織が大きく変わろうとするとき、自分はどうありたいかを考えている
ohmori_yusuke
19
7.4k
Other Decks in Technology
See All in Technology
データを"持てない"環境でのアノテーション基盤設計
sansantech
PRO
1
130
Agents CLI と Gemini Enterprise Agent Platform で マルチエージェント開発が楽しくなる!
kaz1437
0
110
マルチプロダクトの信頼性を効率良く保っていくために
kworkdev
PRO
0
170
プラットフォームエンジニアリングの実践 - AWS コンテナサービスで構築する社内プラットフォーム / AWS Containers Platform Meetup #1
literalice
1
210
基盤を育てる 外部SaaS連携の運用
gamonges_dresscode
1
120
[OAWTT26][THR1028] Oracle AI Database 26ai へのアップグレード:ベストプラクティスと最新情報
oracle4engineer
PRO
1
110
実践ハーネスエンジニアリング:TAKTで実現するAIエージェント制御 / Practical Harness Engineering: AI Agent Control Enabled by TAKT
nrslib
11
4.7k
Practical TypeProf: Lessons from Analyzing Optcarrot
mame
0
540
巨大プラットフォームを進化させる「第3のROI」
recruitengineers
PRO
2
230
AgentCore×VPCでの設計パターンn選と勘所
har1101
3
290
Keeping Ruby Running on Cygwin
fd0
0
170
明日からドヤれる!超マニアックなAWSセキュリティTips10連発 / 10 Ultra-Niche AWS Security Tips
yuj1osm
0
600
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
What does AI have to do with Human Rights?
axbom
PRO
1
2.1k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
310
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Google's AI Overviews - The New Search
badams
0
980
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Deep Space Network (abreviated)
tonyrice
0
120
Scaling GitHub
holman
464
140k
Building the Perfect Custom Keyboard
takai
2
730
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
The Cost Of JavaScript in 2023
addyosmani
55
9.8k
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 バージョンを書きたい
ご清聴ありがとうございました🙇