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

AIとペアプロ!! ChatGPTとGitHub Copilotで ToDoアプリを爆速ライブコーディング/wakarimigithubcopilot

AIとペアプロ!! ChatGPTとGitHub Copilotで ToDoアプリを爆速ライブコーディング/wakarimigithubcopilot

昨今、AI技術の急速な進化により、ソフトウェア開発の新しい可能性が広がっています。その中でも特に目を引くのが「ChatGPT」と「GitHub Copilot」です。これらの革新的な技術を駆使することで、かつては手間と時間を要したプログラミングが、驚異的な速度と効率で完成するようになります。

ChatGPTは、OpenAIによって開発された高度な自然言語処理(NLP)モデルです。このモデルはテキストベースの対話を理解し、自然な文章を生成する能力があります。プログラミングではコードの説明から問題解決、アイデア生成、そしてコードレビューまで多様な作業を効率化するのに役立ちます。これはもうソフトウェア開発のパラダイムシフトです。

GitHub Copilotは、GitHubとOpenAIが共同で開発したこのAIペアプログラマーは、あらゆるコーディング状況に対応するインテリジェントな補完機能と提案を提供します。実は、これはGitHubの膨大なコードベースから学習しており、それが可能にした先進的なコーディング補助ツールです。

今回は、この二つの技術を組み合わせて、爆速でToDoアプリを開発してみます!!ソースコード本体はもちろんのこと、DBスキーマの作成、テストコードの生成、さらにはリファクタリングまでAIにやってもらいます。

ぜひ、AIがソフトウェア開発にもたらす新しい可能性を一緒に体験しましょう。

今回ライブコーディングする環境は以下の通りとなります。

- 開発環境: Visual Studio Code
- 開発言語: Java
- フレームワーク: Spring Boot
- データベース: MySQL

Noriyuki TAKEI

October 03, 2023
Tweet

More Decks by Noriyuki TAKEI

Other Decks in Technology

Transcript

  1. Noriyuki TAKEI ෢Ҫ ٓߦ Information • サイオステクノロジー株式会社 • Microsoft MVP

    for Microsoft Azure Favorites • Azure • パデル • スキー • ライブ配信 • ⽢いもの • ⾛ること blog https://tech-lab.sios.jp/ core skill Azureによるクラウドネイティブな アプリ開発 Twitter @noriyukitakei
  2. GitHub Copilot Chat GitHub Copilot Chatとは、AI技術を活⽤したコー ド補完ツールです。 GitHub Copilot Chatを使うと、サポートされてい

    るIDE内で直接コーディング関連の質問を⾏い、回 答を受け取ることができます。 たとえば、関数の書き⽅やコードの説明、単体テス トの⽣成、コード修正の提案などが可能です。 GitHub Copilot Chatは現在、限定的なパブリック ベータ版であり、申し込みが必要です
  3. Chat GPTとGitHub Copilot Chatの違い ChatGPTでコードをリファクタする場合 Visual Studio Codeからリファク タ対象のコードをコピーする。 ChatGPTにコードを貼り付けて

    、質問をする。得られた回答を コピーする。 ChatGPT得た回答をVisual Studio Codeに貼付ける。 Visual Studio Code ChatGPT(ブラウザ) Visual Studio Code
  4. ライセンス形態 1 か⽉あたり $10、または 1 年あたり $100 Copilot for Individuals

    Copilot for Business 価格 GitHubアカウントの種類 テレメトリ パブリック コードに⼀致する候補をブロック する エディターに直接接続する 複数⾏の関数の候補を提案する Organization 全体にわたるポリシー管理 カスタム証明書を使⽤した HTTP プロキシの サポート Copilot Chatの利⽤ 1 ユーザー、1 か⽉あたり $19 個⼈⽤アカウント Organization または Enterprise アカウン ト ✓ ✗ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✗ ✓ ✗ ✓ → ✓
  5. ライブコーディングするアプリの仕様 Visual Studio Code 開発環境 Java 開発⾔語 Spring Boot フレームワーク

    MySQL データベース Docker コンテナ管理ツール ToDOの追加、⼀覧表⽰、削除 機能
  6. ディレクトリ構成 java/com/example/demo controller service repository resources application.propeties templates index.html ToDoController.java

    ToDoService.java ToDoRepository.java src → コントローラー → サービス → リポジトリ → thymeleafテンプレート → 設定ファイル entity ToDoEntity.java → エンティティ
  7. エンジニア募集(プロフェッショナルサービスチーム) エンジニアファーストの環境で、技術⼒を⾼めませんか︖ 変化や進化を楽しみながら、私たちとともに歩んでくれる仲間を募集してい ます︕ OSS & クラウド技術をコアテクノロジーとしたシステム開発 • 統合認証システム&クラウド連携 •

    OSS&クラウド基盤導⼊、OSSカスタマイズや開発、OSSサポート • クラウドネイティブシステム、データ分析基盤、アプリ開発 • APIエコノミーコンサルティング&技術⽀援サービス 詳細はこちらのサイトからご覧ください︕ https://tech-lab-engineer.sios.jp/