SlideShare a Scribd company logo
Copyright 2021 Hiroyuki Onaka
VSCode Remote Container &
GitHub Codespacesで拓く次世代の
Java開発体験
2022/02/03 Microsoft Developer Night
大中浩行
この作品はMicrosoft Corporationから許諾されているものを除き クリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。
Copyright 2021 Hiroyuki Onaka
IDEとしてトップシェアのVisual Studio Code(VSCode)
Stack Overflow Developer Survey 2021 から:https://insights.stackoverflow.com/survey/2021
Copyright 2021 Hiroyuki Onaka
そんなVSCodeでJavaの開発ができます!
Copyright 2021 Hiroyuki Onaka
VSCodeによるJava開発に必要なもの
• VSCode本体
• JDK
• Java11以上が必要
• Coding Pack for Java
• http://aka.ms/vscode-java-getting-start
Copyright 2021 Hiroyuki Onaka
デモ: VSCodeでJavaクラスの実行
Copyright 2021 Hiroyuki Onaka
Javaの開発環境としてのVSCodeってどうなの?
• 動作が軽快
• プロジェクトやワークスペースを作成しないでソースコード単独で実行
できる点など、学習用途には向いている
• 他のIDEのように、プロジェクトを作成しての開発も可能
• 検証用途のコード実行など(JShellはあるが)
Copyright 2021 Hiroyuki Onaka
業務で使えますか?
• IntelliJ IDEA/Eclipseのツートップに比べるとまだ発展途上
• 以前からは大分改善されました
• Javaの開発環境としては言語サポート以外にもアプリケーショ
ンサーバー、ビルドツールなどの統合のレベル向上が必要
• 機能追加・改善は積極的に行われています
Copyright 2021 Hiroyuki Onaka
ではなぜJava in Visual Studio Codeを取り上げるのか?
• VSCodeの強みとの組み合わせにより、新しい開発者体験を
Java開発者に提供できる可能性がある。
• それがRemote Development
Copyright 2021 Hiroyuki Onaka
VSCodeのRemote Development
VSCodeからリモートの環境に接続して、シームレスな開発を実現
• SSH
• コンテナー(Docker)
• WSL(Windows Subsystem for Linux)
• GitHub Codespaces
Copyright 2021 Hiroyuki Onaka
Remote Developmentのユースケース
• リモートの開発環境に接続しての開発
• 開発環境のセットアップの省略化
Copyright 2021 Hiroyuki Onaka
開発環境のリモート化の背景
• 開発用途のデスクトップ環境に必要なリソースは増加の一途
• 画面共有など、オンラインでのコラボレーションの活発化
• Docker / WSL2 などの仮想化前提のソリューションの普及
• デスクトップ環境に必要なメモリーは16GB?32GB?
• サイズの大きいデータセットを扱うことの一般化
• 例として、Elasticsearchのカスタム辞書を用いた開発など
Copyright 2021 Hiroyuki Onaka
SSHによるリモート開発環境
• Azureなどパブリッククラウドの使用により、柔軟にクラウド上
の資源を開発環境として使用することが可能
• 「アプリケーションを動かす環境がLinuxだったら開発環境も
Linuxにしません?」という昔からあったニーズの実現
Copyright 2021 Hiroyuki Onaka
VSCodeによるリモート開発に必要なもの
• Remote Development extension pack
• https://aka.ms/vscode-remote
• OpenSSHクライアント
• Windows10/11はOS標準で導入可能
• リモート接続先のプラットフォーム
• サーバー(Linux/macOS/Windows)
• WSL
• Dockerコンテナー
Copyright 2021 Hiroyuki Onaka
リモート開発における開発環境へのニーズ
• クラウド上の開発環境を使用する場合、必要に応じて開発環境
を構築するようにしたい
• Git(GitHub)からコードをクローンした状態で開発環境のセッ
トアップができるようにしたい
Copyright 2021 Hiroyuki Onaka
Remote Containerによる開発環境のコード化
• VSCodeのRemote ContainerとDocker Desktopの組
み合わせによる開発環境の構築のコード化
• コード化の対象
• VSCodeの構成(拡張機能の構成およびVSCodeの設定)
• devcontainer(開発コンテナ) の構成
• Live Shareによる、共同編集のサポート
Copyright 2021 Hiroyuki Onaka
VSCode+Docker Desktopの問題点
• Docker Desktopを動かすデスクトップ環境に高いスペックが必要
• ディスク入出力のパフォーマンスの低下によるビルド時間やアプリ
ケーションの起動時間の悪化
• Production Codeを組み込んだ時に顕在化しがち
• Windows10 HomeだとWSL2を有効にしないとDocker
Desktopがインストールできない
Copyright 2021 Hiroyuki Onaka
Docker Desktopの問題に対するワークアラウンド
• sshでリモートのDockerコンテナーに接続
• 環境変数DOCKER_HOSTを使用する等
• 設定が複雑という問題
• VSCode 1.63でリリースのRemote Docker on SSHでこ
の問題が解決
Copyright 2021 Hiroyuki Onaka
Remote Docker on SSH
Copyright 2021 Hiroyuki Onaka
開発基盤の構築・運用に関わる人の永遠のテーマ
• 「開発環境を全てWebブラウザー上で完結するようにすれば、
開発環境の構築に要するコストが必要なくなるのでは?」
Copyright 2021 Hiroyuki Onaka
そこでGitHub Codespaces
• GitHubがホスティングする、コンテナーによるWebブラウザー上で
完結する開発環境
• Remote ContainerとCodespacesの環境は互換性有
• GitHub EnterpriseユーザーへはGA
• Team/FreeプランユーザーにはWaitlistに対して順次提供
• 注意:github.comから起動できるvscode.devは軽量版
Copyright 2021 Hiroyuki Onaka
デモ:GitHub Codespaces+Live Shareの組み合わせによるオン
ラインコラボレーション
• ブラウザーからGitHub Codespacesの環境(開発コンテナ)
を起動、Spring Bootのアプリケーションを起動
• Live Shareで共有したVSCodeの環境でソースコードを編集
• Codespacesの環境で結果を確認
Copyright 2021 Hiroyuki Onaka
まとめ
• Javaの開発環境としてのVSCodeはRemote
Developmentとの組み合わせで実力を発揮します。
• Remote Containerとの組み合わせで、開発環境のセットアッ
プを省略化できます。
• Codespacesの相互運用でさらにひろがるRemote
Developmentの可能性
Copyright 2021 Hiroyuki Onaka
ありがとうございました!
• 大中浩行 (Hiroyuki Onaka)
• @setoazusa
• Microsoft MVP for Developer Technologies
• VS Code Meetupオーガナイザー

More Related Content

PDF
remote Docker over SSHが熱い
Hiroyuki Ohnaka
 
PDF
Remote Development with Visual Studio Code & A clean dev env, working every ...
Hiroyuki Ohnaka
 
PDF
これから始める Bot Builder 開発のコツと舞台裏
Yuta Matsumura
 
PPTX
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
Saki Homma
 
PDF
インフラジスティックス WPF コントロールを用いたリッチ アプリケーション開発
インフラジスティックス・ジャパン株式会社
 
PDF
Write slides and books in VSCode + Markdown
ロフト くん
 
PPTX
GBDC 勉強会 #2 Android Studio 実践レポート
Yutaka Kato
 
PPTX
Test automation strategy for .net core 3 transition
Tatsuya Ishikawa
 
remote Docker over SSHが熱い
Hiroyuki Ohnaka
 
Remote Development with Visual Studio Code & A clean dev env, working every ...
Hiroyuki Ohnaka
 
これから始める Bot Builder 開発のコツと舞台裏
Yuta Matsumura
 
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
Saki Homma
 
インフラジスティックス WPF コントロールを用いたリッチ アプリケーション開発
インフラジスティックス・ジャパン株式会社
 
Write slides and books in VSCode + Markdown
ロフト くん
 
GBDC 勉強会 #2 Android Studio 実践レポート
Yutaka Kato
 
Test automation strategy for .net core 3 transition
Tatsuya Ishikawa
 

What's hot (20)

PDF
Visual Studio 拡張機能の作り方
Yuki Igarashi
 
PDF
.NET 最新ロードマップと今押さえておきたい技術要素
Akira Inoue
 
PDF
デスクトップ向けUIコンポーネントの対応状況と今後の予定
インフラジスティックス・ジャパン株式会社
 
PDF
【de:code 2020】 セキュアなソフトウェアを実現する、GitHub のコード解析のご紹介
日本マイクロソフト株式会社
 
PDF
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
日本マイクロソフト株式会社
 
PPTX
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Saki Homma
 
PDF
.NET アプリを改善して実践する継続的インテグレーション
Yuta Matsumura
 
PDF
お気に入り拡張機能
SatsukiYabu
 
PPTX
Windows IoT Core and Robot Arm
Masuda Tomoaki
 
PPTX
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
Atsushi Nakamura
 
PDF
.NET Coreのいろは
Yuta Matsumura
 
PPTX
使い倒そう Visual Studio Code!!! ~ここからはじめる基本のキ~
Saki Homma
 
PDF
Introduction to VSCode
Yuki Igarashi
 
PDF
C# runs anywhere, make anything
Yuta Matsumura
 
PDF
VS Code新機能紹介 2020-2021
Yuki Ueda
 
PDF
DevOps、その前に
Yuta Matsumura
 
PDF
.NET Core時代のCI/CD
Yuta Matsumura
 
PDF
The Twelve-Factor (A|M)pp with C#
Yuta Matsumura
 
PDF
未知との交信!?Project SignalR
Yuta Matsumura
 
PDF
【BS2】.NET 6 最新アップデート
日本マイクロソフト株式会社
 
Visual Studio 拡張機能の作り方
Yuki Igarashi
 
.NET 最新ロードマップと今押さえておきたい技術要素
Akira Inoue
 
デスクトップ向けUIコンポーネントの対応状況と今後の予定
インフラジスティックス・ジャパン株式会社
 
【de:code 2020】 セキュアなソフトウェアを実現する、GitHub のコード解析のご紹介
日本マイクロソフト株式会社
 
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
日本マイクロソフト株式会社
 
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Saki Homma
 
.NET アプリを改善して実践する継続的インテグレーション
Yuta Matsumura
 
お気に入り拡張機能
SatsukiYabu
 
Windows IoT Core and Robot Arm
Masuda Tomoaki
 
Visual Studio 2019で始める「WPF on .NET Core 3.0」開発
Atsushi Nakamura
 
.NET Coreのいろは
Yuta Matsumura
 
使い倒そう Visual Studio Code!!! ~ここからはじめる基本のキ~
Saki Homma
 
Introduction to VSCode
Yuki Igarashi
 
C# runs anywhere, make anything
Yuta Matsumura
 
VS Code新機能紹介 2020-2021
Yuki Ueda
 
DevOps、その前に
Yuta Matsumura
 
.NET Core時代のCI/CD
Yuta Matsumura
 
The Twelve-Factor (A|M)pp with C#
Yuta Matsumura
 
未知との交信!?Project SignalR
Yuta Matsumura
 
【BS2】.NET 6 最新アップデート
日本マイクロソフト株式会社
 
Ad

Similar to VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験 (20)

PDF
JavaユーザのためのVSCodeのススメ
Satoshi Takami
 
PDF
Visual Studio Code のこれまでとこれから at OSC 2021 Online/Spring
Issei Hiraoka
 
PDF
Azure Cosmos DB Emulator on Docker を GitHub Codespaces で動かす!
Kazumi OHIRA
 
PDF
[JJUG CCC 2021 Spring]Eclipse ユーザのための VSCode のススメ
Satoshi Takami
 
PDF
DEV-001_オープンソース エディタ Visual Studio Code の極意
decode2016
 
PDF
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
Kazumi OHIRA
 
PDF
せっかくのOSSなんだし、ソースコード読むよね? 〜Apache Kafkaを例にしたOSSソースコードリーディングの基本〜 (Open Source C...
NTT DATA Technology & Innovation
 
PDF
Visual Studio Code #phpcon2015
Aya Tokura
 
PDF
GitHub Codespaces が拡げる開発環境、いつでもどこでも Visual Studio Code で!
Kazumi OHIRA
 
PDF
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
Kazumi OHIRA
 
PPTX
Visual Studio Code あれこれ
Shun Ishii
 
PPTX
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Saki Homma
 
PDF
Javaヂカラ #Java最新動向 -Java 11 の新機能やOracle Code One 2018 発の最新技術トレンドを一気にキャッチアップ-
PE-BANK
 
PDF
Jjug 20140430 gradle_basic
Takuma Watabiki
 
PPTX
VS Code Day 2021 Recap
Yuki Ueda
 
PDF
Javaで1から10まで書いた話(sanitized)
Tokuhiro Matsuno
 
PDF
【de:code 2020】 あらゆるエンジニアを支援! VS Code Meetup の紹介とハンズオンで活躍するテクニック集
日本マイクロソフト株式会社
 
PDF
Android studio で行ってみよう!!
Kazuaki Ueda
 
PPTX
HTML5×Monacaプログラミング教育事例セミナー・ワークショップ資料
アシアル株式会社
 
PDF
Fortranが拓く世界、VSCodeが架ける橋
智啓 出川
 
JavaユーザのためのVSCodeのススメ
Satoshi Takami
 
Visual Studio Code のこれまでとこれから at OSC 2021 Online/Spring
Issei Hiraoka
 
Azure Cosmos DB Emulator on Docker を GitHub Codespaces で動かす!
Kazumi OHIRA
 
[JJUG CCC 2021 Spring]Eclipse ユーザのための VSCode のススメ
Satoshi Takami
 
DEV-001_オープンソース エディタ Visual Studio Code の極意
decode2016
 
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
Kazumi OHIRA
 
せっかくのOSSなんだし、ソースコード読むよね? 〜Apache Kafkaを例にしたOSSソースコードリーディングの基本〜 (Open Source C...
NTT DATA Technology & Innovation
 
Visual Studio Code #phpcon2015
Aya Tokura
 
GitHub Codespaces が拡げる開発環境、いつでもどこでも Visual Studio Code で!
Kazumi OHIRA
 
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
Kazumi OHIRA
 
Visual Studio Code あれこれ
Shun Ishii
 
Visual Studio Codeを使い倒そう! ~プログラミングから機械学習、クラウド連携、遠隔ペアプロまで~
Saki Homma
 
Javaヂカラ #Java最新動向 -Java 11 の新機能やOracle Code One 2018 発の最新技術トレンドを一気にキャッチアップ-
PE-BANK
 
Jjug 20140430 gradle_basic
Takuma Watabiki
 
VS Code Day 2021 Recap
Yuki Ueda
 
Javaで1から10まで書いた話(sanitized)
Tokuhiro Matsuno
 
【de:code 2020】 あらゆるエンジニアを支援! VS Code Meetup の紹介とハンズオンで活躍するテクニック集
日本マイクロソフト株式会社
 
Android studio で行ってみよう!!
Kazuaki Ueda
 
HTML5×Monacaプログラミング教育事例セミナー・ワークショップ資料
アシアル株式会社
 
Fortranが拓く世界、VSCodeが架ける橋
智啓 出川
 
Ad

More from Hiroyuki Ohnaka (20)

PDF
ChefとItamaeをニコイチしてAnsibleにマイグレーションした話
Hiroyuki Ohnaka
 
PDF
「WindowsデスクトップでWeb開発 改訂版」サンプル
Hiroyuki Ohnaka
 
PDF
Mackerelの薄い本
Hiroyuki Ohnaka
 
PDF
Microsoft DocsにContributeした話
Hiroyuki Ohnaka
 
PDF
Azure functions+typescript
Hiroyuki Ohnaka
 
PDF
技術書典4 く-35「錬金術MeetUp」 Alchemist Vol.1 サンプル版
Hiroyuki Ohnaka
 
PDF
4/22 技術書典4 か-16「ふぃーるどのーつ」 新刊「すいーとみゅーじっく vol.5Mackerelではじめるお手軽サーバー監視」サンプル版
Hiroyuki Ohnaka
 
PDF
仮想通貨始めました~GethではじめるEthereum~
Hiroyuki Ohnaka
 
PDF
錬金術MeetUpへのお誘い
Hiroyuki Ohnaka
 
PDF
Mackerelではじめる お手軽サーバー監視
Hiroyuki Ohnaka
 
PDF
「GebとSpockではじめるシステムテスト自動化」
Hiroyuki Ohnaka
 
PDF
TDDはじめて物語Second Season(updated)
Hiroyuki Ohnaka
 
PDF
TDDはじめて物語 Second Season #tddbc
Hiroyuki Ohnaka
 
PDF
XP祭り2017 LT 「DevOps再考」(改題)
Hiroyuki Ohnaka
 
PDF
JDK9の真の目玉機能はこれだ!
Hiroyuki Ohnaka
 
PDF
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~
Hiroyuki Ohnaka
 
PDF
「すいーとみゅーじっく」のできるまで
Hiroyuki Ohnaka
 
PDF
pact-jvmではじめるコンシューマー駆動契約
Hiroyuki Ohnaka
 
PDF
実録Blue-Green Deployment導入記
Hiroyuki Ohnaka
 
PDF
TDDのこれまで、そしてこれから
Hiroyuki Ohnaka
 
ChefとItamaeをニコイチしてAnsibleにマイグレーションした話
Hiroyuki Ohnaka
 
「WindowsデスクトップでWeb開発 改訂版」サンプル
Hiroyuki Ohnaka
 
Mackerelの薄い本
Hiroyuki Ohnaka
 
Microsoft DocsにContributeした話
Hiroyuki Ohnaka
 
Azure functions+typescript
Hiroyuki Ohnaka
 
技術書典4 く-35「錬金術MeetUp」 Alchemist Vol.1 サンプル版
Hiroyuki Ohnaka
 
4/22 技術書典4 か-16「ふぃーるどのーつ」 新刊「すいーとみゅーじっく vol.5Mackerelではじめるお手軽サーバー監視」サンプル版
Hiroyuki Ohnaka
 
仮想通貨始めました~GethではじめるEthereum~
Hiroyuki Ohnaka
 
錬金術MeetUpへのお誘い
Hiroyuki Ohnaka
 
Mackerelではじめる お手軽サーバー監視
Hiroyuki Ohnaka
 
「GebとSpockではじめるシステムテスト自動化」
Hiroyuki Ohnaka
 
TDDはじめて物語Second Season(updated)
Hiroyuki Ohnaka
 
TDDはじめて物語 Second Season #tddbc
Hiroyuki Ohnaka
 
XP祭り2017 LT 「DevOps再考」(改題)
Hiroyuki Ohnaka
 
JDK9の真の目玉機能はこれだ!
Hiroyuki Ohnaka
 
Java8移行は怖くない~エンタープライズ案件でのJava8移行事例~
Hiroyuki Ohnaka
 
「すいーとみゅーじっく」のできるまで
Hiroyuki Ohnaka
 
pact-jvmではじめるコンシューマー駆動契約
Hiroyuki Ohnaka
 
実録Blue-Green Deployment導入記
Hiroyuki Ohnaka
 
TDDのこれまで、そしてこれから
Hiroyuki Ohnaka
 

VSCode Remote Container & GitHub Codespacesで拓く次世代のJava開発体験

  • 1. Copyright 2021 Hiroyuki Onaka VSCode Remote Container & GitHub Codespacesで拓く次世代の Java開発体験 2022/02/03 Microsoft Developer Night 大中浩行 この作品はMicrosoft Corporationから許諾されているものを除き クリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。
  • 2. Copyright 2021 Hiroyuki Onaka IDEとしてトップシェアのVisual Studio Code(VSCode) Stack Overflow Developer Survey 2021 から:https://insights.stackoverflow.com/survey/2021
  • 3. Copyright 2021 Hiroyuki Onaka そんなVSCodeでJavaの開発ができます!
  • 4. Copyright 2021 Hiroyuki Onaka VSCodeによるJava開発に必要なもの • VSCode本体 • JDK • Java11以上が必要 • Coding Pack for Java • http://aka.ms/vscode-java-getting-start
  • 5. Copyright 2021 Hiroyuki Onaka デモ: VSCodeでJavaクラスの実行
  • 6. Copyright 2021 Hiroyuki Onaka Javaの開発環境としてのVSCodeってどうなの? • 動作が軽快 • プロジェクトやワークスペースを作成しないでソースコード単独で実行 できる点など、学習用途には向いている • 他のIDEのように、プロジェクトを作成しての開発も可能 • 検証用途のコード実行など(JShellはあるが)
  • 7. Copyright 2021 Hiroyuki Onaka 業務で使えますか? • IntelliJ IDEA/Eclipseのツートップに比べるとまだ発展途上 • 以前からは大分改善されました • Javaの開発環境としては言語サポート以外にもアプリケーショ ンサーバー、ビルドツールなどの統合のレベル向上が必要 • 機能追加・改善は積極的に行われています
  • 8. Copyright 2021 Hiroyuki Onaka ではなぜJava in Visual Studio Codeを取り上げるのか? • VSCodeの強みとの組み合わせにより、新しい開発者体験を Java開発者に提供できる可能性がある。 • それがRemote Development
  • 9. Copyright 2021 Hiroyuki Onaka VSCodeのRemote Development VSCodeからリモートの環境に接続して、シームレスな開発を実現 • SSH • コンテナー(Docker) • WSL(Windows Subsystem for Linux) • GitHub Codespaces
  • 10. Copyright 2021 Hiroyuki Onaka Remote Developmentのユースケース • リモートの開発環境に接続しての開発 • 開発環境のセットアップの省略化
  • 11. Copyright 2021 Hiroyuki Onaka 開発環境のリモート化の背景 • 開発用途のデスクトップ環境に必要なリソースは増加の一途 • 画面共有など、オンラインでのコラボレーションの活発化 • Docker / WSL2 などの仮想化前提のソリューションの普及 • デスクトップ環境に必要なメモリーは16GB?32GB? • サイズの大きいデータセットを扱うことの一般化 • 例として、Elasticsearchのカスタム辞書を用いた開発など
  • 12. Copyright 2021 Hiroyuki Onaka SSHによるリモート開発環境 • Azureなどパブリッククラウドの使用により、柔軟にクラウド上 の資源を開発環境として使用することが可能 • 「アプリケーションを動かす環境がLinuxだったら開発環境も Linuxにしません?」という昔からあったニーズの実現
  • 13. Copyright 2021 Hiroyuki Onaka VSCodeによるリモート開発に必要なもの • Remote Development extension pack • https://aka.ms/vscode-remote • OpenSSHクライアント • Windows10/11はOS標準で導入可能 • リモート接続先のプラットフォーム • サーバー(Linux/macOS/Windows) • WSL • Dockerコンテナー
  • 14. Copyright 2021 Hiroyuki Onaka リモート開発における開発環境へのニーズ • クラウド上の開発環境を使用する場合、必要に応じて開発環境 を構築するようにしたい • Git(GitHub)からコードをクローンした状態で開発環境のセッ トアップができるようにしたい
  • 15. Copyright 2021 Hiroyuki Onaka Remote Containerによる開発環境のコード化 • VSCodeのRemote ContainerとDocker Desktopの組 み合わせによる開発環境の構築のコード化 • コード化の対象 • VSCodeの構成(拡張機能の構成およびVSCodeの設定) • devcontainer(開発コンテナ) の構成 • Live Shareによる、共同編集のサポート
  • 16. Copyright 2021 Hiroyuki Onaka VSCode+Docker Desktopの問題点 • Docker Desktopを動かすデスクトップ環境に高いスペックが必要 • ディスク入出力のパフォーマンスの低下によるビルド時間やアプリ ケーションの起動時間の悪化 • Production Codeを組み込んだ時に顕在化しがち • Windows10 HomeだとWSL2を有効にしないとDocker Desktopがインストールできない
  • 17. Copyright 2021 Hiroyuki Onaka Docker Desktopの問題に対するワークアラウンド • sshでリモートのDockerコンテナーに接続 • 環境変数DOCKER_HOSTを使用する等 • 設定が複雑という問題 • VSCode 1.63でリリースのRemote Docker on SSHでこ の問題が解決
  • 18. Copyright 2021 Hiroyuki Onaka Remote Docker on SSH
  • 19. Copyright 2021 Hiroyuki Onaka 開発基盤の構築・運用に関わる人の永遠のテーマ • 「開発環境を全てWebブラウザー上で完結するようにすれば、 開発環境の構築に要するコストが必要なくなるのでは?」
  • 20. Copyright 2021 Hiroyuki Onaka そこでGitHub Codespaces • GitHubがホスティングする、コンテナーによるWebブラウザー上で 完結する開発環境 • Remote ContainerとCodespacesの環境は互換性有 • GitHub EnterpriseユーザーへはGA • Team/FreeプランユーザーにはWaitlistに対して順次提供 • 注意:github.comから起動できるvscode.devは軽量版
  • 21. Copyright 2021 Hiroyuki Onaka デモ:GitHub Codespaces+Live Shareの組み合わせによるオン ラインコラボレーション • ブラウザーからGitHub Codespacesの環境(開発コンテナ) を起動、Spring Bootのアプリケーションを起動 • Live Shareで共有したVSCodeの環境でソースコードを編集 • Codespacesの環境で結果を確認
  • 22. Copyright 2021 Hiroyuki Onaka まとめ • Javaの開発環境としてのVSCodeはRemote Developmentとの組み合わせで実力を発揮します。 • Remote Containerとの組み合わせで、開発環境のセットアッ プを省略化できます。 • Codespacesの相互運用でさらにひろがるRemote Developmentの可能性
  • 23. Copyright 2021 Hiroyuki Onaka ありがとうございました! • 大中浩行 (Hiroyuki Onaka) • @setoazusa • Microsoft MVP for Developer Technologies • VS Code Meetupオーガナイザー