ja ja ja ja ja ja ja en ja de ja ja en ja ja ja ja en ja en ja ja ca ja ja ja it en de zh ja ja ja ja id ja en ja ja ja ja ja ja ja ja ja en ja ja ja ja ja ja en ja ja ja ja en ja ja ja en ja ja ja ja ja en ja ja de ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja en ja ja ja ja en ja en ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja ja en ja ja ja ja ja ja ja ja ja en ja de en ja de en ja de en ja de en ja de en ja de de ja en ja ja ja ja ja
AIが自動でコードを書く「GitHub Copilot」を実際に使ってみたら性能がヤバすぎた │ オタク総研 with IT
GitHub, Javascript, JavaScript, PHP, PHP, Python, Python, エンジニア, プログラミング, プログラム
https://copilot.github.com/
どのような処理をするかという事を書くだけで自動でコードに変換してくれるというエンジニア殺しの爆弾機能でTwitter を中心に6月頃、一躍話題になりました。
GitHub上にある大量のGPLソースコードを解析・自然言語処理と共に曖昧表現でも的確にコードにすると言うことで当方も多大な期待をしておりました。
Technical Previewの予約をする
まずGitHub Copilotを使うにはテクニカルプレビューの順番待ちをしないといけません。これがマジで4ヶ月かかりました。
以下リンクからTechnical Previewの予約ができますのでしておいたほうが良いです。
すると忘れた頃に順番が来ましたよ!っていう旨のメールが。完全に忘れてた…と思いつつ導入を行いましょう。
VS Code拡張を導入
Visual Studio Codeを使っている方は拡張機能をインストールするだけで利用可能です!以下公式Docsからセットアップしてください。
https://github.com/github/copilot-docs/blob/main/docs/visualstudiocode/gettingstarted.md
あ、拡張機能入れるだけでは駄目でCopilotが承認されているGitHubアカウントでの認証が必須です!
基本操作&お手並み拝見
以下がおおまかの基本操作です。
Tab … 予測補完を反映
Ctrl + Enter … 全ての候補を表示
また、サポートされている言語はPython・JavaScript・TypeScript・Ruby・Goは特に強くサポートされておりその他にも何十の言語にも対応している模様。
まずはPythonで簡単な関数をCopilotで生成してみました。
以下に「入力された値がうるう年かどうかを判定する」プログラムをCopilotで書いてみた動画です。私はマジでコードを書いていません(笑)
動画を見てみたら分かると思うのですが「leepyear」と「y」しかキーボードで打っていません。以下がCopilot全任せで出力させたコードです。まぁ特に問題もなく…てか普通に凄い…!
割と冗長ですがもっと簡潔な書き方も提示されています。
def leepyear(year):   if year % 4 == 0:       if year % 100 == 0:           if year % 400 == 0:               return True           else:               return False       else:           return True   else:         return False year = int(input("Enter a year: ")) if leepyear(year):   print("{} is a leap year".format(year)) else:     print("{} is not a leap year".format(year))
ちゃんと結果も表示できてます。
何度も言いますが私はコードを書いてません。5秒で出来ますw
また、2つのベクトル値のコサイン類似度を求めるプログラムなども余裕で表示されます。(むしろ英語力が要るって感じですね)
続いてJavaScriptで試しましょう。デモにもあった日数計算を試してみました。
funciton calculateDaysBetw…当たりでもう全部の以降の行が保管されていて、返り値も指定されています。全文書き終わる前に出てくるスピードが凄いです。
正規表現を用いたルール適合を自動でやってくれるのが特に便利だと思いました。正規表現のやつなんて覚えてる人ほぼいないじゃないですか。Codepilotは調べる手間をゼロにしてくれる印象です。
次に少しむずかしいネットワークを活用したコードを書かせましょう。【FetchAPIを使って特定地域のTwitterトレンドを取得】するプログラムです。
入力文字はconst FetchTwitterTrendのみ。生成結果は以下のとおりです。
const FetchTwitterTrends = async (woeid) => { const url = `https://api.twitter.com/1.1/trends/place.json?id=${woeid}`; const res = await fetch(url, {   method: "GET",   headers: {     Authorization: `Bearer ${process.env.REACT_APP_TWITTER_API_KEY}`,   }, }); const json = await res.json();   return json[0].trends; };
いや~これはまじで感動モノですね。地域コードをAPIと一緒に飛ばして、ベアラートークンを使って取得している模様。ただしReactを使ってるっぽいコードなのでやはり少しは人の手はいります。
ここまでかけるんですね~
最後にPHPでやってみました。最適化されていないとか書いてましたが観た感じは問題は感じられませんでした。
さて、PHPでも少しむずかしい内容を司令してみましょう。
【mongodbと接続してデータを表示させる】プログラムです。入力文字はget_data_from_mongodbのみで結果は以下の通りです。
どうやら誰かさんが書いたtestコレクションにあるデータを検索するプログラムがヒットしました。クエリを送信する奴で、コレクション等を引数に入れるだけで使えそうですね。
MongoClientを入れてないので赤ラインが出てますが…
API関連はLib依存や古い問題
APIで叩いて表示する系は問題ばっかでした。
特にAPI操作は便利なラッパーツールなどが乱立しているせいで知らないライブラリを読み込んでたり使ってないクラスが出てきたり。TwitterAPIExchangeクラスとか何や!w
そもそもAPIが古いバージョンしかない時もあり、実用にはまだまだな印象でした。
例えば上のような場合だと叩いてるAPIにアクセスすると「このAPIは廃止されました」的な文言が出ます。コードが古すぎる。
ただ軽い対処法としてはAPIライブラリを介させない方法で司令するとましになりました。ex)Using cURL的な文脈を追加するとか…
またこれは色々言われてますからここでは言いません。
コードを学習させるけどGPLv3だし商業利用的には大丈夫かよとか。詳しくは以下サイトが分かりやすいです。個人データとかの話があります。
https://ainow.ai/2021/09/03/257207/
製品版になるから試すなら今のうちだよ
結論としては超!おもしろかったですのでぜひやってみてください。
製品版としてのリリースが予定されていますので、テクニカルプレビューが無料な今のうちに使ってみることを推奨します!
https://copilot.github.com/
Advertisement
【Windows Terminal】コマンドプロンプト+PowerShell+WSLを統合したMS謹製ターミナルが超便利!使い方を解説 2021.05.28
こんにちは。今回はWindowsで開発している人なら常識だと思いますがWindows Terminalっていう超有能統合コンソールをご紹介します。 W[…]
【PHP】json_decodeでJSONをデコードして連想配列に変換する方法 2021.03.31
json_decodeでJSONをデコードすることができます。 使い方 json_denodeメソッドの引数でJSONを指定するだけです。 json_[…]
【告知】ポートフォリオサイトをリニューアルしました! 2021.08.28
本日もご覧頂きありがとうございます。この度ポートフォリオサイトをリニューアルしたので告知させて頂きます! 自己紹介 まずは軽く自己紹介をさせて頂きます[…]
【Web開発】覚えておくべき意外と知られてないマイナーHTMLタグ・属性8選 2021.10.19
HTMLって意外と奥が深いですよね。そこでこの記事ではあまり有名じゃないけど知っておくと便利なHTMLタグ・属性をご紹介します!Webデベロッパーだけ[…]
【HTML】モバイル端末での入力を便利にするtype属性とplaceholder属性【サンプルあり】 2021.02.27
HTMLではinputタグにtype属性とplaceholder属性があります。 type属性ではその値に応じてキーボードが最適な形に変化してくれるす[…]
Author:市井 | オタク総研編集部 投稿一覧
合同会社サブカル通信社 法人代表
サブカルの「今」を届けます! アニメ&ITメディア・オタク総研 代表・合同会社サブカル通信社 法人代表。 専門領域はアニメ(特に萌系)・ゲーム(一部)・ガジェット・IT・プログラミング・鉄道(少し)
コメント コメントをキャンセル
メールアドレスが公開されることはありません。 * が付いている欄は必須項目です
次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。
Please enable JavaScript to post your comment.
オタク必須!アニメ&ゲーム専門ニュースアプリ『オタナビ』が提供開始
G-TuneからゲーミングノートPC「G-Tune P7」シリーズ発売 144Hz&17.3型液晶搭載
OPPO初のタブレット「OPPO Pad Air」正直レビュー 動画視聴には良いが…
『原神』2周年を記念した6種のCMが地上波放送
TVアニメ『シャドウバースF』第3クールは10月1日から 監督コメント&KV公開
カテゴリー カテゴリーを選択 FLASH / 速報 PR(プレスリリース) アニメニュース    ’21放送アニメ    ’22アニメ    アニメランキング イベント    キャンペーン    ライブ    展示会・発表会 インターネット    ダウンロード オタク小話 ゲームニュース    ソシャゲ コミック・書籍ニュース ネットの話題 バーチャル総合 パソコン・モバイル    スマホ    タブレット プログラミング レビュー 便利ワザ 取材・特集 未分類 秋葉原ニュース 解説・HowTo 金融系    仮想通貨・NFT
オタク必須!アニメ&ゲーム専門ニュースアプリ『オタナビ』が提供開始2022年9月28日
G-TuneからゲーミングノートPC「G-Tune P7」シリーズ発売 144Hz&17.3型液晶搭載2022年9月28日
Advertisement
プログラミングカテゴリの最新記事
YouTube上にコメントを流すニコ動風アドオンは特許侵害なのか?【解説コラム】
6月23日から「GitHub Copilot」が有料に=2ヶ月無料&学生は無料
【ツール配布】アニメは8Kで見る時代!Real-ESRGANでアニメ超高画質化
【SCSS】90行以下で綺麗なハンバーガーメニューを作ろう(解説あり)
【TWA】完全開発ガイド=超簡単にPWAをPlay Storeで配信しよう
ステータスコード「418」知ってますか?Googleにも使われている有名規格
Back to Top
運営会社 / リリース送付・取材依頼 / 広告掲載 / お問い合わせ
【寄稿募集】オタクな貴方の”好き”をニュースにしませんか?
オタク総研 / オタクのためのアニメ&ITメディア
©2022 合同会社サブカル通信社 All Rights Reserved.
※当サイト内コンテンツの著作権その他の権利は,合同会社サブカル通信社もしくは各権利者に帰属します.無断転用はご遠慮ください.