Slide 1

Slide 1 text

「オンラインでプログラミングして 実行できるサイト」 を作ってみた Start Python Club Meetup/みんなのPython勉強会#99 うーたん

Slide 2

Slide 2 text

自己紹介 ● うーたん ● 新卒サーバーサイドエンジニア ○ 株式会社ゆめみ ● 趣味 ○ アニメを見ること 今はミリオンライブを観てます ● X ○ @uutan1108

Slide 3

Slide 3 text

目次 - 作ったもの - 仕組み - 構成図 - Pythonのコード - 終わりに

Slide 4

Slide 4 text

作ったもの ⚒

Slide 5

Slide 5 text

作ったもの - 5種類の言語がブラウザで実 行できるツール - 言語とコード、入力を与えて 実行できる - サーバーで実行した結果を表 示 - スクリプト言語、コンパイル型 言語どちらも実行できる

Slide 6

Slide 6 text

デモ http://localhost/?lang=python

Slide 7

Slide 7 text

仕組み ⚙

Slide 8

Slide 8 text

構成図 🧩

Slide 9

Slide 9 text

構成図 - WEB のコンテナから 言語実行用のコンテナ に対してコマンドを実行 - docker outside of docker(DooD)

Slide 10

Slide 10 text

詳細(DooD について) - DooD : ホストのDockerエンジン経由でコンテナから他のコン テナに命令をする - 共通のボリュームで実行するコードのファイルを共有

Slide 11

Slide 11 text

Pythonのコード

Slide 12

Slide 12 text

Pythonのコード レポジトリ:OHMORIYUSUKE/playground 1. ユーザーが入力したコードを書き込む 2. 書き込み完了後にコードを実行 3. 実行結果を返す

Slide 13

Slide 13 text

終わりに

Slide 14

Slide 14 text

終わりに - PyCon APAC 2023 の盛り上がりを X で眺めていてPython を書きたくなったので LT ネタのために書いた - docker (Docker SDK for Python) で実装もしてみたが上手く 行かなかったので調べたい - Go client for the Docker Engine API では動かせたので、今 回の Go バージョンを書きたい

Slide 15

Slide 15 text

ご清聴ありがとうございました🙇