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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
uutan1108
November 15, 2023
Technology
940
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
1
310
映画のエンドロール風の動画を自動生成するツールを作った
ohmori_yusuke
2
55
アウトプットは“成果物”じゃなく“副産物”だった話
ohmori_yusuke
1
93
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
790
仕様がそのままテストになる!Javaで始める振る舞い駆動開発
ohmori_yusuke
8
5.9k
勉強会から始まった僕のDevRel~新卒エンジニアがつないだ2年間の軌跡~
ohmori_yusuke
2
480
WebエンジニアがSwiftをブラウザで動かすプレイグラウンドを作ってみた
ohmori_yusuke
0
340
アニメがエンジニアをつなぐ!「エンジニアニメ」勉強会が巻き起こすCo-Creationの波
ohmori_yusuke
0
300
組織が大きく変わろうとするとき、自分はどうありたいかを考えている
ohmori_yusuke
19
7.6k
Other Decks in Technology
See All in Technology
自称宇宙最速で不合格となったAIP-C01にリベンジを果たすべくAIで問題集アプリを作ってみた。
yama3133
0
240
食べログのサーキットブレーカー導入を振り返って
atpons
1
150
データ分析基盤の信頼を支える視点と設計
yuki_saito
2
760
OpenID Connectによるサービス間連携
takesection
0
140
AI駆動開発でなんでもハンズオン環境をつくってみた
yoshimi0227
0
170
ITエンジニアを取り巻く環境とキャリアパス / A career path for Japanese IT engineers
takatama
4
1.8k
Java正規表現エンジン(NFA)の仕組みと パフォーマンスを維持するための最適化手法
takeuchi_132917
0
140
GitHub Copilot CLIでWebアクセシビリティを改善した話
tomokusaba
0
120
Oracle Cloud Infrastructure:2026年5月度サービス・アップデート
oracle4engineer
PRO
1
240
責任あるソフトウェアエンジニアリングの紹介4章・5章 / RSE_Ch4-5
ido_kara_deru
0
370
「使われるデータ基盤」を目指してデータアナリストとワークショップをやった話
jackojacko_
2
920
管理アカウント単一運用からAWS Organizationsに移行するの大変で滅
hiramax
0
300
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Mind Mapping
helmedeiros
PRO
1
210
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
470
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Everyday Curiosity
cassininazir
0
210
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Navigating Weather and Climate Data
rabernat
0
200
Ruling the World: When Life Gets Gamed
codingconduct
0
240
We Are The Robots
honzajavorek
0
230
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 バージョンを書きたい
ご清聴ありがとうございました🙇