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
570
「オンラインでプログラミングして実行できるサイト」を作ってみた
「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
OpenAPI を守るのは難しい
ohmori_yusuke
2
920
コミュニティに参加したことで起きた変化
ohmori_yusuke
3
150
Laravel を学ぶ前に書いていた require と Laravel 使い始めてから躓いた use 宣言と namespace
ohmori_yusuke
1
290
未来を拓く若手エンジニアの興味関心と目指すキャリア
ohmori_yusuke
1
260
PHPカンファレンス関西2024でLTとスタッフした
ohmori_yusuke
2
460
技書博に参加したら執筆できた
ohmori_yusuke
1
420
PHPを勉強してからプログラミングが好きになった話
ohmori_yusuke
1
620
「石蒜模拟器」にコントリビュートしてみた
ohmori_yusuke
1
440
新卒研修で取り組んだスクラム開発で苦戦したところと学んだこと
ohmori_yusuke
4
1.9k
Other Decks in Technology
See All in Technology
uvを使ってストレスフリーな Python開発をしよう!
r74tech
0
250
LLM開発・活用の舞台裏@2024.04.25
yushin_n
3
1.3k
プロンプトエンジニアリングでがんばらない-Agentic Workflow へ-近藤憲児
kenjikondobai
6
1.3k
Gradle Build Scanを使ってビルドのことを知ろう potatotips #87
tomorrowkey
2
160
成長をサポートするピープルマネジメントのやり方
sioncojp
9
1.4k
Handling focus in 2024
tahia910
0
520
GrafanaMeetup_AmazonManagedGrafanaのアクセス制御機能とマルチテナント環境下でのアクセス制御について
daitak
0
450
.NET Profiler in 2024.
kkamegawa
2
2.3k
Cypress or Playwright?
rainerhahnekamp
0
180
Max out Local LLM in Challenging Environments
sashimimochi
2
200
【SORACOM UG 東海】あらゆるモノがつながる社会へ、IoT と SORACOM
soracom
PRO
1
160
M5stackで使用できるpHセンサの開発
shinrinakamura
1
270
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
22
1.6k
How to Ace a Technical Interview
jacobian
273
22k
Side Projects
sachag
451
41k
Web development in the modern age
philhawksworth
203
10k
Robots, Beer and Maslow
schacon
PRO
155
7.9k
What the flash - Photography Introduction
edds
64
11k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
358
22k
Testing 201, or: Great Expectations
jmmastey
30
6.4k
How GitHub (no longer) Works
holman
305
140k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
12
1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
660
120k
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 バージョンを書きたい
ご清聴ありがとうございました🙇