Slide 1

Slide 1 text

Takuma Yamamoto GitHub Copilot で 効率よくユニットテストが書ける

Slide 2

Slide 2 text

BIOGRAPHY あなたは誰ですか? 技術スタック SNS 趣味 ● バックエンド: Ruby on Rails ● フロントエンド: React ● アプリ: React Native Takuma Yamamoto Work at snaq.me From Miyazaki ●  https://github.com/tamago3keran ●  https://twitter.com/yamataku3831 ●  https://qiita.com/tamago3keran ●  https://zenn.dev/tamago3keran ● おやつ ● サウナ ● アニメ ...

Slide 3

Slide 3 text

TODAY’s TOPIC GitHub Copilot で効率よくユニットテストが書けることを紹介

Slide 4

Slide 4 text

TODAY’s GOAL GitHub Copilot 導入のきっかけに 導入事例を知る 導入へのきっかけ GitHub Copilot の導入によって、ど ういったメリットを享受できるか、 デモも合わせて紹介します。 ご自身で開発しているプロダクトに 導入してみようかなと、考えるきっ かけになれば嬉しいです。

Slide 5

Slide 5 text

そもそも GitHub Copilot とは何ですか? What is GitHub Copilot?

Slide 6

Slide 6 text

INTRODUCTION AI による開発サポートツール Your AI pair programmer GitHub Copilot uses the OpenAI Codex to suggest code and entire functions in real-time, right from your editor. 引用元: https://github.com/features/copilot GitHub Copilot とは、 OpenAI が開発した人工 知能モデル「OpenAI Codex」を使用し、コー ドや機能をサジェストしてくれる "あなたのAI ペアプログラマー" です。

Slide 7

Slide 7 text

GitHub Copilot はどのようにして使用しますか? How to use GitHub Copilot?

Slide 8

Slide 8 text

公式ドキュメントに沿って、自身のアカウントにて GitHub Copilot を有効にします。 (公式ドキュメント: https://docs.github.com/en/copilot/quickstart ) 有料のサービスではありますが、2023年4月現在60日間のフリートライアルがあります。 GETTING STARTED 自身のアカウントで GitHub Copilot を有効にする 引用元:https://github.com/features/copilot

Slide 9

Slide 9 text

公式ドキュメントに沿って、プラグインをエディタに導入します。 (公式ドキュメント: https://docs.github.com/ja/copilot/getting-started-with-github-copilot) 2023年4月現在、以下のエディタに対応したプラグインが提供されています。 GETTING STARTED エディタにプラグインを導入する 引用元:https://github.com/features/copilot

Slide 10

Slide 10 text

GitHub Copilot を使ったテスト実装のデモ Demonstration

Slide 11

Slide 11 text

DEMONSTRATION - Ruby GitHub Copilot の力を借りる前にちょっとだけ準備 user_test.rb user.rb まずはコメントでどういったテストを書きたいのか記載します。 そして、参考になるテストコードをちょっとだけ書いておきます。

Slide 12

Slide 12 text

DEMONSTRATION - Ruby GitHub Copilot に少しずつサジェストしてもらう neovim ではインサートモードに入って、少し待つとコードがサジェストされます。 タブを押すとサジェストされたコードが反映されます。

Slide 13

Slide 13 text

DEMONSTRATION - Ruby GitHub Copilot に他の候補も表示してもらう また GitHub Copilot は複数の候補を持っている場合があります。 パネルを開くと、候補が複数表示され、適切なものを選択するとそれがコードに反映されます。

Slide 14

Slide 14 text

DEMONSTRATION - JavaScript GitHub Copilot の力を借りる前にちょっとだけ準備 generation_text.test.js generation_text.js まずはコメントでどういったテストを書きたいのか記載します。 そして、参考になるテストコードをちょっとだけ書いておきます。

Slide 15

Slide 15 text

DEMONSTRATION - JavaScript GitHub Copilot に少しずつサジェストしてもらう こちらもインサートモードに入って、コードがサジェストされるのを少し待ちます。 タブを押してサジェストされたコードを反映しましょう。

Slide 16

Slide 16 text

DEMONSTRATION - JavaScript GitHub Copilot に他の候補も表示してもらう パネルを開いてみましたが、今回はひとつしか表示されませんでした。 候補を選択して Enter を押すと、一気に複数行のコードが反映されます。

Slide 17

Slide 17 text

終わりに... Impression

Slide 18

Slide 18 text

● 公式で紹介されている通り、 "Your AI pair programmer" であることを実感。 ● 「全てのコードを代わりに書いてくれる」というわけではない。 ● とても優秀な相棒が一緒に開発してくれている感。 ● GitHub Copilot X が出るなど、今後も進化していくツールであるはず。 ● アップデートをキャッチアップして、よりスピーディーな開発を目指したい。 IMPRESSION GitHub Copilot を使ってみて...

Slide 19

Slide 19 text

エンジニア募集中です! Recruitment

Slide 20

Slide 20 text

RECRUITMENT We are Hiring! スナックミー 採用 https://team.snaqme.com/ スナックミーでは、「おやつと、世界を面白 く」していく、そんな活動を仕事として取り 組みたいエンジニアを募集しています。