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

Amazon Q Developerの無料利用枠を使い倒してHello worldを表示させよう!

NRI Netcom
February 28, 2025

Amazon Q Developerの無料利用枠を使い倒してHello worldを表示させよう!

NRI Netcom

February 28, 2025
Tweet

More Decks by NRI Netcom

Other Decks in Technology

Transcript

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

    Q Developerについて 3.Amazon Q Developerの無料利用枠で アプリを作ってみた 4.まとめ 目次
  2. 4 Copyright(C) NRI Netcom, Ltd. All rights reserved. ◼名前:松澤武志(まつざわたけし) ◼NRIネットコム株式会社(2024年入社)NTシステム事業一部配属

    ⚫ Javaアプリケーションエンジニア ⚫ AWS業務で全然使っていません ◼趣味:お弁当作り ⚫ 同期におすそわけして好評です ⚫ Notionでお弁当まとめサイトを作っています ◼好きなAWSサービス: 自己紹介 Amazon SageMaker
  3. 6 Copyright(C) NRI Netcom, Ltd. All rights reserved. こんな時にAmazon Q

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

    2. AmazonQ Developerについて 一言で言うと……生成AIアシスタントサービス Amazon Q Business Amazon Q Developer Amazon Q
  5. 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内でアプリケーションの作成 • プロンプトに命令するだけ • タスクの自動化が可能
  6. 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でサポート
  7. 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について
  8. 12 Copyright(C) NRI Netcom, Ltd. All rights reserved. 3. Amazon

    Q Developerの無料利用枠でHelloWorldを表示させてみた
  9. 13 Copyright(C) NRI Netcom, Ltd. All rights reserved. 事前準備 (Amazon

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

    Initializerによるプロジェクトの作成) ◼Spring Initializerでamazonqプロジェクトの新規作成 3. Amazon Q Developerの無料利用枠でHelloWorldを表示させてみた
  11. 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を表示させてみた
  12. 17 Copyright(C) NRI Netcom, Ltd. All rights reserved. 1. HelloWorldを表示させるコントローラーを作成してください

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

    3. Amazon Q Developerの無料利用枠でHelloWorldを表示させてみた ◼HelloWorldController.javaの新規作成 ⚫Controllerクラスを新規生成!!
  14. 20 Copyright(C) NRI Netcom, Ltd. All rights reserved. 2. このアプリケーションを起動させてください

    ◼Action.md ⚫.\gredlew.bat bootRun を実行すれば実行できる 3. Amazon Q Developerの無料利用枠でHelloWorldを表示させてみた
  15. 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しか記載なかった…
  16. 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を表示させてみた
  17. 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を表示させてみた
  18. 26 Copyright(C) NRI Netcom, Ltd. All rights reserved. 起動完了!!! 3.

    Amazon Q Developerの無料利用枠でHelloWorldを表示させてみた
  19. 27 Copyright(C) NRI Netcom, Ltd. All rights reserved. あと1回でAPIの作成 仮定

    • taskテーブルが存在 • カラムとしてタスク期限、タスク名(型や主キー等は特に決めない) • POSTリクエストを受け付けるAPIを作成
  20. 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を表示させてみた
  21. 29 Copyright(C) NRI Netcom, Ltd. All rights reserved. 5. タスク、日付が情報として格納されるPOSTリクエストを受け付け、

    taskテーブルにデータを格納するAPIを作成してください ◼Task.java(右) ◼TaskRepository.java(左上) ◼Application.properties(左下) 3. Amazon Q Developerの無料利用枠でHelloWorldを表示させてみた
  22. 33 Copyright(C) NRI Netcom, Ltd. All rights reserved. ◼すべて生成AIに丸投げでアプリケーションを作るのは厳しい ◼1つのコマンドで様々なことをやってもらうように大雑把な命令が効率的

    ⚫APIを作成してください→5つのファイル作成 ⚫コントローラーの作成→1つのファイル作成 ◼細かな設定はAmazonQに任せずに自分でコードを書いた方が速い ⚫環境設定を間違えることが多い ◼プロンプトエンジニアリングの技術も必要 ⚫Applicationファイルを1つに統一したかったのに2つ作成されてしまった ◼Java等のプログラミング言語を出力するだけでなく、mdファイルも出力される点は便利 ⚫/docコマンドでさらに高度なReadmeファイルも作成される まとめ