Slide 1

Slide 1 text

2025年2月26日 Amazon Q Developerの無料利用枠を使い倒して Hello worldを表示させよう! NRIネットコム株式会社 NTシステム事業一部 NTシステム開発二課 松澤 武志 NRIネットコム×シーイーシー共催ウェビナー

Slide 2

Slide 2 text

2 Copyright(C) NRI Netcom, Ltd. All rights reserved. 1.自己紹介 2.Amazon Q Developerについて 3.Amazon Q Developerの無料利用枠で アプリを作ってみた 4.まとめ 目次

Slide 3

Slide 3 text

3 Copyright(C) NRI Netcom, Ltd. All rights reserved. 1. 自己紹介

Slide 4

Slide 4 text

4 Copyright(C) NRI Netcom, Ltd. All rights reserved. ◼名前:松澤武志(まつざわたけし) ◼NRIネットコム株式会社(2024年入社)NTシステム事業一部配属 ⚫ Javaアプリケーションエンジニア ⚫ AWS業務で全然使っていません ◼趣味:お弁当作り ⚫ 同期におすそわけして好評です ⚫ Notionでお弁当まとめサイトを作っています ◼好きなAWSサービス: 自己紹介 Amazon SageMaker

Slide 5

Slide 5 text

5 Copyright(C) NRI Netcom, Ltd. All rights reserved. 2. AmazonQ Developerについて

Slide 6

Slide 6 text

6 Copyright(C) NRI Netcom, Ltd. All rights reserved. こんな時にAmazon Q Developerが便利です! 生成AIにコード 書いてもらったらいいのに… 皆さんはこんなことを思ったことはありませんか?

Slide 7

Slide 7 text

7 Copyright(C) NRI Netcom, Ltd. All rights reserved. Amazon Qとは 2. AmazonQ Developerについて 一言で言うと……生成AIアシスタントサービス Amazon Q Business Amazon Q Developer Amazon Q

Slide 8

Slide 8 text

8 Copyright(C) NRI Netcom, Ltd. All rights reserved. Amazon Q Business 2. AmazonQ Developerについて 企業内のデータや情報に基づいて回答を生成 Ex) 「明日のミーティングは何時から」 →「13時からです」 生成AIを活用したビジネス向けのサービス 画像引用・参考:Amazon Q Apps の一般公開を開始、 独自の生成 AI アプリ構築が可能に Amazon Q Apps内でアプリケーションの作成 • プロンプトに命令するだけ • タスクの自動化が可能

Slide 9

Slide 9 text

9 Copyright(C) NRI Netcom, Ltd. All rights reserved. Amazon Q Developer 2. AmazonQ Developerについて 参考:Amazon Q - 生成 AI 搭載アシスタント アプリケーション のコーディング テスト レガシーなコード のモダナイズ エラー診断 セキュリティ スキャン AWSリソースの 最適化 開発におけるあらゆるタスクをサポート • JetBrains社のIDE • InteliJ • VS Code • Visual Studio • Eclipse(プレビュー) さまざまなIDEでサポート

Slide 10

Slide 10 text

10 Copyright(C) NRI Netcom, Ltd. All rights reserved. Amazon Q Developerコマンド一覧 • コードやファイルの生成 /dev • レガシーなコードのアップグレード /transform • サービスに関するヘルプ /help • セッションの切断 /clear re:Invent 2024で発表! • ユニットテストの自動生成 /test(new!) • コードレビューの実行 /review(new!) • コードをもとにReadmeファイル、データフロー図を自動生成 /doc(new!) 2. AmazonQ Developerについて

Slide 11

Slide 11 text

11 Copyright(C) NRI Netcom, Ltd. All rights reserved. これからますます開発が手軽 にできそう!

Slide 12

Slide 12 text

12 Copyright(C) NRI Netcom, Ltd. All rights reserved. 3. Amazon Q Developerの無料利用枠でHelloWorldを表示させてみた

Slide 13

Slide 13 text

13 Copyright(C) NRI Netcom, Ltd. All rights reserved. 事前準備 (Amazon Q Developerのプラグインインストール) ◼IDE:JetBrains社「InteliJ IDEA」 ◼Amazon Q プラグインのインストール ◼インストール後、自身のAWSアカウントでログイン 3. Amazon Q Developerの無料利用枠でHelloWorldを表示させてみた

Slide 14

Slide 14 text

14 Copyright(C) NRI Netcom, Ltd. All rights reserved. 事前準備 (Spring Initializerによるプロジェクトの作成) ◼Spring Initializerでamazonqプロジェクトの新規作成 3. Amazon Q Developerの無料利用枠でHelloWorldを表示させてみた

Slide 15

Slide 15 text

15 Copyright(C) NRI Netcom, Ltd. All rights reserved. ルール ◼Amazon Q Developer Agent(/devコマンド)は1か月に5回利用できる(無料利用枠) ⚫プロンプトに5回命令! ◼UI上で「Hello World」を表示させる簡単なアプリケーションを作成 ◼プロンプトの入力内容は日本語で考える→Deeplで英語翻訳 ⚫2024年11月ではAmazon Q Developerは日本語未対応 3. Amazon Q Developerの無料利用枠でHelloWorldを表示させてみた

Slide 16

Slide 16 text

16 Copyright(C) NRI Netcom, Ltd. All rights reserved. いざ使ってみよう!

Slide 17

Slide 17 text

17 Copyright(C) NRI Netcom, Ltd. All rights reserved. 1. HelloWorldを表示させるコントローラーを作成してください 3. Amazon Q Developerの無料利用枠でHelloWorldを表示させてみた プロンプトに命令→コード生成の様子 • 変更点の要約 • 参照したファイル・作成したファイル等 の記載 • Accept All changesで変更を適用

Slide 18

Slide 18 text

18 Copyright(C) NRI Netcom, Ltd. All rights reserved. 1. HelloWorldを表示させるコントローラーを作成してください 3. Amazon Q Developerの無料利用枠でHelloWorldを表示させてみた ◼HelloWorldController.javaの新規作成 ⚫Controllerクラスを新規生成!!

Slide 19

Slide 19 text

19 Copyright(C) NRI Netcom, Ltd. All rights reserved. いざ実行!…できない 次に起動方法を教えてもらうことに

Slide 20

Slide 20 text

20 Copyright(C) NRI Netcom, Ltd. All rights reserved. 2. このアプリケーションを起動させてください ◼Action.md ⚫.\gredlew.bat bootRun を実行すれば実行できる 3. Amazon Q Developerの無料利用枠でHelloWorldを表示させてみた

Slide 21

Slide 21 text

21 Copyright(C) NRI Netcom, Ltd. All rights reserved. いざ実行!…できない(2回目) org.springframework.boot.docker.compose.core.DockerProcessStartExc eption: Unable to start docker process. Is docker correctly installed? そういえばDockerを起動していない… 「compose.yaml」にservicesしか記載なかった…

Slide 22

Slide 22 text

22 Copyright(C) NRI Netcom, Ltd. All rights reserved. 3. このアプリケーションをlocalhost:8080で起動させるために必要な コンテナを起動させる情報をcompose.yamlに記載してください ◼compose.yamlの修正 ⚫「docker-compose -f compose.yaml build」でコンテナ起動! 3. Amazon Q Developerの無料利用枠でHelloWorldを表示させてみた

Slide 23

Slide 23 text

23 Copyright(C) NRI Netcom, Ltd. All rights reserved. コンテナ起動できない… Dockerイメージを出力するための「Dockerfile」がなかった…

Slide 24

Slide 24 text

24 Copyright(C) NRI Netcom, Ltd. All rights reserved. 4. Dockerファイルを作成し、compose.ymlでDockerファイルを指定してください ◼Dockerfile ⚫「docker-compose -f compose.yaml build」でコンテナ起動! 3. Amazon Q Developerの無料利用枠でHelloWorldを表示させてみた

Slide 25

Slide 25 text

25 Copyright(C) NRI Netcom, Ltd. All rights reserved. コンテナ起動できない…(2回目) FROM句で指定するDockerイメージを変更 COPY句のパスを変更 ポート番号を8081に変更 などなど

Slide 26

Slide 26 text

26 Copyright(C) NRI Netcom, Ltd. All rights reserved. 起動完了!!! 3. Amazon Q Developerの無料利用枠でHelloWorldを表示させてみた

Slide 27

Slide 27 text

27 Copyright(C) NRI Netcom, Ltd. All rights reserved. あと1回でAPIの作成 仮定 • taskテーブルが存在 • カラムとしてタスク期限、タスク名(型や主キー等は特に決めない) • POSTリクエストを受け付けるAPIを作成

Slide 28

Slide 28 text

28 Copyright(C) NRI Netcom, Ltd. All rights reserved. 5. タスク、日付が情報として格納されるPOSTリクエストを受け付け、 taskテーブルにデータを格納するAPIを作成してください ◼APIに必要なController、Entity、Repository等のファイルを新規作成! ◼TaskController.java(→) ◼Application.java(↓) 3. Amazon Q Developerの無料利用枠でHelloWorldを表示させてみた

Slide 29

Slide 29 text

29 Copyright(C) NRI Netcom, Ltd. All rights reserved. 5. タスク、日付が情報として格納されるPOSTリクエストを受け付け、 taskテーブルにデータを格納するAPIを作成してください ◼Task.java(右) ◼TaskRepository.java(左上) ◼Application.properties(左下) 3. Amazon Q Developerの無料利用枠でHelloWorldを表示させてみた

Slide 30

Slide 30 text

30 Copyright(C) NRI Netcom, Ltd. All rights reserved. しかし、複数の課題が… アプリケーションクラスは既存と別で実装されてしまった コントローラーやリポジトリなどが同一パッケージに格納

Slide 31

Slide 31 text

31 Copyright(C) NRI Netcom, Ltd. All rights reserved. 無料利用枠終了!!

Slide 32

Slide 32 text

32 Copyright(C) NRI Netcom, Ltd. All rights reserved. 4. まとめ

Slide 33

Slide 33 text

33 Copyright(C) NRI Netcom, Ltd. All rights reserved. ◼すべて生成AIに丸投げでアプリケーションを作るのは厳しい ◼1つのコマンドで様々なことをやってもらうように大雑把な命令が効率的 ⚫APIを作成してください→5つのファイル作成 ⚫コントローラーの作成→1つのファイル作成 ◼細かな設定はAmazonQに任せずに自分でコードを書いた方が速い ⚫環境設定を間違えることが多い ◼プロンプトエンジニアリングの技術も必要 ⚫Applicationファイルを1つに統一したかったのに2つ作成されてしまった ◼Java等のプログラミング言語を出力するだけでなく、mdファイルも出力される点は便利 ⚫/docコマンドでさらに高度なReadmeファイルも作成される まとめ

Slide 34

Slide 34 text

34 Copyright(C) NRI Netcom, Ltd. All rights reserved. 皆さんもAmazon Q Developer を 使ってみましょう!

Slide 35

Slide 35 text

No content