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
1
260
Visual Studio Code Dev Containers ススメ Python編 - NIFTY Tech Talk #17
ニフティ株式会社
PRO
March 21, 2024
Tweet
Share
Video
Resources
超入門 ここから始める開発環境 - NIFTY Tech Talk #17
https://nifty.connpass.com/event/312139/
More Decks by ニフティ株式会社
See All by ニフティ株式会社
Dify触ってみた。
niftycorp
PRO
0
79
Amazon Bedrockを使用して、 運用対応を楽にしてみた
niftycorp
PRO
0
70
自社製CMSからの脱却:10件のWebサイト再構築に学ぶ運用重視の技術選定 - NIFTY Tech Day 2025
niftycorp
PRO
0
32
エンジニアの殻を破る:インナーソースと社外活動がもたらした成長 - NIFTY Tech Day 2025
niftycorp
PRO
0
20
システム全体像把握の超高速化〜システム関連図を使い倒そう (LT) - NIFTY Tech Day 2025
niftycorp
PRO
0
17
Rust で生成 AI の社内 chatbot をメンテしている話 (LT) - NIFTY Tech Day 2025
niftycorp
PRO
0
21
メタバースは仕事に使える?〜100日間でバーチャルオフィスへの挑戦〜 (LT) - NIFTY Tech Day 2025
niftycorp
PRO
0
12
AWSでもOracleしたい!DB移行指南:マネージドサービス活用して属人化も解消 - NIFTY Tech Day 2025
niftycorp
PRO
0
16
スクラムマスター入門者のための学習マップ 効果的な学びと実践 - NIFTY Tech Day 2025
niftycorp
PRO
0
25
Other Decks in Programming
See All in Programming
Datadog Workflow Automation で圧倒的価値提供
showwin
1
280
良いコードレビューとは
danimal141
7
2.7k
技術を改善し続ける
gumioji
0
160
color-scheme: light dark; を完全に理解する
uhyo
7
500
たのしいSocketのしくみ / Socket Under a Microscope
coe401_
8
1.4k
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
8
1.5k
ソフトウェアエンジニアの成長
masuda220
PRO
12
2.1k
PHPカンファレンス名古屋2025 タスク分解の試行錯誤〜レビュー負荷を下げるために〜
soichi
1
730
GoとPHPのインターフェイスの違い
shimabox
2
210
Lambdaの監視、できてますか?Datadogを用いてLambdaを見守ろう
nealle
0
330
ファインディLT_ポケモン対戦の定量的分析
fufufukakaka
0
940
Jakarta EE meets AI
ivargrimstad
0
510
Featured
See All Featured
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
Music & Morning Musume
bryan
46
6.4k
Unsuck your backbone
ammeep
669
57k
It's Worth the Effort
3n
184
28k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
Writing Fast Ruby
sferik
628
61k
Agile that works and the tools we love
rasmusluckow
328
21k
BBQ
matthewcrist
87
9.5k
Product Roadmaps are Hard
iamctodd
PRO
51
11k
Typedesign – Prime Four
hannesfritz
41
2.5k
GraphQLの誤解/rethinking-graphql
sonatard
69
10k
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で開発環境構築を短縮して環境を揃えることは 特に複数人のチーム開発で大きな威力を発揮します 開発環境の分離はトラブルを減らし、開発時間を伸ばしてくれます イカした開発環境を手に入れましょう!