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
Visual Studio Code Dev Containers ススメ Python編 -...
Search
ニフティ株式会社
PRO
March 21, 2024
Video
Resources
Programming
340
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Visual Studio Code Dev Containers ススメ Python編 - NIFTY Tech Talk #17
ニフティ株式会社
PRO
March 21, 2024
Video
Resources
超入門 ここから始める開発環境 - NIFTY Tech Talk #17
https://nifty.connpass.com/event/312139/
More Decks by ニフティ株式会社
See All by ニフティ株式会社
microCMS移行をいまならAIでどう進めるか - microCMS Meetup 2026
niftycorp
PRO
0
320
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
3.5k
ニフティ株式会社 エンジニア向け Company Deck 2026年版
niftycorp
PRO
0
580
「なぜそう決めたのか」を残し続ける仕組み ― Notion AI カスタムエージェント × Slack連携による設計判断の自動記録 - NIKKEI Tech Talk #47
niftycorp
PRO
0
280
CS教育のDX AIによる育成の効率化
niftycorp
PRO
0
370
AI 開発合宿を通して得た学び
niftycorp
PRO
0
370
なぜISPでオリジナルカードゲームを作ったのか?制作者と対談 - NIFTY Tech Talk #25
niftycorp
PRO
0
120
「なぜかネットが遅い」を“見える化”する 〜マイ ニフティが繋ぐサポートと暮らし〜 - NIKKEI Tech Talk #39
niftycorp
PRO
0
650
InnerSource Summit 2025 Three points that promoted innersource activities
niftycorp
PRO
0
330
Other Decks in Programming
See All in Programming
仕様駆動開発の消費期限
watany
16
7.3k
Apache Hive: Toward a Cloud Native Lakehouse
okumin
0
180
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
210
the container ship “Apple Silicon”@WWDC26 Recap -Japan-\(region).swift
shingangan
0
110
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.7k
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
340
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
540
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
18k
OpenSpecのproposalにbrainstormingを持たせてみた
tigertora7571
1
210
Lean は証明の正しさを確認するためだけのツールって思ってませんか?
inoueasei
1
150
freee が目指す データ マネジメント戦略 AI-Ready 時代を支える 攻めのガバナンスとは
freee
PRO
0
300
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
550
Featured
See All Featured
Producing Creativity
orderedlist
PRO
348
40k
AI: The stuff that nobody shows you
jnunemaker
PRO
9
890
Building Adaptive Systems
keathley
44
3.2k
The Curse of the Amulet
leimatthew05
2
14k
Docker and Python
trallard
47
4.1k
Rails Girls Zürich Keynote
gr2m
96
14k
A Soul's Torment
seathinner
6
3.4k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
270
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
430
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
Six Lessons from altMBA
skipperchong
29
4.4k
Transcript
VisualStudio Code Dev Containersの ススメ Python編 ニフティ株式会社 三浦 拓実
三浦 拓実 オプションサービス開発チームのリーダー兼スクラムマスター 担当サービスは常時安全セキュリティ24(2004年開始)、@nifty VPN Wi-Fi(2018年開始)、@nifty ADクリーナー(2023年開始)など 新規サービス開発の要求定義から設計、実装、運用まで幅広く 手がけています。 趣味は音楽鑑賞やファッションなど。
突発的に旅行に行きがち。
今からPython始める人 どう始めるのがいい?
まずPythonを手元のPCに インストール...しない
PythonをPCにインストールしない理由 • 手元の(ローカル)PCへのインストールは面倒が多い ◦ Python自体のバージョンがひとつに固定されてしまう ◦ インストールするライブラリも固定される ▪ pyenv、venv、pipenvといったツールで解決できるが管理が結構煩雑 •
他のメンバーと開発する時に、PCの細かい差分でトラブルが起こる ◦ 他にインストールされているソフト、Windows / Macの設定、ネットワークの状況など • だったら同じ設定のローカルPC増やせばいいだろ! ◦ PCをプログラムごとに用意できる大富豪ならそうしてもいいが、現実的ではない プログラムを書いて勉強するならPython自体の管理の手間はなるべく減らして、 実際にプログラムを書く時間を増やすべき。
偉い人は考えた ローカルPCの中に仮想でPCを立ち 上げれば、プログラムごとにいくら でも環境を作れるのでは......?
ローカルPCの中に仮想環境を作る あなたのローカルPC Pythonで データ分析 やるための 環境 Pythonで WEBアプリ 作るための 環境
Pythonで 数値計算 するための 環境 + ↑仮想のコンテナ環境を立ち上げ↑
ローカルPCに必要なソフト • Docker ◦ コンテナ型仮想環境を作成・管理するソフト ◦ 公式Webサイトからインストールできる ◦ 個人利用なら無償、企業で利用する場合は条件次第で有償 •
VisualStudio Code(VS Code) ◦ マイクロソフトが管理するオープンソースのエディタ ◦ 公式Webサイトからインストールできる ◦ さまざまな拡張機能が作られていて、好みにカスタムできる • Dev Containers ◦ VS Codeの拡張機能、VSCode上でインストールする ◦ ローカルPCに立ち上がったコンテナに接続してコンテナを VSCodeから操作できるようになる
ファイル構成と中身 { "name": "Python DevContainer Practice", "dockerComposeFile": [ "docker-compose.yml" ],
"service": "app", "workspaceFolder": "/app" } version: "3" services: app: build: context: .. dockerfile: Dockerfile volumes: - type: bind source: .. target: /app hostname: app command: sleep infinity FROM python:latest # 任意のバージョンを指定 WORKDIR /app COPY . . RUN apt update && \ pip install --upgrade pip 最小構成はこんな感じ
立ち上げた後の画面 コンテナのOSは主にLinuxだが、 モダンなエディターが使える ターミナルからコマンドを叩け るので、pythonコマンドで書 いたプログラムの実行もできる 拡張機能でエディターに 好みの機能を追加可能
メリット / デメリット • ひとつの環境の構築に集中で きる ◦ トラブルが減り開発に集中で きる! •
環境がコード化されており、 他のPCでもすぐに環境が再現 できる ◦ 手順書や暗記は不要 • 作った環境と同じコンテナを リリースできる ◦ AWS, Google Cloud, Azure… • 凝ったことをしようとすると 様々な知識が求められる ◦ Linux、ネットワークなど ◦ でもこれは勉強すればいい • PCにある程度スペックが求め られる ◦ メモリは16GB欲しい ◦ お金で解決できる →デメリット、ないじゃん...
1日→10分 Dev Containersで短縮できた環境構築1回あたりの時間です Dev Containersで開発環境構築を短縮して環境を揃えることは 特に複数人のチーム開発で大きな威力を発揮します 開発環境の分離はトラブルを減らし、開発時間を伸ばしてくれます イカした開発環境を手に入れましょう!