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
870
「オンラインでプログラミングして実行できるサイト」を作ってみた
「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
アニメがエンジニアをつなぐ!「エンジニアニメ」勉強会が巻き起こすCo-Creationの波
ohmori_yusuke
0
120
組織が大きく変わろうとするとき、自分はどうありたいかを考えている
ohmori_yusuke
18
6.3k
技術以外をきっかけに交流するエンジニア向け勉強会
ohmori_yusuke
0
53
デザインって“感覚”だけじゃないVibe Codingからの気づき
ohmori_yusuke
3
81
MDN Web Docs に日本語翻訳でコントリビュートしたくなる
ohmori_yusuke
1
140
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
1
530
市町村のオープンデータを使って「公園・トイレの口コミマップ」を作ってみた
ohmori_yusuke
0
340
エンジニアが組織に馴染むために勉強会を主催してチームの壁を越える
ohmori_yusuke
2
170
学びは趣味の延長線
ohmori_yusuke
0
110
Other Decks in Technology
See All in Technology
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
450
[ JAWS-UG 東京 CommunityBuilders Night #2 ]SlackとAmazon Q Developerで 運用効率化を模索する
sh_fk2
3
460
「その開発、認知負荷高すぎませんか?」Platform Engineeringで始める開発者体験カイゼン術
sansantech
PRO
2
870
バイブスに「型」を!Kent Beckに学ぶ、AI時代のテスト駆動開発
amixedcolor
3
590
Terraformで構築する セルフサービス型データプラットフォーム / terraform-self-service-data-platform
pei0804
1
200
AWSを利用する上で知っておきたい名前解決のはなし(10分版)
nagisa53
10
3.2k
MagicPod導入から半年、オープンロジQAチームで実際にやったこと
tjoko
0
110
今日から始めるAWSセキュリティ対策 3ステップでわかる実践ガイド
yoshidatakeshi1994
0
120
複数サービスを支えるマルチテナント型Batch MLプラットフォーム
lycorptech_jp
PRO
1
970
「何となくテストする」を卒業するためにプロダクトが動く仕組みを理解しよう
kawabeaver
0
440
職種の壁を溶かして開発サイクルを高速に回す~情報透明性と職種越境から考えるAIフレンドリーな職種間連携~
daitasu
0
190
Automating Web Accessibility Testing with AI Agents
maminami373
0
1.3k
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
Practical Orchestrator
shlominoach
190
11k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Six Lessons from altMBA
skipperchong
28
4k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
YesSQL, Process and Tooling at Scale
rocio
173
14k
The Cult of Friendly URLs
andyhume
79
6.6k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Navigating Team Friction
lara
189
15k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
810
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 バージョンを書きたい
ご清聴ありがとうございました🙇