Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Amazon Q Developerの無料利用枠を使い倒してHello worldを表示させよう!
Search
NRI Netcom
PRO
February 28, 2025
Technology
1
22
Amazon Q Developerの無料利用枠を使い倒してHello worldを表示させよう!
NRI Netcom
PRO
February 28, 2025
Tweet
Share
More Decks by NRI Netcom
See All by NRI Netcom
役員・マネージャー・著者・エンジニアそれぞれの立場から見たAWS認定資格
nrinetcom
PRO
1
1.6k
マルチアカウント環境における組織ポリシーについて まとめてみる
nrinetcom
PRO
1
18
内製化を加速させるlaC活用術
nrinetcom
PRO
2
100
組織におけるCCoEの役割とAWS活用事例
nrinetcom
PRO
4
93
CNAPPから考えるAWSガバナンスの実践と最適化
nrinetcom
PRO
1
580
AWSサービスアップデート 2024/12 Part3
nrinetcom
PRO
0
270
AWSマンスリーアップデートピックアップ!!~AWS re:Invent2024特別編~
nrinetcom
PRO
0
81
20241218_マルチアカウント環境におけるIAM_Access_Analyzerによる権限管理.pdf
nrinetcom
PRO
3
190
AWS環境におけるランサムウェア攻撃対策の設計
nrinetcom
PRO
5
970
Other Decks in Technology
See All in Technology
ExaDB-XSで利用されているExadata Exascaleについて
oracle4engineer
PRO
3
150
2/18/25: Java meets AI: Build LLM-Powered Apps with LangChain4j
edeandrea
PRO
0
160
人はなぜISUCONに夢中になるのか
kakehashi
PRO
6
1.7k
Classmethod AI Talks(CATs) #17 司会進行スライド(2025.02.19) / classmethod-ai-talks-aka-cats_moderator-slides_vol17_2025-02-19
shinyaa31
0
170
CDKのコードを書く環境を作りました with Amazon Q
nobuhitomorioka
1
140
ディスプレイ広告(Yahoo!広告・LINE広告)におけるバックエンド開発
lycorptech_jp
PRO
0
200
大規模アジャイルフレームワークから学ぶエンジニアマネジメントの本質
staka121
PRO
2
150
2025-02-21 ゆるSRE勉強会 Enhancing SRE Using AI
yoshiiryo1
1
450
Apache Iceberg Case Study in LY Corporation
lycorptech_jp
PRO
0
250
NFV基盤のOpenStack更新 ~9世代バージョンアップへの挑戦~
vtj
0
320
プロダクトエンジニア構想を立ち上げ、プロダクト志向な組織への成長を続けている話 / grow into a product-oriented organization
hiro_torii
1
330
Visualize, Visualize, Visualize and rclone
tomoaki0705
9
75k
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
51
7.4k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
KATA
mclloyd
29
14k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
4 Signs Your Business is Dying
shpigford
182
22k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Bash Introduction
62gerente
611
210k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
52k
The World Runs on Bad Software
bkeepers
PRO
67
11k
What's in a price? How to price your products and services
michaelherold
244
12k
Transcript
2025年2月26日 Amazon Q Developerの無料利用枠を使い倒して Hello worldを表示させよう! NRIネットコム株式会社 NTシステム事業一部 NTシステム開発二課 松澤
武志 NRIネットコム×シーイーシー共催ウェビナー
2 Copyright(C) NRI Netcom, Ltd. All rights reserved. 1.自己紹介 2.Amazon
Q Developerについて 3.Amazon Q Developerの無料利用枠で アプリを作ってみた 4.まとめ 目次
3 Copyright(C) NRI Netcom, Ltd. All rights reserved. 1. 自己紹介
4 Copyright(C) NRI Netcom, Ltd. All rights reserved. ◼名前:松澤武志(まつざわたけし) ◼NRIネットコム株式会社(2024年入社)NTシステム事業一部配属
⚫ Javaアプリケーションエンジニア ⚫ AWS業務で全然使っていません ◼趣味:お弁当作り ⚫ 同期におすそわけして好評です ⚫ Notionでお弁当まとめサイトを作っています ◼好きなAWSサービス: 自己紹介 Amazon SageMaker
5 Copyright(C) NRI Netcom, Ltd. All rights reserved. 2. AmazonQ
Developerについて
6 Copyright(C) NRI Netcom, Ltd. All rights reserved. こんな時にAmazon Q
Developerが便利です! 生成AIにコード 書いてもらったらいいのに… 皆さんはこんなことを思ったことはありませんか?
7 Copyright(C) NRI Netcom, Ltd. All rights reserved. Amazon Qとは
2. AmazonQ Developerについて 一言で言うと……生成AIアシスタントサービス Amazon Q Business Amazon Q Developer Amazon Q
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内でアプリケーションの作成 • プロンプトに命令するだけ • タスクの自動化が可能
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でサポート
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について
11 Copyright(C) NRI Netcom, Ltd. All rights reserved. これからますます開発が手軽 にできそう!
12 Copyright(C) NRI Netcom, Ltd. All rights reserved. 3. Amazon
Q Developerの無料利用枠でHelloWorldを表示させてみた
13 Copyright(C) NRI Netcom, Ltd. All rights reserved. 事前準備 (Amazon
Q Developerのプラグインインストール) ◼IDE:JetBrains社「InteliJ IDEA」 ◼Amazon Q プラグインのインストール ◼インストール後、自身のAWSアカウントでログイン 3. Amazon Q Developerの無料利用枠でHelloWorldを表示させてみた
14 Copyright(C) NRI Netcom, Ltd. All rights reserved. 事前準備 (Spring
Initializerによるプロジェクトの作成) ◼Spring Initializerでamazonqプロジェクトの新規作成 3. Amazon Q Developerの無料利用枠でHelloWorldを表示させてみた
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を表示させてみた
16 Copyright(C) NRI Netcom, Ltd. All rights reserved. いざ使ってみよう!
17 Copyright(C) NRI Netcom, Ltd. All rights reserved. 1. HelloWorldを表示させるコントローラーを作成してください
3. Amazon Q Developerの無料利用枠でHelloWorldを表示させてみた プロンプトに命令→コード生成の様子 • 変更点の要約 • 参照したファイル・作成したファイル等 の記載 • Accept All changesで変更を適用
18 Copyright(C) NRI Netcom, Ltd. All rights reserved. 1. HelloWorldを表示させるコントローラーを作成してください
3. Amazon Q Developerの無料利用枠でHelloWorldを表示させてみた ◼HelloWorldController.javaの新規作成 ⚫Controllerクラスを新規生成!!
19 Copyright(C) NRI Netcom, Ltd. All rights reserved. いざ実行!…できない 次に起動方法を教えてもらうことに
20 Copyright(C) NRI Netcom, Ltd. All rights reserved. 2. このアプリケーションを起動させてください
◼Action.md ⚫.\gredlew.bat bootRun を実行すれば実行できる 3. Amazon Q Developerの無料利用枠でHelloWorldを表示させてみた
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しか記載なかった…
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を表示させてみた
23 Copyright(C) NRI Netcom, Ltd. All rights reserved. コンテナ起動できない… Dockerイメージを出力するための「Dockerfile」がなかった…
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を表示させてみた
25 Copyright(C) NRI Netcom, Ltd. All rights reserved. コンテナ起動できない…(2回目) FROM句で指定するDockerイメージを変更
COPY句のパスを変更 ポート番号を8081に変更 などなど
26 Copyright(C) NRI Netcom, Ltd. All rights reserved. 起動完了!!! 3.
Amazon Q Developerの無料利用枠でHelloWorldを表示させてみた
27 Copyright(C) NRI Netcom, Ltd. All rights reserved. あと1回でAPIの作成 仮定
• taskテーブルが存在 • カラムとしてタスク期限、タスク名(型や主キー等は特に決めない) • POSTリクエストを受け付けるAPIを作成
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を表示させてみた
29 Copyright(C) NRI Netcom, Ltd. All rights reserved. 5. タスク、日付が情報として格納されるPOSTリクエストを受け付け、
taskテーブルにデータを格納するAPIを作成してください ◼Task.java(右) ◼TaskRepository.java(左上) ◼Application.properties(左下) 3. Amazon Q Developerの無料利用枠でHelloWorldを表示させてみた
30 Copyright(C) NRI Netcom, Ltd. All rights reserved. しかし、複数の課題が… アプリケーションクラスは既存と別で実装されてしまった
コントローラーやリポジトリなどが同一パッケージに格納
31 Copyright(C) NRI Netcom, Ltd. All rights reserved. 無料利用枠終了!!
32 Copyright(C) NRI Netcom, Ltd. All rights reserved. 4. まとめ
33 Copyright(C) NRI Netcom, Ltd. All rights reserved. ◼すべて生成AIに丸投げでアプリケーションを作るのは厳しい ◼1つのコマンドで様々なことをやってもらうように大雑把な命令が効率的
⚫APIを作成してください→5つのファイル作成 ⚫コントローラーの作成→1つのファイル作成 ◼細かな設定はAmazonQに任せずに自分でコードを書いた方が速い ⚫環境設定を間違えることが多い ◼プロンプトエンジニアリングの技術も必要 ⚫Applicationファイルを1つに統一したかったのに2つ作成されてしまった ◼Java等のプログラミング言語を出力するだけでなく、mdファイルも出力される点は便利 ⚫/docコマンドでさらに高度なReadmeファイルも作成される まとめ
34 Copyright(C) NRI Netcom, Ltd. All rights reserved. 皆さんもAmazon Q
Developer を 使ってみましょう!
None