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

Amazon CodeWhispererでAWS CDKを試す

Amazon CodeWhispererでAWS CDKを試す

Shusaku Yasoda

July 13, 2023
Tweet

Other Decks in Technology

Transcript

  1. Amazon CodeWhispererと
    AWS CDKを試す
    JAWS-UG CDK支部 #7
    株式会社野村総合研究所
    Shusaku Yasoda
    2023年7月12日

    View Slide

  2. 自己紹介 名前
    所属
    八十田 周作(Yasoda Shusaku)
    社会人歴
    株式会社野村総合研究所
    3年目(2021年入社)
    CDK歴
    1年くらい
    業務
    最近はフロントエンド
    (Vue/Nuxt)の開発支援

    View Slide

  3. 
    今日お話しすること

    View Slide

  4. アジェンダ
    Amazon CodeWhispererとは
    IDEとの連携
    AWS CDKを試してみる

    View Slide

  5. Amazon CodeWhispererとは

    View Slide

  6. 機械学習を用いて、コードの続きやコメントの内容からコードを提案してくれるサービス
    AWS版のGitHub Copilot
    2023年4月にGA版
    Python、Java、JavaScript、TypeScript、C# 、Go、Rust、Kotlin、Scala、Ruby、
    PHP、SQL、C、C++、シェルスクリプトに対応
    IDEはVisual Studio Code、IntelliJ IDEA、AWS Cloud9などに対応
    Amazon CodeWhisperer
    3

    View Slide

  7. Individual
    無料
    1 か月あたり最大 50 回の
    コードセキュリティスキャン
    認証
    AWS ビルダー ID
    Professional
    19 USD/ユーザー/月
    1 か月あたり最大 500 回の
    コードセキュリティスキャン
    認証
    AWS IAM アイデンティティセンター
    Amazon CodeWhispererのプラン
    ※セキュリティスキャンはPython,Javaのみ対応

    View Slide

  8. IDEとの連携

    View Slide

  9. 1 VS Codeの拡張機能「AWS Toolkit」をインストール
    AWS ToolkitパネルのAWS:Developer tools]の
    [CodeWhisperer]の[Start]が表示
    VSCodeと連携

    View Slide

  10. 2 ドロップダウンメニューから、Use a personal email to sign up を選択
    VSCodeと連携

    View Slide

  11. 3 AWS Builder ID でサインイン
    3
    VSCodeと連携
    VScode上にコードが出てくるので、[Copy Code and Proceed]をクリックしてコードをコピー
    サインイン後、AWS Toolkit によるデータへのアクセスを求められるのでそれを許可し、連携完了

    View Slide

  12. AWS CDKを試してみる

    View Slide

  13. S3バケットを作成
    してみる

    View Slide

  14. コメントで「create S3 Bucket」と入力してみる
    コード生成のためのコメントは、現時点では、公式では英語のみサポートしている
    学習データに英語以外の言語が含まれているため、日本語でもコードが出てくる場合もあり

    View Slide

  15. コメントで「create S3 Bucket」と入力してみる
    「左右矢印キー」でコードの候補を確認
    「Tabキー」でコードを確定
    「Enter」(改行)するたびにCodeWhispererを実行
    Option + C (Mac) または Alt + C (Windows) のショートカットでも実行可能

    View Slide

  16. Lambda+APIGateway

    View Slide

  17. スタックの作成
    lambdaとAPIGatewayのimport文を記述
    lambdaのimport文を提案
    Enterを押し次の行へ
    ApiGatewayのimport文を提案

    View Slide

  18. lambda関数の作成
    const helloと入力し始めると、CodeWhispererが続きのコード提案
    改行するたびに必要なプロパティを提案してくれる

    View Slide

  19. APIGatewayの作成
    lambdaと同様に入力途中から予測コードを提案してくれる

    View Slide

  20. テストコード作成

    View Slide

  21. Snapshotテスト
    入力途中からテストコードをCodeWhispererが提案してくれる

    View Slide

  22. Snapshotテスト
    SQSの部分を削除し、入力を進めると生成したテンプレートとスナップショットが同じか
    検証するコードを提案

    View Slide

  23. Snapshotテスト
    少しの手直しのみで、テストコードも作成することが可能

    View Slide

  24. Fine-grained assertions テスト
    LambdaとAPI Gatewayがきちんと想定数作成されるかのテストを作成する
    「test lamba〜」「test api〜」と入力した時点でテストコードを自動生成
    白枠:入力した個所(一部)
    赤枠:CodeWhispher提案箇所

    View Slide

  25. まとめ
    AWS Builder IDがあれば無料ですぐに導入可能
    コード補完の上位互換
    テストコードも楽々生成
    スナップショットテストや他のテストも提案してくれる
    セキュリティスキャン
    セキュリティキーをハードコーディング防止につながる?
    現在は、Python,Javaのみ対応
    Amazon CodeWhispererと各種IDEの連携が容易
    コード記述中に予測コードを提案してくれることで、
    コーディングのスピード向上

    View Slide

  26. Thank You !

    View Slide