Upgrade to Pro — share decks privately, control downloads, hide ads and more …

developers summit 2023 9-D-1 development environment

developers summit 2023 9-D-1 development environment

Developers Summit 2023 9-D-1 「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」でお話した資料です。
https://event.shoeisha.jp/devsumi/20230209/session/4155/

Kazumi IWANAGA

February 09, 2023
Tweet

More Decks by Kazumi IWANAGA

Other Decks in Technology

Transcript

  1. 岩永かづみ / Kazumi IWANAGA • Microsoft MVP for Azure •

    ZEN Architects 所属 • GitHub公認トレーナー • 得意な領域 • Infrastructure as Code • GitHub Actions による自動化 • 技術コミュニティ • Code Polaris / Hack Everything. • @dz_ • @dzeyelid • @dzeyelid
  2. わたしの開発環境移り変わり 2006 ~ 2012 組込み開発 C/C++ • Visual Studio •

    Carbide(Eclipseベース) • サクラエディタ • 秀丸 Androidアプリ開発 Java • Eclipse 2013 ~ 2020 ウェブアプリケーション開発 Ruby • emacs PHP • Sublime Text • PhpStorm • Visual Studio Code Python • Visual Studio Code? 2021 ~ ウェブアプリケーション開発 JavaScript/TypeScript • Visual Studio Code
  3. 苦悩のストーリー プロジェクトごとに異なる環境 エディタ、IDE ランタイム SDK packages plugins, extensions フレームワーク データベース

    … + エディタ、IDE ランタイム SDK packages plugins, extensions フレームワーク データベース … + エディタ、IDE ランタイム SDK packages plugins, extensions フレームワーク データベース … +
  4. 苦悩のストーリー なんなら、同じプロジェクトでも差異 エディタ、IDE ランタイム SDK packages plugins, extensions フレームワーク データベース

    … + エディタ、IDE ランタイム SDK packages plugins, extensions フレームワーク データベース … + バージョンが違う パッケージが足りない データベースにつながらない
  5. 苦悩のストーリー なんなら、同じプロジェクトでも差異 エディタ、IDE ランタイム SDK packages plugins, extensions フレームワーク データベース

    … + エディタ、IDE ランタイム SDK packages plugins, extensions フレームワーク データベース … + 個人設定へのこだわり 拡張機能やキーバインドの違い
  6. 苦悩のストーリー IDE の設定を共有? • .vimrc • .emacs • IntelliJ IDEA/PyCharm/PhpStorm

    Settings Sync • Visual Studio Code Settings Sync • Visual Studio の設定共有は複雑で、秘伝のたれになってしまうらし い…
  7. これまでの Web IDE は用途が限られる • CodePen • CodeSandbox • AWS

    Cloud9 • Microsoft Azure - App Service Editor (現在は終了)
  8. リモート開発環境に期待 • Gitpod • JetBrains Space • Google Cloud -

    Cloud Workstations (preview) • Amazon CodeCatalyst (preview) - Dev Environments • GitHub Codespaces
  9. リモート開発環境に期待 • Gitpod • JetBrains Space • Google Cloud -

    Cloud Workstations (preview) • Amazon CodeCatalyst (preview) - Dev Environments • GitHub Codespaces
  10. 使い慣れたインタフェースから使う • 参考: Visual Studio Code で GitHub Codespaces を使用する

    - GitHub Docs • 参考: JetBrains IDE で GitHub Codespaces を使う - GitHub Docs • 参考: 機械学習のための GitHub Codespaces の概要 - GitHub Docs
  11. マシンタイプ マシンタイプ メモリ ストレージ 備考 2 core 4 GB RAM

    32 GB 4 core 8 GB RAM 32 GB 8 core 16 GB RAM 64 GB 16 core 32 GB RAM 128 GB 32 core 64 GB RAM 128 GB 申請が必要 6 core (1 GPU) 112 GB RAM 128 GB 申請が必要
  12. Dev container でカスタマイズ • Features による簡単インストール • VS Code のエクステンションのインストール

    • OnCreateCommand などのライフサイクルへのフック • Dockerfile を用いた、より自由なカスタマイズ
  13. 課金体系 • 利用時間とストレージの使用量で算出 • 個人アカウントには、1ヶ月あたり無料利用枠がふくまれる • GitHub Free – 15GB/月のストレージ、120時間/コアの利用時間

    • GitHub Pro – 20GB/月のストレージ、180時間/コアの利用時間 マシンタイプ 利用時間の価格/時間 2 core $0.18 4 core $0.36 8 core $0.72 16 core $1.44 32 core $2.88 ストレージ量 ストレージ量の価格/月 1 GB $0.07
  14. 課金体系(Organization) • Organization 配下のリポジトリで codespace を立ち上げる場合、 Organization の設定によって、課金される対象が異なる 説明 Organization

    の設定 上限に達するまでは、Organization に課金される • そのユーザーに対して codespaces の利用が許 可されている • spending limit の設定が 1 以上、または Unlimited spending codespace を起動するユーザーに課金される • 上記を満たさない
  15. 課金に関する資料 • GitHub Codespaces の請求について - GitHub Docs • GitHub

    Codespaces の使用状況の表示 - GitHub Docs • GitHub Codespaces の使用制限の管理 - GitHub Docs
  16. 管理 • Dotfiles • シークレット • アカウント • リポジトリ •

    GPG verification • デフォルトのエディタ • アイドル タイムアウト • 保持期間 • リージョン
  17. 管理(Organization) • 利用可能なメンバー • ポリシー • マシンタイプ • ポートの公開範囲 •

    アイドル タイムアウトの最大値 • 保持期間の最大値 • 利用可能なイメージの制限 • API により、メンバーの利用状況を取得できる