0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

paiza.ioでperl その6

Last updated at Posted at 2023-02-17

概要

paiza.ioでperlやってみた。
練習問題やってみた。

練習問題

qiita apiを叩け。

サンプルコード

use LWP::UserAgent;
use URI;

$url = URI->new("https://qiita.com/api/v2/items");
$url->query_form("query", "chatGPT");
my $ua = LWP::UserAgent->new;
$ua->agent("Dummy User Agent");
my $response = $ua->get($url);
if ($response->is_success) 
{
    print $response->content;
} 
else 
{
    print "err";
}

実行結果

[{"rendered_body":"\u003ch1 data-sourcepos=\"1:1-1:15\"\u003e\n\u003cspan id=\"chatgptとは\" class=\"fragment\"\u003e\u003c/span\u003e\u003ca href=\"#chatgpt%E3%81%A8%E3%81%AF\"\u003e\u003ci class=\"fa fa-link\"\u003e\u003c/i\u003e\u003c/a\u003eChatGPTとは\u003c/h1\u003e\n\u003cp data-sourcepos=\"2:1-2:121\"\u003e一言で言うと人工知能です。ChatGPTに聞いたことを人間が分かる言葉で返答してくれます。\u003c/p\u003e\n\u003cp data-sourcepos=\"4:1-4:304\"\u003eコンピューターが言葉を理解して答えることができる人工知能の一種で、普段私たちが使っているスマートフォンやパソコンの音声アシスタント(例えば、SiriやGoogleアシスタント)や、チャットボットなどに使われています。\u003c/p\u003e\n\u003cp data-sourcepos=\"6:1-8:111\"\u003e膨大な量の文章を学習し、それをもとに人間が言う言葉を理解して返答することができます。\u003cbr\u003e\nChatGPTは、自然言語処理と呼ばれる技術を使って、人間の言葉を理解し、それに合った返答を生成することができます。\u003cbr\u003e\nこれにより、人間とのコミュニケーションをよりスムーズに行うことができます。\u003c/p\u003e\n\u003ch2 data-sourcepos=\"11:1-11:25\"\u003e\n\u003cspan id=\"chatgptのはじめ方\" class=\"fragment\"\u003e\u003c/span\u003e\u003ca href=\"#chatgpt%E3%81%AE%E3%81%AF%E3%81%98%E3%82%81%E6%96%B9\"\u003e\u003ci class=\"fa fa-link\"\u003e\u003c/i\u003e\u003c/a\u003eChatGPTのはじめ方\u003c/h2\u003e\n\u003cp data-sourcepos=\"12:1-12:32\"\u003e\u003cqiita-embed-ogp src=\"https://openai.com/blog/chatgpt/\"\u003e\u003c/qiita-embed-ogp\u003e\u003c/p\u003e\n\u003col data-sourcepos=\"13:1-18:0\"\u003e\n\u003cli data-sourcepos=\"13:1-13:95\"\u003e上記のリンクにアクセスし、左下の「TRY ChatGPT」をクリックします。\u003c/li\u003e\n\u003cli data-sourcepos=\"14:1-14:103\"\u003e新規アカウントを作成する必要があるので、「Sign up」をクリックします。\u003c/li\u003e\n\u003cli data-sourcepos=\"15:1-15:159\"\u003eアカウント登録画面で、メールアドレスを入力し、電話番号の認証コードを入力してアカウント登録を完了します。\u003c/li\u003e\n\u003cli data-sourcepos=\"16:1-16:76\"\u003e画面下部の入力欄に質問を入力してChatGPTを始めます。\u003c/li\u003e\n\u003cli data-sourcepos=\"17:1-18:0\"\u003eChatGPTはスマホでも利用でき、PC版と同様の手順でアカウント登録ができます。\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch2 data-sourcepos=\"19:1-19:46\"\u003e\n\u003cspan id=\"google検索とchatgptの違いについて\" class=\"fragment\"\u003e\u003c/span\u003e\u003ca href=\"#google%E6%A4%9C%E7%B4%A2%E3%81%A8chatgpt%E3%81%AE%E9%81%95%E3%81%84%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6\"\u003e\u003ci class=\"fa fa-link\"\u003e\u003c/i\u003e\u003c/a\u003eGoogle検索とChatGPTの違いについて\u003c/h2\u003e\n\u003cp data-sourcepos=\"20:1-21:308\"\u003e下記に色々記載していますが \u003cstrong\u003e答えに直接辿り着けるかどうかの違い\u003c/strong\u003e かと思っています。ChatGPTは若干タイムラグはあるものの安定した早さで答えに辿り着けます。\u003cbr\u003e\n情報の正確性に関して言うとChatGPTの方が高いと思います。キーワードを入力するだけのgoogle検索よりもChatGPTに質問する時の方がキーワードや聞き方を気をつけないと見当違いの答えが返ってくることがあるので慣れが必要です。\u003c/p\u003e\n\u003cp data-sourcepos=\"23:1-24:74\"\u003eGoogleが緊急事態を宣言  ググるがジピるに変わるのも遠くないかもしれません\u003cbr\u003e\n\u003ca href=\"https://news.yahoo.co.jp/articles/c94e2304cea67132d7cf97810c72c291250c95bb\" class=\"autolink\" rel=\"nofollow noopener\" target=\"_blank\"\u003ehttps://news.yahoo.co.jp/articles/c94e2304cea67132d7cf97810c72c291250c95bb\u003c/a\u003e\u003c/p\u003e\n\u003ch4 data-sourcepos=\"26:1-26:26\"\u003e\n\u003cspan id=\"google検索の強み\" class=\"fragment\"\u003e\u003c/span\u003e\u003ca href=\"#google%E6%A4%9C%E7%B4%A2%E3%81%AE%E5%BC%B7%E3%81%BF\"\u003e\u003ci class=\"fa fa-link\"\u003e\u003c/i\u003e\u003c/a\u003eGoogle検索の強み\u003c/h4\u003e\n\u003cp data-sourcepos=\"27:1-29:177\"\u003e大量の情報をインデックス化しているため、あらゆるトピックに関する情報が検索可能である。\u003cbr\u003e\n高度な検索オプションを備え、検索結果を絞り込むことができる。\u003cbr\u003e\nGoogle自身が独自に開発したアルゴリズムにより、検索結果の品質が高く、スパムや不正な情報をフィルタリングすることができる。\u003c/p\u003e\n\u003ch4 data-sourcepos=\"31:1-31:21\"\u003e\n\u003cspan id=\"chatgptの強み\" class=\"fragment\"\u003e\u003c/span\u003e\u003ca href=\"#chatgpt%E3%81%AE%E5%BC%B7%E3%81%BF\"\u003e\u003ci class=\"fa fa-link\"\u003e\u003c/i\u003e\u003c/a\u003eChatGPTの強み\u003c/h4\u003e\n\u003cp data-sourcepos=\"32:1-34:138\"\u003e自然言語での対話に特化しており、人間と自然な会話ができる。\u003cbr\u003e\n膨大なデータセットを元に学習しているため、豊富な知識を持ち、幅広いトピックについて話すことができる。\u003cbr\u003e\n機械学習モデルを使っているため、訓練データが増えることで、より高度な対話を行うことができる。\u003c/p\u003e\n\u003ch4 data-sourcepos=\"36:1-36:26\"\u003e\n\u003cspan id=\"google検索の弱み\" class=\"fragment\"\u003e\u003c/span\u003e\u003ca href=\"#google%E6%A4%9C%E7%B4%A2%E3%81%AE%E5%BC%B1%E3%81%BF\"\u003e\u003ci class=\"fa fa-link\"\u003e\u003c/i\u003e\u003c/a\u003eGoogle検索の弱み\u003c/h4\u003e\n\u003cp data-sourcepos=\"37:1-39:99\"\u003e大量の情報があるため、正確な情報を見つけるのが難しい場合がある。\u003cbr\u003e\n検索キーワードによっては、過剰な広告や商業的な情報が検索結果の上位に表示されることがある。\u003cbr\u003e\n検索結果は機械的に生成されるため、人間の判断力に欠ける場合がある。\u003c/p\u003e\n\u003ch4 data-sourcepos=\"41:1-41:21\"\u003e\n\u003cspan id=\"chatgptの弱み\" class=\"fragment\"\u003e\u003c/span\u003e\u003ca href=\"#chatgpt%E3%81%AE%E5%BC%B1%E3%81%BF\"\u003e\u003ci class=\"fa fa-link\"\u003e\u003c/i\u003e\u003c/a\u003eChatGPTの弱み\u003c/h4\u003e\n\u003cp data-sourcepos=\"43:1-45:111\"\u003e訓練データの質に依存しており、誤った情報や偏見を学習することがある。\u003cbr\u003e\n人間と同様に文脈や意味を正確に理解することができない場合がある。\u003cbr\u003e\nモデルの解釈性が低いため、意思決定プロセスを完全に理解することができない。\u003c/p\u003e\n\u003ch2 data-sourcepos=\"47:1-47:31\"\u003e\n\u003cspan id=\"chatgptを実務で使う例\" class=\"fragment\"\u003e\u003c/span\u003e\u003ca href=\"#chatgpt%E3%82%92%E5%AE%9F%E5%8B%99%E3%81%A7%E4%BD%BF%E3%81%86%E4%BE%8B\"\u003e\u003ci class=\"fa fa-link\"\u003e\u003c/i\u003e\u003c/a\u003eChatGPTを実務で使う例\u003c/h2\u003e\n\u003ch3 data-sourcepos=\"48:1-48:40\"\u003e\n\u003cspan id=\"コードのリファクタリング\" class=\"fragment\"\u003e\u003c/span\u003e\u003ca href=\"#%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E3%83%AA%E3%83%95%E3%82%A1%E3%82%AF%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%B0\"\u003e\u003ci class=\"fa fa-link\"\u003e\u003c/i\u003e\u003c/a\u003eコードのリファクタリング\u003c/h3\u003e\n\u003cp data-sourcepos=\"49:1-49:93\"\u003e冗長的なコードですね...リファクタリングをお願いしてみましょう。\u003c/p\u003e\n\u003cdiv class=\"code-frame\" data-lang=\"swift\" data-sourcepos=\"50:1-69:3\"\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre\u003e\u003ccode\u003e\u003cspan class=\"k\"\u003eswitch\u003c/span\u003e \u003cspan class=\"n\"\u003eshowButton\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003ecount\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\n        \u003cspan class=\"k\"\u003ecase\u003c/span\u003e \u003cspan class=\"mi\"\u003e0\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\n            \u003cspan class=\"n\"\u003ebuttons\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"mi\"\u003e0\u003c/span\u003e\u003cspan class=\"p\"\u003e]?\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eisHidden\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"kc\"\u003efalse\u003c/span\u003e\n            \u003cspan class=\"n\"\u003ebuttons\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"mi\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e]?\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eisHidden\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"kc\"\u003etrue\u003c/span\u003e\n            \u003cspan class=\"n\"\u003ebuttons\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"mi\"\u003e2\u003c/span\u003e\u003cspan class=\"p\"\u003e]?\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eisHidden\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"kc\"\u003etrue\u003c/span\u003e\n        \u003cspan class=\"k\"\u003ecase\u003c/span\u003e \u003cspan class=\"mi\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\n            \u003cspan class=\"n\"\u003ebuttons\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"mi\"\u003e0\u003c/span\u003e\u003cspan class=\"p\"\u003e]?\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eisHidden\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"kc\"\u003etrue\u003c/span\u003e\n            \u003cspan class=\"n\"\u003ebuttons\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"mi\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e]?\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eisHidden\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"kc\"\u003efalse\u003c/span\u003e\n            \u003cspan class=\"n\"\u003ebuttons\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"mi\"\u003e2\u003c/span\u003e\u003cspan class=\"p\"\u003e]?\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eisHidden\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"kc\"\u003etrue\u003c/span\u003e\n        \u003cspan class=\"k\"\u003ecase\u003c/span\u003e \u003cspan class=\"mi\"\u003e2\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\n            \u003cspan class=\"n\"\u003ebuttons\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"mi\"\u003e0\u003c/span\u003e\u003cspan class=\"p\"\u003e]?\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eisHidden\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"kc\"\u003etrue\u003c/span\u003e\n            \u003cspan class=\"n\"\u003ebuttons\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"mi\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e]?\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eisHidden\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"kc\"\u003etrue\u003c/span\u003e\n            \u003cspan class=\"n\"\u003ebuttons\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"mi\"\u003e2\u003c/span\u003e\u003cspan class=\"p\"\u003e]?\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eisHidden\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"kc\"\u003efalse\u003c/span\u003e\n        \u003cspan class=\"k\"\u003edefault\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e\n            \u003cspan class=\"n\"\u003ebuttons\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"mi\"\u003e0\u003c/span\u003e\u003cspan class=\"p\"\u003e]?\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eisHidden\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"kc\"\u003etrue\u003c/span\u003e\n            \u003cspan class=\"n\"\u003ebuttons\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"mi\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e]?\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eisHidden\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"kc\"\u003etrue\u003c/span\u003e\n            \u003cspan class=\"n\"\u003ebuttons\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"mi\"\u003e2\u003c/span\u003e\u003cspan class=\"p\"\u003e]?\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eisHidden\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"kc\"\u003etrue\u003c/span\u003e\n  \u003cspan class=\"p\"\u003e}\u003c/span\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003c/div\u003e\n\u003cp data-sourcepos=\"71:1-71:3\"\u003e↓\u003c/p\u003e\n\u003cp data-sourcepos=\"73:1-75:135\"\u003eリファクタリング後のコード   スッキリしました!\u003cbr\u003e\nただそのまま使用するかは既存のコードやコード規約、可読性を踏まえて取り入れるか検討します。\u003cbr\u003e\nまた正しくリファクタリングできているかも検証が必要です。参考程度に使用することが多いです。\u003c/p\u003e\n\u003cdiv class=\"code-frame\" data-lang=\"swift\" data-sourcepos=\"76:1-80:3\"\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre\u003e\u003ccode\u003e    \u003cspan class=\"k\"\u003efor\u003c/span\u003e \u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eindex\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003eaddButton\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"k\"\u003ein\u003c/span\u003e \u003cspan class=\"n\"\u003eaddButtons\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"nf\"\u003eenumerated\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\n        \u003cspan class=\"n\"\u003eaddButton\u003c/span\u003e\u003cspan class=\"p\"\u003e?\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eisHidden\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"n\"\u003eselectedMediaImageList\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003ecount\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026gt;\u003c/span\u003e \u003cspan class=\"n\"\u003eindex\u003c/span\u003e\n    \u003cspan class=\"p\"\u003e}\u003c/span\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003c/div\u003e\n\u003cdiv class=\"code-frame\" data-lang=\"swift\" data-sourcepos=\"82:1-86:3\"\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre\u003e\u003ccode\u003e   \u003cspan class=\"n\"\u003ebuttons\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"mi\"\u003e0\u003c/span\u003e\u003cspan class=\"p\"\u003e]?\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eisHidden\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"o\"\u003e!\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eshowButton\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003ecount\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026gt;=\u003c/span\u003e \u003cspan class=\"mi\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n   \u003cspan class=\"n\"\u003ebuttons\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"mi\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e]?\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eisHidden\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"o\"\u003e!\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eshowButton\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003ecount\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026gt;=\u003c/span\u003e \u003cspan class=\"mi\"\u003e2\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n   \u003cspan class=\"n\"\u003ebuttons\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"mi\"\u003e2\u003c/span\u003e\u003cspan class=\"p\"\u003e]?\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eisHidden\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"o\"\u003e!\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003eshowButton\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003ecount\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026gt;=\u003c/span\u003e \u003cspan class=\"mi\"\u003e3\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003c/div\u003e\n\u003cdiv class=\"code-frame\" data-lang=\"swift\" data-sourcepos=\"88:1-95:3\"\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre\u003e\u003ccode\u003e    \u003cspan class=\"k\"\u003eswitch\u003c/span\u003e \u003cspan class=\"n\"\u003eshowButton\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003ecount\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\n    \u003cspan class=\"k\"\u003ecase\u003c/span\u003e \u003cspan class=\"mi\"\u003e0\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003ebuttons\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"mi\"\u003e0\u003c/span\u003e\u003cspan class=\"p\"\u003e]?\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eisHidden\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"kc\"\u003efalse\u003c/span\u003e\n    \u003cspan class=\"k\"\u003ecase\u003c/span\u003e \u003cspan class=\"mi\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003ebuttons\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"mi\"\u003e1\u003c/span\u003e\u003cspan class=\"p\"\u003e]?\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eisHidden\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"kc\"\u003efalse\u003c/span\u003e\n    \u003cspan class=\"k\"\u003ecase\u003c/span\u003e \u003cspan class=\"mi\"\u003e2\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"n\"\u003ebuttons\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"mi\"\u003e2\u003c/span\u003e\u003cspan class=\"p\"\u003e]?\u003c/span\u003e\u003cspan class=\"o\"\u003e.\u003c/span\u003e\u003cspan class=\"n\"\u003eisHidden\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"kc\"\u003efalse\u003c/span\u003e\n    \u003cspan class=\"k\"\u003edefault\u003c/span\u003e\u003cspan class=\"p\"\u003e:\u003c/span\u003e \u003cspan class=\"k\"\u003ebreak\u003c/span\u003e\n\u003cspan class=\"p\"\u003e}\u003c/span\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003c/div\u003e\n\u003ch3 data-sourcepos=\"104:1-104:55\"\u003e\n\u003cspan id=\"アプリのキャンペーンを考えてもらう\" class=\"fragment\"\u003e\u003c/span\u003e\u003ca href=\"#%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AE%E3%82%AD%E3%83%A3%E3%83%B3%E3%83%9A%E3%83%BC%E3%83%B3%E3%82%92%E8%80%83%E3%81%88%E3%81%A6%E3%82%82%E3%82%89%E3%81%86\"\u003e\u003ci class=\"fa fa-link\"\u003e\u003c/i\u003e\u003c/a\u003eアプリのキャンペーンを考えてもらう\u003c/h3\u003e\n\u003cp data-sourcepos=\"105:1-105:117\"\u003eマッチングアプリのメッセージ交換を促進する施策やキャンペーンを聞いてみました。\u003c/p\u003e\n\u003col data-sourcepos=\"107:1-120:0\"\u003e\n\u003cli data-sourcepos=\"107:1-110:0\"\u003e\n\u003cp data-sourcepos=\"107:4-109:154\"\u003eメッセージ送信ポイントの無料配布\u003cbr\u003e\n新規登録時やプロフィールの設定完了時に、一定数のメッセージ送信ポイントを無料で配布する。\u003cbr\u003e\nこの施策により、ユーザーは気軽にメッセージを送信しやすくなり、相手とのコミュニケーションが促進される。\u003c/p\u003e\n\u003c/li\u003e\n\u003cli data-sourcepos=\"111:1-113:142\"\u003e\n\u003cp data-sourcepos=\"111:4-113:142\"\u003eメッセージ送信ポイントのプレゼントキャンペーン\u003cbr\u003e\n期間限定で、特定の条件を満たしたユーザーに対して、メッセージ送信ポイントをプレゼントする。\u003cbr\u003e\n例えば、特定の日にアプリを利用するだけで、ポイントがもらえるといったキャンペーンが考えられる。\u003c/p\u003e\n\u003c/li\u003e\n\u003cli data-sourcepos=\"114:1-116:0\"\u003e\n\u003cp data-sourcepos=\"114:4-115:337\"\u003eメッセージの既読通知や未読メッセージのお知らせ\u003cbr\u003e\nメッセージを送信したユーザーが、相手からの返信を待ちわびることが多いため、相手がメッセージを開封したことがわかる既読通知や、未読メッセージがあることをお知らせする機能を実装することで、相手とのやりとりを促進することができる。\u003c/p\u003e\n\u003c/li\u003e\n\u003cli data-sourcepos=\"117:1-120:0\"\u003e\n\u003cp data-sourcepos=\"117:4-119:151\"\u003eコミュニケーションを促進する機能の追加\u003cbr\u003e\nメッセージ送信以外にも、コミュニケーションを促進する機能を追加することで、ユーザー同士の交流を促すことができる。\u003cbr\u003e\n例えば、好みの音楽や趣味をシェアする機能や、おすすめのデートスポットを紹介する機能などが考えられる。\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp data-sourcepos=\"121:1-121:9\"\u003e他にも\u003c/p\u003e\n\u003cul data-sourcepos=\"122:1-132:0\"\u003e\n\u003cli data-sourcepos=\"122:1-122:62\"\u003eマッチング成立時に自己紹介動画を再生する\u003c/li\u003e\n\u003cli data-sourcepos=\"123:1-123:83\"\u003eユーザー同士が実際に出会えるイベントを定期的に開催する\u003c/li\u003e\n\u003cli data-sourcepos=\"124:1-124:59\"\u003eユーザー同士をつなぐコミュニティの設置\u003c/li\u003e\n\u003cli data-sourcepos=\"125:1-125:38\"\u003eマッチング成功事例の公開\u003c/li\u003e\n\u003cli data-sourcepos=\"126:1-126:47\"\u003eマッチングのアルゴリズムの改善\u003c/li\u003e\n\u003cli data-sourcepos=\"127:1-127:29\"\u003eサポート体制の充実\u003c/li\u003e\n\u003cli data-sourcepos=\"128:1-128:65\"\u003eユーザーの活動状況に応じた通知やリマインド\u003c/li\u003e\n\u003cli data-sourcepos=\"129:1-129:35\"\u003eマッチング成立後の報酬\u003c/li\u003e\n\u003cli data-sourcepos=\"130:1-130:98\"\u003eユーザーの満足度向上を目的としたアンケートやフィードバックの実施\u003c/li\u003e\n\u003cli data-sourcepos=\"131:1-132:0\"\u003eプロフィールの改善を促すコンテンツの提供\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 data-sourcepos=\"133:1-133:34\"\u003e\n\u003cspan id=\"asoについて聞いてみた\" class=\"fragment\"\u003e\u003c/span\u003e\u003ca href=\"#aso%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E8%81%9E%E3%81%84%E3%81%A6%E3%81%BF%E3%81%9F\"\u003e\u003ci class=\"fa fa-link\"\u003e\u003c/i\u003e\u003c/a\u003eASOについて聞いてみた\u003c/h3\u003e\n\u003cp data-sourcepos=\"134:1-134:128\"\u003eASOとは App Store Optimizationの略称で、アプリストア最適化をしてインストールに繋げることです。\u003c/p\u003e\n\u003col data-sourcepos=\"136:1-161:0\"\u003e\n\u003cli data-sourcepos=\"136:1-140:0\"\u003e\n\u003cp data-sourcepos=\"136:4-139:126\"\u003eキーワードリサーチ:\u003cbr\u003e\nユーザーがどのような検索ワードでアプリを探しているかを調査し、関連するキーワードを洗い出す。\u003cbr\u003e\nGoogle TrendsやASOツールを活用し、競合アプリのキーワードやランキング情報を調査する。\u003cbr\u003e\nキーワードの頻度や検索数を把握するため、Google AdWords Keyword Plannerなどのツールを活用する。\u003c/p\u003e\n\u003c/li\u003e\n\u003cli data-sourcepos=\"141:1-145:0\"\u003e\n\u003cp data-sourcepos=\"141:4-144:60\"\u003eアプリタイトルと説明文の最適化:\u003cbr\u003e\nタイトルや説明文にキーワードを適切に組み込む。\u003cbr\u003e\nタイトルや説明文を簡潔かつ魅力的にまとめる。\u003cbr\u003e\nアプリの特徴や利点を分かりやすく伝える。\u003c/p\u003e\n\u003c/li\u003e\n\u003cli data-sourcepos=\"146:1-150:0\"\u003e\n\u003cp data-sourcepos=\"146:4-149:141\"\u003eスクリーンショットとプロモーションビデオの作成:\u003cbr\u003e\nアプリの使い方や機能を分かりやすく示すスクリーンショットを用意する。\u003cbr\u003e\nアプリのインターフェースを美しく見せるために、スクリーンショットにデザイン性を取り入れる。\u003cbr\u003e\nユーザーがどのようにアプリを使うかを想像し、そのイメージを伝えるスクリーンショットを作成する。\u003c/p\u003e\n\u003c/li\u003e\n\u003cli data-sourcepos=\"151:1-155:0\"\u003e\n\u003cp data-sourcepos=\"151:4-154:108\"\u003eレビューの収集とフィードバックの返信:\u003cbr\u003e\nアプリ内にフィードバック機能を設け、ユーザーからの声を積極的に収集する。\u003cbr\u003e\nユーザーからのレビューに迅速に返信し、対応を行うことでユーザーとの信頼関係を築く。\u003cbr\u003e\nレビューに対して感謝の気持ちを示すとともに、問題について丁寧に説明する。\u003c/p\u003e\n\u003c/li\u003e\n\u003cli data-sourcepos=\"156:1-161:0\"\u003e\n\u003cp data-sourcepos=\"156:4-159:131\"\u003eアプリの改善:\u003cbr\u003e\nユーザーからのフィードバックを収集し、改善点を把握する。\u003cbr\u003e\nユーザーが不満に思っている点や要望に応えるよう、アプリの機能を改善する。\u003cbr\u003e\n新機能の追加やUI/UXの改善など、定期的なアップデートを行うことで、ユーザーの期待に応える。\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp data-sourcepos=\"162:1-162:19\"\u003e\u003cstrong\u003eその他の例\u003c/strong\u003e\u003c/p\u003e\n\u003cul data-sourcepos=\"163:1-165:0\"\u003e\n\u003cli data-sourcepos=\"163:1-163:32\"\u003e関数名を作ってもらう\u003c/li\u003e\n\u003cli data-sourcepos=\"164:1-165:0\"\u003eコメントをつけてもらう\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp data-sourcepos=\"166:1-167:75\"\u003e有料ですがAPIがあるので\u003cbr\u003e\nユーザーの質疑応答を自動で行うチャットボットの作成\u003c/p\u003e\n\u003ch2 data-sourcepos=\"170:1-170:15\"\u003e\n\u003cspan id=\"終わりに\" class=\"fragment\"\u003e\u003c/span\u003e\u003ca href=\"#%E7%B5%82%E3%82%8F%E3%82%8A%E3%81%AB\"\u003e\u003ci class=\"fa fa-link\"\u003e\u003c/i\u003e\u003c/a\u003e終わりに\u003c/h2\u003e\n\u003cp data-sourcepos=\"171:1-172:71\"\u003eGoogle検索も道具の一部で一般的にもエンジニアとしても欠かせないツールですが、ChatGPTも同じように欠かせないツールになっていくと思います。\u003cbr\u003e\nこの記事の8割はChatGPTで作成しました。便利ですね。\u003c/p\u003e\n","body":"# ChatGPTとは\n一言で言うと人工知能です。ChatGPTに聞いたことを人間が分かる言葉で返答してくれます。\n\nコンピューターが言葉を理解して答えることができる人工知能の一種で、普段私たちが使っているスマートフォンやパソコンの音声アシスタント(例えば、SiriやGoogleアシスタント)や、チャットボットなどに使われています。\n\n膨大な量の文章を学習し、それをもとに人間が言う言葉を理解して返答することができます。\nChatGPTは、自然言語処理と呼ばれる技術を使って、人間の言葉を理解し、それに合った返答を生成することができます。\nこれにより、人間とのコミュニケーションをよりスムーズに行うことができます。\n\n\n## ChatGPTのはじめ方\nhttps://openai.com/blog/chatgpt/\n1. 上記のリンクにアクセスし、左下の「TRY ChatGPT」をクリックします。\n2. 新規アカウントを作成する必要があるので、「Sign up」をクリックします。\n3. アカウント登録画面で、メールアドレスを入力し、電話番号の認証コードを入力してアカウント登録を完了します。\n4. 画面下部の入力欄に質問を入力してChatGPTを始めます。\n5. ChatGPTはスマホでも利用でき、PC版と同様の手順でアカウント登録ができます。\n\n## Google検索とChatGPTの違いについて\n下記に色々記載していますが **答えに直接辿り着けるかどうかの違い** かと思っています。ChatGPTは若干タイムラグはあるものの安定した早さで答えに辿り着けます。\n情報の正確性に関して言うとChatGPTの方が高いと思います。キーワードを入力するだけのgoogle検索よりもChatGPTに質問する時の方がキーワードや聞き方を気をつけないと見当違いの答えが返ってくることがあるので慣れが必要です。\n\nGoogleが緊急事態を宣言  ググるがジピるに変わるのも遠くないかもしれません\nhttps://news.yahoo.co.jp/articles/c94e2304cea67132d7cf97810c72c291250c95bb\n\n#### Google検索の強み\n大量の情報をインデックス化しているため、あらゆるトピックに関する情報が検索可能である。\n高度な検索オプションを備え、検索結果を絞り込むことができる。\nGoogle自身が独自に開発したアルゴリズムにより、検索結果の品質が高く、スパムや不正な情報をフィルタリングすることができる。\n\n#### ChatGPTの強み\n自然言語での対話に特化しており、人間と自然な会話ができる。\n膨大なデータセットを元に学習しているため、豊富な知識を持ち、幅広いトピックについて話すことができる。\n機械学習モデルを使っているため、訓練データが増えることで、より高度な対話を行うことができる。\n\n#### Google検索の弱み\n大量の情報があるため、正確な情報を見つけるのが難しい場合がある。\n検索キーワードによっては、過剰な広告や商業的な情報が検索結果の上位に表示されることがある。\n検索結果は機械的に生成されるため、人間の判断力に欠ける場合がある。\n\n#### ChatGPTの弱み\n\n訓練データの質に依存しており、誤った情報や偏見を学習することがある。\n人間と同様に文脈や意味を正確に理解することができない場合がある。\nモデルの解釈性が低いため、意思決定プロセスを完全に理解することができない。\n\n## ChatGPTを実務で使う例\n### コードのリファクタリング\n冗長的なコードですね...リファクタリングをお願いしてみましょう。\n```swift\nswitch showButton.count {\n        case 0:\n            buttons[0]?.isHidden = false\n            buttons[1]?.isHidden = true\n            buttons[2]?.isHidden = true\n        case 1:\n            buttons[0]?.isHidden = true\n            buttons[1]?.isHidden = false\n            buttons[2]?.isHidden = true\n        case 2:\n            buttons[0]?.isHidden = true\n            buttons[1]?.isHidden = true\n            buttons[2]?.isHidden = false\n        default:\n            buttons[0]?.isHidden = true\n            buttons[1]?.isHidden = true\n            buttons[2]?.isHidden = true\n  }\n```\n\n↓\n\nリファクタリング後のコード   スッキリしました!\nただそのまま使用するかは既存のコードやコード規約、可読性を踏まえて取り入れるか検討します。\nまた正しくリファクタリングできているかも検証が必要です。参考程度に使用することが多いです。\n```swift\n    for (index, addButton) in addButtons.enumerated() {\n        addButton?.isHidden = selectedMediaImageList.count \u003e index\n    }\n```\n\n```swift\n   buttons[0]?.isHidden = !(showButton.count \u003e= 1)\n   buttons[1]?.isHidden = !(showButton.count \u003e= 2)\n   buttons[2]?.isHidden = !(showButton.count \u003e= 3)\n```\n\n```swift\n    switch showButton.count {\n    case 0: buttons[0]?.isHidden = false\n    case 1: buttons[1]?.isHidden = false\n    case 2: buttons[2]?.isHidden = false\n    default: break\n}\n```\n\n\n\n\n\n\n\n\n### アプリのキャンペーンを考えてもらう\nマッチングアプリのメッセージ交換を促進する施策やキャンペーンを聞いてみました。\n\n1. メッセージ送信ポイントの無料配布\n 新規登録時やプロフィールの設定完了時に、一定数のメッセージ送信ポイントを無料で配布する。\n この施策により、ユーザーは気軽にメッセージを送信しやすくなり、相手とのコミュニケーションが促進される。\n\n2. メッセージ送信ポイントのプレゼントキャンペーン\n 期間限定で、特定の条件を満たしたユーザーに対して、メッセージ送信ポイントをプレゼントする。\n 例えば、特定の日にアプリを利用するだけで、ポイントがもらえるといったキャンペーンが考えられる。\n3. メッセージの既読通知や未読メッセージのお知らせ\n メッセージを送信したユーザーが、相手からの返信を待ちわびることが多いため、相手がメッセージを開封したことがわかる既読通知や、未読メッセージがあることをお知らせする機能を実装することで、相手とのやりとりを促進することができる。\n\n4. コミュニケーションを促進する機能の追加\n メッセージ送信以外にも、コミュニケーションを促進する機能を追加することで、ユーザー同士の交流を促すことができる。\n 例えば、好みの音楽や趣味をシェアする機能や、おすすめのデートスポットを紹介する機能などが考えられる。\n\n他にも\n- マッチング成立時に自己紹介動画を再生する\n- ユーザー同士が実際に出会えるイベントを定期的に開催する\n- ユーザー同士をつなぐコミュニティの設置\n- マッチング成功事例の公開\n- マッチングのアルゴリズムの改善\n- サポート体制の充実\n- ユーザーの活動状況に応じた通知やリマインド\n- マッチング成立後の報酬\n- ユーザーの満足度向上を目的としたアンケートやフィードバックの実施\n- プロフィールの改善を促すコンテンツの提供\n\n### ASOについて聞いてみた\nASOとは App Store Optimizationの略称で、アプリストア最適化をしてインストールに繋げることです。\n\n1. キーワードリサーチ:\nユーザーがどのような検索ワードでアプリを探しているかを調査し、関連するキーワードを洗い出す。\nGoogle TrendsやASOツールを活用し、競合アプリのキーワードやランキング情報を調査する。\nキーワードの頻度や検索数を把握するため、Google AdWords Keyword Plannerなどのツールを活用する。\n\n2. アプリタイトルと説明文の最適化:\nタイトルや説明文にキーワードを適切に組み込む。\nタイトルや説明文を簡潔かつ魅力的にまとめる。\nアプリの特徴や利点を分かりやすく伝える。\n\n3. スクリーンショットとプロモーションビデオの作成:\nアプリの使い方や機能を分かりやすく示すスクリーンショットを用意する。\nアプリのインターフェースを美しく見せるために、スクリーンショットにデザイン性を取り入れる。\nユーザーがどのようにアプリを使うかを想像し、そのイメージを伝えるスクリーンショットを作成する。\n\n4. レビューの収集とフィードバックの返信:\nアプリ内にフィードバック機能を設け、ユーザーからの声を積極的に収集する。\nユーザーからのレビューに迅速に返信し、対応を行うことでユーザーとの信頼関係を築く。\nレビューに対して感謝の気持ちを示すとともに、問題について丁寧に説明する。\n\n5. アプリの改善:\nユーザーからのフィードバックを収集し、改善点を把握する。\nユーザーが不満に思っている点や要望に応えるよう、アプリの機能を改善する。\n新機能の追加やUI/UXの改善など、定期的なアップデートを行うことで、ユーザーの期待に応える。\n\n\n**その他の例**\n- 関数名を作ってもらう\n- コメントをつけてもらう\n\n有料ですがAPIがあるので\nユーザーの質疑応答を自動で行うチャットボットの作成\n\n\n## 終わりに\nGoogle検索も道具の一部で一般的にもエンジニアとしても欠かせないツールですが、ChatGPTも同じように欠かせないツールになっていくと思います。\nこの記事の8割はChatGPTで作成しました。便利ですね。\n","coediting":false,"comments_count":0,"created_at":"2023-02-16T15:27:51+09:00","group":null,"id":"9e1954d22b602dcf79e8","likes_count":4,"private":false,"reactions_count":0,"stocks_count":3,"tags":[{"name":"AI","versions":[]},{"name":"人工知能","versions":[]},{"name":"ChatGPT","versions":[]}],"title":"ChatGPTしてますか?","updated_at":"2023-02-16T15:27:51+09:00","url":"https://qiita.com/sauna1137/items/9e1954d22b602dcf79e8","user":{"description":"","facebook_id":"","followees_count":0,"followers_count":3,"github_login_name":null,"id":"sauna1137","items_count":8,"linkedin_id":"","location":"","name":"","organization":"","permanent_id":1201315,"profile_image_url":"https://s3-ap-northeast-1.amazonaws.com/qiita-image-store/0/1201315/6258bdc837982e9aa2bd328638d848b961ee5b73/large.png?1640769136","team_only":false,"twitter_screen_name":null,"website_url":"https://github.com/sauna1137"},"page_views_count":null,"team_membership":null},{"rendered_body":"\u003ch2 data-sourcepos=\"1:1-3:0\"\u003e\n\u003cspan id=\"注意\" class=\"fragment\"\u003e\u003c/span\u003e\u003ca href=\"#%E6%B3%A8%E6%84%8F\"\u003e\u003ci class=\"fa fa-link\"\u003e\u003c/i\u003e\u003c/a\u003e注意\u003c/h2\u003e\n\u003cp data-sourcepos=\"4:1-8:57\"\u003eこちらはChatGPTが回答した三平方の定理の証明6パターンです。\u003cbr\u003e\nあっているかは保証しません。\u003cbr\u003e\nLATEXの出力となっており、こちらの記事を投稿するフォーマットで正しく出るのか確認したかったため、\u003cbr\u003e\nついでと思い本記事として投稿しようと思った次第です。\u003cbr\u003e\nあっているかどうかは確認していません。\u003c/p\u003e\n\u003chr data-sourcepos=\"10:1-12:0\"\u003e\n\u003ch2 data-sourcepos=\"13:2-13:22\"\u003e\n\u003cspan id=\"三平方の定理\" class=\"fragment\"\u003e\u003c/span\u003e\u003ca href=\"#%E4%B8%89%E5%B9%B3%E6%96%B9%E3%81%AE%E5%AE%9A%E7%90%86\"\u003e\u003ci class=\"fa fa-link\"\u003e\u003c/i\u003e\u003c/a\u003e三平方の定理\u003c/h2\u003e\n\u003cp data-sourcepos=\"16:1-16:237\"\u003e三平方の定理とは、直角三角形の斜辺の長さを$c$、他の2辺の長さを$a$と$b$とすると、$a^2+b^2=c^2$という式が成り立つことを示す定理です。以下に、6つの証明方法を解説します。\u003c/p\u003e\n\u003ch2 data-sourcepos=\"18:2-18:23\"\u003e\n\u003cspan id=\"証明方法1\" class=\"fragment\"\u003e\u003c/span\u003e\u003ca href=\"#%E8%A8%BC%E6%98%8E%E6%96%B9%E6%B3%951\"\u003e\u003ci class=\"fa fa-link\"\u003e\u003c/i\u003e\u003c/a\u003e【証明方法1】\u003c/h2\u003e\n\u003cp data-sourcepos=\"19:1-37:49\"\u003eまず、三角形の各辺を$a$、$b$、$c$とします。このとき、直角三角形の面積を$S$とすると、以下のような式が成り立ちます。\u003cbr\u003e\n$$S=\\frac{1}{2}ab$$\u003cbr\u003e\nまた、同じ直角三角形において、斜辺$c$に対する高さを$h$とすると、以下のような式が成り立ちます。\u003cbr\u003e\n$$S=\\frac{1}{2}ch$$\u003cbr\u003e\nここで、$h$を求めると、以下のようになります。\u003cbr\u003e\n$$h=\\frac{2S}{c}=\\frac{ab}{c}$$\u003cbr\u003e\n一方、直角三角形の直角を挟む2辺の長さをそれぞれ$p$、$q$とすると、$p+q=c$が成り立ちます。ここで、$p$と$q$を使って、$h$を表すと、以下のようになります。\u003cbr\u003e\n$$h=\\sqrt{p^2-\\left(\\frac{c}{2}\\right)^2}=\\sqrt{\\left(\\frac{c}{2}\\right)^2-q^2}$$\u003cbr\u003e\nこれらの式を組み合わせると、以下のようになります。\u003cbr\u003e\n$$\\frac{ab}{c}=\\sqrt{\\left(\\frac{c}{2}\\right)^2-q^2}$$\u003cbr\u003e\n両辺を2乗すると、以下のようになります。\u003cbr\u003e\n$$a^2b^2=c^2\\left(\\frac{c}{2}\\right)^2-c^2q^2$$\u003cbr\u003e\n右辺を因数分解すると、以下のようになります。\u003cbr\u003e\n$$a^2b^2=c^2\\left(\\frac{c}{2}+q\\right)\\left(\\frac{c}{2}-q\\right)$$\u003cbr\u003e\n$p+q=c$より、$\\frac{c}{2}+q=\\frac{c}{2}-p$が成り立ちます。この式を用いると、以下のようになります。\u003cbr\u003e\n$$a^2b^2=c^2\\left(\\frac{c}{2}+q\\right)\\left(\\frac{c}{2}-q\\right)=c^2\\left(\\frac{c}{2}-p\\right)\\left(\\frac{c}{2}+p\\right)$$\u003cbr\u003e\n両辺を足し合わせると、以下のようになります。\u003cbr\u003e\n$$a^2b^2+c^4=c^2\\left(\\frac{c^2}{4}-p^2\\right)+c^2p^2=c^4$$\u003cbr\u003e\nよって、$a^2+b^2=c^2$が成り立ちます。\u003c/p\u003e\n\u003ch2 data-sourcepos=\"40:2-40:23\"\u003e\n\u003cspan id=\"証明方法2\" class=\"fragment\"\u003e\u003c/span\u003e\u003ca href=\"#%E8%A8%BC%E6%98%8E%E6%96%B9%E6%B3%952\"\u003e\u003ci class=\"fa fa-link\"\u003e\u003c/i\u003e\u003c/a\u003e【証明方法2】\u003c/h2\u003e\n\u003cp data-sourcepos=\"42:1-61:55\"\u003eまず、三角形の各辺を$a$、$b$、$c$とします。また、三角形の直角を挟む2辺の長さをそれぞれ$p$、$q$とします。$p$、$q$は以下のように表されます。\u003cbr\u003e\n$$p=\\frac{a+b+c}{2}-c=\\frac{a+b-c}{2}$$\u003cbr\u003e\n$$q=\\frac{a+b+c}{2}-a=\\frac{b+c-a}{2}$$\u003cbr\u003e\nここで、$p$、$q$を用いて、以下の式を得ます。\u003cbr\u003e\n$$p^2-q^2=\\left(\\frac{a+b-c}{2}\\right)^2-\\left(\\frac{b+c-a}{2}\\right)^2=\\frac{(a+b+c)(a+b-c)(b+c-a)(c+a-b)}{4abc}$$\u003cbr\u003e\nまた、三角形の面積を$S$とすると、以下の式が成り立ちます。\u003cbr\u003e\n$$S=\\frac{1}{2}ab=\\frac{c}{2}h=\\frac{c}{2}\\sqrt{p^2-q^2}$$\u003cbr\u003e\n両辺を2乗すると、以下の式が得られます。\u003cbr\u003e\n$$4S^2=c^2(p^2-q^2)$$\u003cbr\u003e\nここで、$p^2-q^2$を前述の式に置き換えると、以下のようになります。\u003cbr\u003e\n$$4S^2=c^2\\cdot\\frac{(a+b+c)(a+b-c)(b+c-a)(c+a-b)}{4abc}$$\u003cbr\u003e\n両辺を$4S^2$で割ると、以下の式が得られます。\u003cbr\u003e\n$$1=\\frac{(a+b+c)(a+b-c)(b+c-a)(c+a-b)}{4a^2b^2c^2}$$\u003cbr\u003e\nここで、左辺を$(abc)^2$で乗じると、以下の式が得られます。\u003cbr\u003e\n$$(abc)^2=(a+b+c)(a+b-c)(b+c-a)(c+a-b)$$\u003cbr\u003e\n右辺の括弧内の項は、直角三角形の場合、それぞれ$a+b-c=c$、$b+c-a=c$、$c+a-b=a$となります。これを式に代入すると、以下の式が得られます。\u003cbr\u003e\n$$(abc)^2=2c\\cdot2a\\cdot2b=8abc^2$$\u003cbr\u003e\n両辺を$8abc^2$で割ると、以下の式が得られます。\u003cbr\u003e\n$$1=\\frac{a^2}{c^2}+\\frac{b^2}{c^2}$$\u003cbr\u003e\nしたがって、$a^2+b^2=c^2$が成り立ちます。\u003c/p\u003e\n\u003ch2 data-sourcepos=\"64:2-64:23\"\u003e\n\u003cspan id=\"証明方法3\" class=\"fragment\"\u003e\u003c/span\u003e\u003ca href=\"#%E8%A8%BC%E6%98%8E%E6%96%B9%E6%B3%953\"\u003e\u003ci class=\"fa fa-link\"\u003e\u003c/i\u003e\u003c/a\u003e【証明方法3】\u003c/h2\u003e\n\u003cp data-sourcepos=\"66:1-66:196\"\u003eまず、三角形の各辺を$a$、$b$、$c$とします。また、三角形の直角を挟む2辺の長さをそれぞれ$p$、$q$とします。$p$、$q$は以下のように表されます。\u003c/p\u003e\n\u003cp data-sourcepos=\"68:1-68:39\"\u003e$$p=\\frac{a+b+c}{2}-c=\\frac{a+b-c}{2}$$\u003c/p\u003e\n\u003cp data-sourcepos=\"70:1-70:39\"\u003e$$q=\\frac{a+b+c}{2}-a=\\frac{b+c-a}{2}$$\u003c/p\u003e\n\u003cp data-sourcepos=\"72:1-72:51\"\u003eこれらを用いて、以下の式を得ます。\u003c/p\u003e\n\u003cp data-sourcepos=\"74:1-74:19\"\u003e$$a^2=p^2+(b-q)^2$$\u003c/p\u003e\n\u003cp data-sourcepos=\"76:1-76:19\"\u003e$$b^2=q^2+(a-p)^2$$\u003c/p\u003e\n\u003cp data-sourcepos=\"78:1-78:66\"\u003e両辺を足し合わせると、以下の式が得られます。\u003c/p\u003e\n\u003cp data-sourcepos=\"80:1-80:35\"\u003e$$a^2+b^2=p^2+q^2+(a-p)^2+(b-q)^2$$\u003c/p\u003e\n\u003cp data-sourcepos=\"82:1-82:63\"\u003eこの式を整理すると、以下のようになります。\u003c/p\u003e\n\u003cp data-sourcepos=\"84:1-84:30\"\u003e$$a^2+b^2=c^2+(a+b-c)(a+b+c)$$\u003c/p\u003e\n\u003cp data-sourcepos=\"86:1-86:109\"\u003eここで、$(a+b-c)(a+b+c)=a^2+b^2-c^2$であることに着目すると、以下の式が得られます。\u003c/p\u003e\n\u003cp data-sourcepos=\"88:1-88:19\"\u003e$$a^2+b^2=c^2+2ab$$\u003c/p\u003e\n\u003cp data-sourcepos=\"90:1-90:55\"\u003eしたがって、$a^2+b^2=c^2$が成り立ちます。\u003c/p\u003e\n\u003cp data-sourcepos=\"92:1-92:19\"\u003e【証明方法4】\u003c/p\u003e\n\u003cp data-sourcepos=\"94:1-94:196\"\u003eまず、三角形の各辺を$a$、$b$、$c$とします。また、三角形の直角を挟む2辺の長さをそれぞれ$p$、$q$とします。$p$、$q$は以下のように表されます。\u003c/p\u003e\n\u003cp data-sourcepos=\"96:1-96:39\"\u003e$$p=\\frac{a+b+c}{2}-c=\\frac{a+b-c}{2}$$\u003c/p\u003e\n\u003cp data-sourcepos=\"98:1-98:39\"\u003e$$q=\\frac{a+b+c}{2}-a=\\frac{b+c-a}{2}$$\u003c/p\u003e\n\u003cp data-sourcepos=\"100:1-100:78\"\u003eここで、以下の式を用いて、三角形の面積$S$を表します。\u003c/p\u003e\n\u003cp data-sourcepos=\"102:1-102:58\"\u003e$$S=\\frac{1}{2}ab=\\frac{c}{2}h=\\frac{c}{2}\\sqrt{p^2-q^2}$$\u003c/p\u003e\n\u003cp data-sourcepos=\"104:1-104:58\"\u003e両辺を2乗すると、以下の式が得られます。\u003c/p\u003e\n\u003cp data-sourcepos=\"106:1-106:21\"\u003e$$4S^2=c^2(p^2-q^2)$$\u003c/p\u003e\n\u003cp data-sourcepos=\"108:1-108:87\"\u003e$p$、$q$を用いて、$p^2-q^2$を変形すると、以下のようになります。\u003c/p\u003e\n\u003cp data-sourcepos=\"110:1-110:44\"\u003e$$p^2-q^2=\\frac{(a+b-c)(a-b+c)(-a+b+c)}{4}$$\u003c/p\u003e\n\u003cp data-sourcepos=\"112:1-112:72\"\u003eこれを前の式に代入すると、以下の式が得られます。\u003c/p\u003e\n\u003cp data-sourcepos=\"114:1-114:44\"\u003e$$4S^2=\\frac{c^2(a+b-c)(a-b+c)(-a+b+c)}{4}$$\u003c/p\u003e\n\u003cp data-sourcepos=\"116:1-116:80\"\u003eこの式の両辺を$a^2b^2c^2$で割ると、以下の式が得られます。\u003c/p\u003e\n\u003cp data-sourcepos=\"118:1-118:68\"\u003e$$\\frac{4S^2}{a^2b^2c^2}=\\frac{(a+b-c)(a-b+c)(-a+b+c)}{4a^2b^2c^2}$$\u003c/p\u003e\n\u003cp data-sourcepos=\"120:1-120:218\"\u003eここで$x=\\frac{a+b-c}{2}$、$y=\\frac{a-b+c}{2}$、$z=\\frac{-a+b+c}{2}$とおくと、$x$、$y$、$z$はそれぞれ三角形の3辺の半分になります。したがって、$x$、$y$、$z$は正の実数です。\u003c/p\u003e\n\u003cp data-sourcepos=\"122:1-122:63\"\u003eこの式を整理すると、以下のようになります。\u003c/p\u003e\n\u003cp data-sourcepos=\"124:1-124:54\"\u003e$$\\frac{4S^2}{a^2b^2c^2}=\\frac{xyz}{(x+y)(y+z)(z+x)}$$\u003c/p\u003e\n\u003cp data-sourcepos=\"126:1-126:101\"\u003eここで、$x+y+z=\\frac{a+b+c}{2}=s$とおくと、$x+y=s-c$, $y+z=s-a$, $z+x=s-b$となります。\u003c/p\u003e\n\u003cp data-sourcepos=\"128:1-128:72\"\u003eよって、以下のように式を変形することができます。\u003c/p\u003e\n\u003cp data-sourcepos=\"130:1-130:54\"\u003e$$\\frac{4S^2}{a^2b^2c^2}=\\frac{(s-a)(s-b)(s-c)}{abc}$$\u003c/p\u003e\n\u003cp data-sourcepos=\"132:1-132:60\"\u003eこれを整理すると、以下の式が得られます。\u003c/p\u003e\n\u003cp data-sourcepos=\"134:1-134:53\"\u003e$$a^2b^2+b^2c^2+c^2a^2=(a+b+c)(a+b-c)(b+c-a)(c+a-b)$$\u003c/p\u003e\n\u003cp data-sourcepos=\"136:1-136:68\"\u003e両辺を$a^2b^2c^2$で割ると、以下の式が得られます。\u003c/p\u003e\n\u003cp data-sourcepos=\"138:1-138:163\"\u003e$$\\left(\\frac{a}{c}\\right)^2+\\left(\\frac{b}{c}\\right)^2+2\\left(\\frac{ab}{c^2}\\right)=\\left(1+\\frac{a}{b}+\\frac{c}{b}\\right)\\left(1+\\frac{b}{a}+\\frac{c}{a}\\right)$$\u003c/p\u003e\n\u003cp data-sourcepos=\"140:1-140:73\"\u003e両辺に$\\frac{1}{2}$を掛けると、以下の式が得られます。\u003c/p\u003e\n\u003cp data-sourcepos=\"142:1-142:105\"\u003e$$\\left(\\frac{a}{c}\\right)^2+\\left(\\frac{b}{c}\\right)^2+\\frac{ab}{c^2}=\\frac{(a+b+c)(ab+bc+ca)}{2abc^2}$$\u003c/p\u003e\n\u003cp data-sourcepos=\"144:1-144:60\"\u003eこれを整理すると、以下の式が得られます。\u003c/p\u003e\n\u003cp data-sourcepos=\"146:1-146:130\"\u003e$$\\left(\\frac{a}{c}\\right)^2+\\left(\\frac{b}{c}\\right)^2+\\left(\\frac{a}{c}\\right)\\left(\\frac{b}{c}\\right)=\\frac{a^2+b^2+c^2}{c^2}$$\u003c/p\u003e\n\u003cp data-sourcepos=\"148:1-148:150\"\u003eこの式の左辺は$\\sin^2 A + \\sin^2 B + 2\\sin A\\sin B = \\cos^2 C + \\sin^2 C = 1$であることを用いると、以下の式が得られます。\u003c/p\u003e\n\u003cp data-sourcepos=\"150:1-150:15\"\u003e$$a^2+b^2=c^2$$\u003c/p\u003e\n\u003cp data-sourcepos=\"152:1-152:63\"\u003eしたがって、三平方の定理が証明されました。\u003c/p\u003e\n\u003cp data-sourcepos=\"154:1-154:19\"\u003e【証明方法6】\u003c/p\u003e\n\u003cp data-sourcepos=\"156:1-156:48\"\u003eまず、以下の三角形ABCを考えます。\u003c/p\u003e\n\u003cdiv\u003e\n\u003ca href=\"https://camo.qiitausercontent.com/a1f7b00368c0ccb64c2f16a8018fd720f4543594/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f302f30642f50726f6f66735f6f665f7468655f5079746861676f7265616e5f7468656f72656d2e737667\" target=\"_blank\" rel=\"nofollow noopener\"\u003e\u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/0/0d/Proofs_of_the_Pythagorean_theorem.svg\" alt=\"Pythagorean theorem - proof 6\" data-canonical-src=\"https://upload.wikimedia.org/wikipedia/commons/0/0d/Proofs_of_the_Pythagorean_theorem.svg\" loading=\"lazy\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n三角形ABCに対して、角A、B、Cの内角二等分線を引き、それぞれBC、AC、ABと交わる点をD、E、Fとします。すると、三角形ABCは三角形DEFに相似になります。\n\u003cdiv\u003e\n\u003ca href=\"https://camo.qiitausercontent.com/aa1503cf2d00a86fe20f5baa711a8fa9e64decd5/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f352f35652f5079746861676f7265616e5f70726f6f665f666967362e737667\" target=\"_blank\" rel=\"nofollow noopener\"\u003e\u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/5/5e/Pythagorean_proof_fig6.svg\" alt=\"Pythagorean theorem - proof 6\" data-canonical-src=\"https://upload.wikimedia.org/wikipedia/commons/5/5e/Pythagorean_proof_fig6.svg\" loading=\"lazy\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n三角形ABCに対して、高さAHを引くと、以下のようになります。\n\u003cdiv\u003e\n\u003ca href=\"https://camo.qiitausercontent.com/cb4f1c1512304f44e0b28cff6782b22a21cfe690/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f612f61322f5079746861676f7265616e5f70726f6f665f666967372e737667\" target=\"_blank\" rel=\"nofollow noopener\"\u003e\u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/a/a2/Pythagorean_proof_fig7.svg\" alt=\"Pythagorean theorem - proof 6\" data-canonical-src=\"https://upload.wikimedia.org/wikipedia/commons/a/a2/Pythagorean_proof_fig7.svg\" loading=\"lazy\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n三角形ABCは直角三角形なので、$AH=\\frac{bc}{a}$です。\n\u003cp data-sourcepos=\"173:1-173:111\"\u003eまた、三角形ABCと相似な三角形ADFとAEHについて、以下のような式が成り立ちます。\u003c/p\u003e\n\u003cp data-sourcepos=\"175:1-175:48\"\u003e$$\\frac{AD}{AB}=\\frac{AF}{AC}=\\frac{AH}{AB+AC}$$\u003c/p\u003e\n\u003cp data-sourcepos=\"177:1-177:60\"\u003eこれを整理すると、以下のようになります。\u003c/p\u003e\n\u003cp data-sourcepos=\"179:1-179:84\"\u003e$$AD=\\frac{bc}{a+c},\\ \\ AF=\\frac{ab}{a+c},\\ \\ AH=\\frac{bc}{a} - \\frac{abc}{a(a+c)}$$\u003c/p\u003e\n\u003cp data-sourcepos=\"181:1-181:111\"\u003eまた、三角形ABCと相似な三角形BEFとBDHについて、以下のような式が成り立ちます。\u003c/p\u003e\n\u003cp data-sourcepos=\"183:1-183:48\"\u003e$$\\frac{BE}{BA}=\\frac{BF}{BC}=\\frac{BD}{BA+BC}$$\u003c/p\u003e\n\u003cp data-sourcepos=\"185:1-185:60\"\u003eこれを整理すると、以下のようになります。\u003c/p\u003e\n\u003cp data-sourcepos=\"187:1-187:84\"\u003e$$BE=\\frac{ac}{a+b},\\ \\ BF=\\frac{ab}{a+b},\\ \\ BD=\\frac{ac}{b} - \\frac{abc}{b(a+b)}$$\u003c/p\u003e\n\u003cp data-sourcepos=\"189:1-189:90\"\u003e三角形ADFと三角形BEFは相似であるので、以下の式が成り立ちます。\u003c/p\u003e\n\u003cp data-sourcepos=\"191:1-191:31\"\u003e$$\\frac{AF}{BE}=\\frac{DF}{EF}$$\u003c/p\u003e\n\u003cp data-sourcepos=\"193:1-193:60\"\u003eこれを整理すると、以下のようになります。\u003c/p\u003e\n\u003cp data-sourcepos=\"195:1-195:55\"\u003e$$\\frac{\\frac{ab}{a+c}}{\\frac{ac}{a+b}}=\\frac{DF}{EF}$$\u003c/p\u003e\n\u003cp data-sourcepos=\"197:1-197:88\"\u003e両辺に$\\frac{a+b}{ab}$を掛けて整理すると、以下の式が得られます。\u003c/p\u003e\n\u003cp data-sourcepos=\"199:1-199:45\"\u003e$$DF=\\frac{b^2}{a+c},\\ \\ EF=\\frac{a^2}{a+b}$$\u003c/p\u003e\n\u003cp data-sourcepos=\"201:1-201:90\"\u003e三角形BDHと三角形AEHは相似であるので、以下の式が成り立ちます。\u003c/p\u003e\n\u003cp data-sourcepos=\"203:1-203:31\"\u003e$$\\frac{AH}{BD}=\\frac{EH}{DH}$$\u003c/p\u003e\n\u003cp data-sourcepos=\"205:1-205:60\"\u003eこれを整理すると、以下のようになります。\u003c/p\u003e\n\u003cp data-sourcepos=\"207:1-207:93\"\u003e$$\\frac{\\frac{bc}{a} - \\frac{abc}{a(a+c)}}{\\frac{ac}{b} - \\frac{abc}{b(a+b)}}=\\frac{EH}{DH}$$\u003c/p\u003e\n\u003cp data-sourcepos=\"209:1-209:91\"\u003e両辺に$\\frac{ab}{c(a+b)}$を掛けて整理すると、以下の式が得られます。\u003c/p\u003e\n\u003cp data-sourcepos=\"212:1-212:75\"\u003e最後に、三角形ABCと相似な三角形DEFについて考えます。\u003c/p\u003e\n\u003cp data-sourcepos=\"214:1-214:90\"\u003e三角形ABCと三角形DEFは相似であるので、以下の式が成り立ちます。\u003c/p\u003e\n\u003cp data-sourcepos=\"216:1-216:45\"\u003e$$\\frac{AB}{DE}=\\frac{BC}{EF}=\\frac{AC}{FD}$$\u003c/p\u003e\n\u003cp data-sourcepos=\"218:1-218:60\"\u003eこれを整理すると、以下のようになります。\u003c/p\u003e\n\u003cp data-sourcepos=\"220:1-220:42\"\u003e$$\\frac{a}{DE}=\\frac{c}{EF}=\\frac{b}{FD}$$\u003c/p\u003e\n\u003cp data-sourcepos=\"222:1-222:49\"\u003e両辺を2乗して、以下の式を得ます。\u003c/p\u003e\n\u003cp data-sourcepos=\"224:1-224:54\"\u003e$$\\frac{a^2}{DE^2}=\\frac{b^2}{FD^2}=\\frac{c^2}{EF^2}$$\u003c/p\u003e\n\u003cp data-sourcepos=\"226:1-226:145\"\u003eここで、$DE^2+EF^2=DF^2$であることに注意します。これは、三角形DEFが直角三角形であることから導かれます。\u003c/p\u003e\n\u003cp data-sourcepos=\"228:1-228:90\"\u003eよって、上記の式を使って$FD^2$を表すと、以下のようになります。\u003c/p\u003e\n\u003cp data-sourcepos=\"230:1-230:45\"\u003e$$FD^2=\\frac{b^2}{a^2+c^2}\\cdot (DE^2+EF^2)$$\u003c/p\u003e\n\u003cp data-sourcepos=\"232:1-232:94\"\u003eここで、$DE^2=DF^2-EF^2$を代入して整理すると、以下のようになります。\u003c/p\u003e\n\u003cp data-sourcepos=\"234:1-234:47\"\u003e$$FD^2=\\frac{b^2}{a^2+c^2}\\cdot (DF^2 - EF^2)$$\u003c/p\u003e\n\u003cp data-sourcepos=\"236:1-236:104\"\u003eさらに、$EF^2=\\frac{a^4}{(a+b)^2}$を代入して整理すると、以下のようになります。\u003c/p\u003e\n\u003cp data-sourcepos=\"238:1-238:94\"\u003e$$FD^2=\\frac{b^2}{a^2+c^2}\\cdot \\left(\\frac{a^2b^2}{(a+b)^2} + \\frac{c^2a^2}{(a+c)^2}\\right)$$\u003c/p\u003e\n\u003cp data-sourcepos=\"240:1-240:92\"\u003eここで、$a^2c^2+b^2c^2=a^2b^2+c^2a^2$を用いると、以下のようになります。\u003c/p\u003e\n\u003cp data-sourcepos=\"242:1-242:31\"\u003e$$FD^2=\\frac{b^2c^2}{a^2+c^2}$$\u003c/p\u003e\n\u003cp data-sourcepos=\"244:1-244:128\"\u003eつまり、$FD^2=BC^2$が成り立ちます。よって、三角形ABCは直角三角形であることが示されました。\u003c/p\u003e\n\u003cp data-sourcepos=\"246:1-246:142\"\u003e以上が、三平方の定理の6つの証明です。それぞれ、異なるアプローチで三平方の定理を証明しています。\u003c/p\u003e\n\u003ch2 data-sourcepos=\"249:2-249:13\"\u003e\n\u003cspan id=\"まとめ\" class=\"fragment\"\u003e\u003c/span\u003e\u003ca href=\"#%E3%81%BE%E3%81%A8%E3%82%81\"\u003e\u003ci class=\"fa fa-link\"\u003e\u003c/i\u003e\u003c/a\u003eまとめ\u003c/h2\u003e\n\u003cp data-sourcepos=\"250:1-254:9\"\u003echatGPT草\u003cbr\u003e\n実質ゴミ記事量産時代といったところでしょうか。\u003cbr\u003e\n私はほかにもいろいろ無料でChatGPTを試してきたうえで本当に助かっていますので、\u003cbr\u003e\n有料に加入しようと思っています。\u003cbr\u003e\n円安...\u003c/p\u003e\n","body":"注意\n-----------------------------\n\nこちらはChatGPTが回答した三平方の定理の証明6パターンです。\nあっているかは保証しません。\nLATEXの出力となっており、こちらの記事を投稿するフォーマットで正しく出るのか確認したかったため、\nついでと思い本記事として投稿しようと思った次第です。\nあっているかどうかは確認していません。\n\n-----------------------------\n\n\n ## 三平方の定理\n\n\n三平方の定理とは、直角三角形の斜辺の長さを$c$、他の2辺の長さを$a$と$b$とすると、$a^2+b^2=c^2$という式が成り立つことを示す定理です。以下に、6つの証明方法を解説します。\n\n ## 【証明方法1】\nまず、三角形の各辺を$a$、$b$、$c$とします。このとき、直角三角形の面積を$S$とすると、以下のような式が成り立ちます。\n$$S=\\frac{1}{2}ab$$\nまた、同じ直角三角形において、斜辺$c$に対する高さを$h$とすると、以下のような式が成り立ちます。\n$$S=\\frac{1}{2}ch$$\nここで、$h$を求めると、以下のようになります。\n$$h=\\frac{2S}{c}=\\frac{ab}{c}$$\n一方、直角三角形の直角を挟む2辺の長さをそれぞれ$p$、$q$とすると、$p+q=c$が成り立ちます。ここで、$p$と$q$を使って、$h$を表すと、以下のようになります。\n$$h=\\sqrt{p^2-\\left(\\frac{c}{2}\\right)^2}=\\sqrt{\\left(\\frac{c}{2}\\right)^2-q^2}$$\nこれらの式を組み合わせると、以下のようになります。\n$$\\frac{ab}{c}=\\sqrt{\\left(\\frac{c}{2}\\right)^2-q^2}$$\n両辺を2乗すると、以下のようになります。\n$$a^2b^2=c^2\\left(\\frac{c}{2}\\right)^2-c^2q^2$$\n右辺を因数分解すると、以下のようになります。\n$$a^2b^2=c^2\\left(\\frac{c}{2}+q\\right)\\left(\\frac{c}{2}-q\\right)$$\n$p+q=c$より、$\\frac{c}{2}+q=\\frac{c}{2}-p$が成り立ちます。この式を用いると、以下のようになります。\n$$a^2b^2=c^2\\left(\\frac{c}{2}+q\\right)\\left(\\frac{c}{2}-q\\right)=c^2\\left(\\frac{c}{2}-p\\right)\\left(\\frac{c}{2}+p\\right)$$\n両辺を足し合わせると、以下のようになります。\n$$a^2b^2+c^4=c^2\\left(\\frac{c^2}{4}-p^2\\right)+c^2p^2=c^4$$\nよって、$a^2+b^2=c^2$が成り立ちます。\n\n\n ## 【証明方法2】\n\nまず、三角形の各辺を$a$、$b$、$c$とします。また、三角形の直角を挟む2辺の長さをそれぞれ$p$、$q$とします。$p$、$q$は以下のように表されます。\n$$p=\\frac{a+b+c}{2}-c=\\frac{a+b-c}{2}$$\n$$q=\\frac{a+b+c}{2}-a=\\frac{b+c-a}{2}$$\nここで、$p$、$q$を用いて、以下の式を得ます。\n$$p^2-q^2=\\left(\\frac{a+b-c}{2}\\right)^2-\\left(\\frac{b+c-a}{2}\\right)^2=\\frac{(a+b+c)(a+b-c)(b+c-a)(c+a-b)}{4abc}$$\nまた、三角形の面積を$S$とすると、以下の式が成り立ちます。\n$$S=\\frac{1}{2}ab=\\frac{c}{2}h=\\frac{c}{2}\\sqrt{p^2-q^2}$$\n両辺を2乗すると、以下の式が得られます。\n$$4S^2=c^2(p^2-q^2)$$\nここで、$p^2-q^2$を前述の式に置き換えると、以下のようになります。\n$$4S^2=c^2\\cdot\\frac{(a+b+c)(a+b-c)(b+c-a)(c+a-b)}{4abc}$$\n両辺を$4S^2$で割ると、以下の式が得られます。\n$$1=\\frac{(a+b+c)(a+b-c)(b+c-a)(c+a-b)}{4a^2b^2c^2}$$\nここで、左辺を$(abc)^2$で乗じると、以下の式が得られます。\n$$(abc)^2=(a+b+c)(a+b-c)(b+c-a)(c+a-b)$$\n右辺の括弧内の項は、直角三角形の場合、それぞれ$a+b-c=c$、$b+c-a=c$、$c+a-b=a$となります。これを式に代入すると、以下の式が得られます。\n$$(abc)^2=2c\\cdot2a\\cdot2b=8abc^2$$\n両辺を$8abc^2$で割ると、以下の式が得られます。\n$$1=\\frac{a^2}{c^2}+\\frac{b^2}{c^2}$$\nしたがって、$a^2+b^2=c^2$が成り立ちます。\n\n\n ## 【証明方法3】\n\nまず、三角形の各辺を$a$、$b$、$c$とします。また、三角形の直角を挟む2辺の長さをそれぞれ$p$、$q$とします。$p$、$q$は以下のように表されます。\n\n$$p=\\frac{a+b+c}{2}-c=\\frac{a+b-c}{2}$$\n\n$$q=\\frac{a+b+c}{2}-a=\\frac{b+c-a}{2}$$\n\nこれらを用いて、以下の式を得ます。\n\n$$a^2=p^2+(b-q)^2$$\n\n$$b^2=q^2+(a-p)^2$$\n\n両辺を足し合わせると、以下の式が得られます。\n\n$$a^2+b^2=p^2+q^2+(a-p)^2+(b-q)^2$$\n\nこの式を整理すると、以下のようになります。\n\n$$a^2+b^2=c^2+(a+b-c)(a+b+c)$$\n\nここで、$(a+b-c)(a+b+c)=a^2+b^2-c^2$であることに着目すると、以下の式が得られます。\n\n$$a^2+b^2=c^2+2ab$$\n\nしたがって、$a^2+b^2=c^2$が成り立ちます。\n\n【証明方法4】\n\nまず、三角形の各辺を$a$、$b$、$c$とします。また、三角形の直角を挟む2辺の長さをそれぞれ$p$、$q$とします。$p$、$q$は以下のように表されます。\n\n$$p=\\frac{a+b+c}{2}-c=\\frac{a+b-c}{2}$$\n\n$$q=\\frac{a+b+c}{2}-a=\\frac{b+c-a}{2}$$\n\nここで、以下の式を用いて、三角形の面積$S$を表します。\n\n$$S=\\frac{1}{2}ab=\\frac{c}{2}h=\\frac{c}{2}\\sqrt{p^2-q^2}$$\n\n両辺を2乗すると、以下の式が得られます。\n\n$$4S^2=c^2(p^2-q^2)$$\n\n$p$、$q$を用いて、$p^2-q^2$を変形すると、以下のようになります。\n\n$$p^2-q^2=\\frac{(a+b-c)(a-b+c)(-a+b+c)}{4}$$\n\nこれを前の式に代入すると、以下の式が得られます。\n\n$$4S^2=\\frac{c^2(a+b-c)(a-b+c)(-a+b+c)}{4}$$\n\nこの式の両辺を$a^2b^2c^2$で割ると、以下の式が得られます。\n\n$$\\frac{4S^2}{a^2b^2c^2}=\\frac{(a+b-c)(a-b+c)(-a+b+c)}{4a^2b^2c^2}$$\n\nここで$x=\\frac{a+b-c}{2}$、$y=\\frac{a-b+c}{2}$、$z=\\frac{-a+b+c}{2}$とおくと、$x$、$y$、$z$はそれぞれ三角形の3辺の半分になります。したがって、$x$、$y$、$z$は正の実数です。\n\nこの式を整理すると、以下のようになります。\n\n$$\\frac{4S^2}{a^2b^2c^2}=\\frac{xyz}{(x+y)(y+z)(z+x)}$$\n\nここで、$x+y+z=\\frac{a+b+c}{2}=s$とおくと、$x+y=s-c$, $y+z=s-a$, $z+x=s-b$となります。\n\nよって、以下のように式を変形することができます。\n\n$$\\frac{4S^2}{a^2b^2c^2}=\\frac{(s-a)(s-b)(s-c)}{abc}$$\n\nこれを整理すると、以下の式が得られます。\n\n$$a^2b^2+b^2c^2+c^2a^2=(a+b+c)(a+b-c)(b+c-a)(c+a-b)$$\n\n両辺を$a^2b^2c^2$で割ると、以下の式が得られます。\n\n$$\\left(\\frac{a}{c}\\right)^2+\\left(\\frac{b}{c}\\right)^2+2\\left(\\frac{ab}{c^2}\\right)=\\left(1+\\frac{a}{b}+\\frac{c}{b}\\right)\\left(1+\\frac{b}{a}+\\frac{c}{a}\\right)$$\n\n両辺に$\\frac{1}{2}$を掛けると、以下の式が得られます。\n\n$$\\left(\\frac{a}{c}\\right)^2+\\left(\\frac{b}{c}\\right)^2+\\frac{ab}{c^2}=\\frac{(a+b+c)(ab+bc+ca)}{2abc^2}$$\n\nこれを整理すると、以下の式が得られます。\n\n$$\\left(\\frac{a}{c}\\right)^2+\\left(\\frac{b}{c}\\right)^2+\\left(\\frac{a}{c}\\right)\\left(\\frac{b}{c}\\right)=\\frac{a^2+b^2+c^2}{c^2}$$\n\nこの式の左辺は$\\sin^2 A + \\sin^2 B + 2\\sin A\\sin B = \\cos^2 C + \\sin^2 C = 1$であることを用いると、以下の式が得られます。\n\n$$a^2+b^2=c^2$$\n\nしたがって、三平方の定理が証明されました。\n\n【証明方法6】\n\nまず、以下の三角形ABCを考えます。\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/0/0d/Proofs_of_the_Pythagorean_theorem.svg\" alt=\"Pythagorean theorem - proof 6\"\u003e\n\u003c/div\u003e\n三角形ABCに対して、角A、B、Cの内角二等分線を引き、それぞれBC、AC、ABと交わる点をD、E、Fとします。すると、三角形ABCは三角形DEFに相似になります。\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/5/5e/Pythagorean_proof_fig6.svg\" alt=\"Pythagorean theorem - proof 6\"\u003e\n\u003c/div\u003e\n三角形ABCに対して、高さAHを引くと、以下のようになります。\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"https://upload.wikimedia.org/wikipedia/commons/a/a2/Pythagorean_proof_fig7.svg\" alt=\"Pythagorean theorem - proof 6\"\u003e\n\u003c/div\u003e\n三角形ABCは直角三角形なので、$AH=\\frac{bc}{a}$です。\n\nまた、三角形ABCと相似な三角形ADFとAEHについて、以下のような式が成り立ちます。\n\n$$\\frac{AD}{AB}=\\frac{AF}{AC}=\\frac{AH}{AB+AC}$$\n\nこれを整理すると、以下のようになります。\n\n$$AD=\\frac{bc}{a+c},\\ \\ AF=\\frac{ab}{a+c},\\ \\ AH=\\frac{bc}{a} - \\frac{abc}{a(a+c)}$$\n\nまた、三角形ABCと相似な三角形BEFとBDHについて、以下のような式が成り立ちます。\n\n$$\\frac{BE}{BA}=\\frac{BF}{BC}=\\frac{BD}{BA+BC}$$\n\nこれを整理すると、以下のようになります。\n\n$$BE=\\frac{ac}{a+b},\\ \\ BF=\\frac{ab}{a+b},\\ \\ BD=\\frac{ac}{b} - \\frac{abc}{b(a+b)}$$\n\n三角形ADFと三角形BEFは相似であるので、以下の式が成り立ちます。\n\n$$\\frac{AF}{BE}=\\frac{DF}{EF}$$\n\nこれを整理すると、以下のようになります。\n\n$$\\frac{\\frac{ab}{a+c}}{\\frac{ac}{a+b}}=\\frac{DF}{EF}$$\n\n両辺に$\\frac{a+b}{ab}$を掛けて整理すると、以下の式が得られます。\n\n$$DF=\\frac{b^2}{a+c},\\ \\ EF=\\frac{a^2}{a+b}$$\n\n三角形BDHと三角形AEHは相似であるので、以下の式が成り立ちます。\n\n$$\\frac{AH}{BD}=\\frac{EH}{DH}$$\n\nこれを整理すると、以下のようになります。\n\n$$\\frac{\\frac{bc}{a} - \\frac{abc}{a(a+c)}}{\\frac{ac}{b} - \\frac{abc}{b(a+b)}}=\\frac{EH}{DH}$$\n\n両辺に$\\frac{ab}{c(a+b)}$を掛けて整理すると、以下の式が得られます。\n\n\n最後に、三角形ABCと相似な三角形DEFについて考えます。\n\n三角形ABCと三角形DEFは相似であるので、以下の式が成り立ちます。\n\n$$\\frac{AB}{DE}=\\frac{BC}{EF}=\\frac{AC}{FD}$$\n\nこれを整理すると、以下のようになります。\n\n$$\\frac{a}{DE}=\\frac{c}{EF}=\\frac{b}{FD}$$\n\n両辺を2乗して、以下の式を得ます。\n\n$$\\frac{a^2}{DE^2}=\\frac{b^2}{FD^2}=\\frac{c^2}{EF^2}$$\n\nここで、$DE^2+EF^2=DF^2$であることに注意します。これは、三角形DEFが直角三角形であることから導かれます。\n\nよって、上記の式を使って$FD^2$を表すと、以下のようになります。\n\n$$FD^2=\\frac{b^2}{a^2+c^2}\\cdot (DE^2+EF^2)$$\n\nここで、$DE^2=DF^2-EF^2$を代入して整理すると、以下のようになります。\n\n$$FD^2=\\frac{b^2}{a^2+c^2}\\cdot (DF^2 - EF^2)$$\n\nさらに、$EF^2=\\frac{a^4}{(a+b)^2}$を代入して整理すると、以下のようになります。\n\n$$FD^2=\\frac{b^2}{a^2+c^2}\\cdot \\left(\\frac{a^2b^2}{(a+b)^2} + \\frac{c^2a^2}{(a+c)^2}\\right)$$\n\nここで、$a^2c^2+b^2c^2=a^2b^2+c^2a^2$を用いると、以下のようになります。\n\n$$FD^2=\\frac{b^2c^2}{a^2+c^2}$$\n\nつまり、$FD^2=BC^2$が成り立ちます。よって、三角形ABCは直角三角形であることが示されました。\n\n以上が、三平方の定理の6つの証明です。それぞれ、異なるアプローチで三平方の定理を証明しています。\n\n\n ## まとめ\nchatGPT草\n実質ゴミ記事量産時代といったところでしょうか。\n私はほかにもいろいろ無料でChatGPTを試してきたうえで本当に助かっていますので、\n有料に加入しようと思っています。\n円安...\n","coediting":false,"comments_count":0,"created_at":"2023-02-16T15:02:11+09:00","group":null,"id":"164874fe8e59b18919e0","likes_count":0,"private":false,"reactions_count":0,"stocks_count":0,"tags":[{"name":"三平方の定理","versions":[]}],"title":"三平方の定理 教えてChatGPTクン","updated_at":"2023-02-16T15:02:11+09:00","url":"https://qiita.com/earthkundesu/items/164874fe8e59b18919e0","user":{"description":"28歳の低知能の貧乏人。\r\n半分嘘だが半分ほんと\r\n\r\npythニア\r\n適当投稿失礼。備忘録として利用します。\r\n2022/10/01 blender始めました。目標なし。何か造りたいなと思いました。\r\nやる気は基本なし。一人が今のところ好き。\r\n","facebook_id":"","followees_count":6,"followers_count":4,"github_login_name":null,"id":"earthkundesu","items_count":2,"linkedin_id":"","location":"free","name":"Suzuki Satoshi","organization":"free","permanent_id":243844,"profile_image_url":"https://qiita-image-store.s3.amazonaws.com/0/243844/profile-images/1543986144","team_only":false,"twitter_screen_name":null,"website_url":""},"page_views_count":null,"team_membership":null},{"rendered_body":"\u003ch1 data-sourcepos=\"2:1-2:47\"\u003e\n\u003cspan id=\"コピペで使える郵便番号自動入力\" class=\"fragment\"\u003e\u003c/span\u003e\u003ca href=\"#%E3%82%B3%E3%83%94%E3%83%9A%E3%81%A7%E4%BD%BF%E3%81%88%E3%82%8B%E9%83%B5%E4%BE%BF%E7%95%AA%E5%8F%B7%E8%87%AA%E5%8B%95%E5%85%A5%E5%8A%9B\"\u003e\u003ci class=\"fa fa-link\"\u003e\u003c/i\u003e\u003c/a\u003eコピペで使える郵便番号自動入力\u003c/h1\u003e\n\u003cp data-sourcepos=\"4:1-5:81\"\u003e都道府県はセレクトボックス\u003cbr\u003e\n他はテキストボックスというよくある郵便番号住所入力機能\u003c/p\u003e\n\u003cp data-sourcepos=\"7:1-8:62\"\u003e実装は10分、ChatGPTくんとの合作\u003cbr\u003e\n要素選択のID名を変更すればそのまま使えます\u003c/p\u003e\n\u003cp data-sourcepos=\"10:1-10:120\"\u003e\u003ca href=\"https://camo.qiitausercontent.com/a5bbd490359b23d4fbf048eab3cee5f3b82044bb/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f36393634372f36663462346461322d303134342d363035612d323962622d3933336363343931326332392e706e67\" target=\"_blank\" rel=\"nofollow noopener\"\u003e\u003cimg src=\"https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F69647%2F6f4b4da2-0144-605a-29bb-933cc4912c29.png?ixlib=rb-4.0.0\u0026amp;auto=format\u0026amp;gif-q=60\u0026amp;q=75\u0026amp;s=98fc1d4e421dff27dbc1b72abc208d28\" alt=\"image.png\" data-canonical-src=\"https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/69647/6f4b4da2-0144-605a-29bb-933cc4912c29.png\" srcset=\"https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F69647%2F6f4b4da2-0144-605a-29bb-933cc4912c29.png?ixlib=rb-4.0.0\u0026amp;auto=format\u0026amp;gif-q=60\u0026amp;q=75\u0026amp;w=1400\u0026amp;fit=max\u0026amp;s=d1259cdf3cef0cc615a93f4dba54eb2e 1x\" loading=\"lazy\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cdiv class=\"code-frame\" data-lang=\"javascript\" data-sourcepos=\"13:1-44:3\"\u003e\u003cdiv class=\"highlight\"\u003e\u003cpre\u003e\u003ccode\u003e\u003cspan class=\"k\"\u003easync\u003c/span\u003e \u003cspan class=\"kd\"\u003efunction\u003c/span\u003e \u003cspan class=\"nx\"\u003egetAddress\u003c/span\u003e\u003cspan class=\"p\"\u003e()\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\n  \u003cspan class=\"kd\"\u003econst\u003c/span\u003e \u003cspan class=\"nx\"\u003ezip_label\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nb\"\u003edocument\u003c/span\u003e\u003cspan class=\"p\"\u003e.\u003c/span\u003e\u003cspan class=\"nx\"\u003egetElementById\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"dl\"\u003e'\u003c/span\u003e\u003cspan class=\"s1\"\u003ezip_label\u003c/span\u003e\u003cspan class=\"dl\"\u003e'\u003c/span\u003e\u003cspan class=\"p\"\u003e);\u003c/span\u003e \u003cspan class=\"c1\"\u003e// 郵便番号フォームのラベル\u003c/span\u003e\n  \u003cspan class=\"kd\"\u003econst\u003c/span\u003e \u003cspan class=\"nx\"\u003ezipcode\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nb\"\u003edocument\u003c/span\u003e\u003cspan class=\"p\"\u003e.\u003c/span\u003e\u003cspan class=\"nx\"\u003egetElementById\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"dl\"\u003e'\u003c/span\u003e\u003cspan class=\"s1\"\u003ezip\u003c/span\u003e\u003cspan class=\"dl\"\u003e'\u003c/span\u003e\u003cspan class=\"p\"\u003e).\u003c/span\u003e\u003cspan class=\"nx\"\u003evalue\u003c/span\u003e\u003cspan class=\"p\"\u003e;\u003c/span\u003e   \u003cspan class=\"c1\"\u003e// 郵便番号テキストボックス\u003c/span\u003e\n\n  \u003cspan class=\"kd\"\u003econst\u003c/span\u003e \u003cspan class=\"nx\"\u003eprefOptions\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nb\"\u003edocument\u003c/span\u003e\u003cspan class=\"p\"\u003e.\u003c/span\u003e\u003cspan class=\"nx\"\u003egetElementById\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"dl\"\u003e'\u003c/span\u003e\u003cspan class=\"s1\"\u003epref_id\u003c/span\u003e\u003cspan class=\"dl\"\u003e'\u003c/span\u003e\u003cspan class=\"p\"\u003e).\u003c/span\u003e\u003cspan class=\"nx\"\u003eoptions\u003c/span\u003e\u003cspan class=\"p\"\u003e;\u003c/span\u003e \u003cspan class=\"c1\"\u003e// 都道府県の選択肢メニュー\u003c/span\u003e\n  \u003cspan class=\"kd\"\u003econst\u003c/span\u003e \u003cspan class=\"nx\"\u003ecity\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nb\"\u003edocument\u003c/span\u003e\u003cspan class=\"p\"\u003e.\u003c/span\u003e\u003cspan class=\"nx\"\u003egetElementById\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"dl\"\u003e'\u003c/span\u003e\u003cspan class=\"s1\"\u003ecity\u003c/span\u003e\u003cspan class=\"dl\"\u003e'\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"c1\"\u003e// 市町村 テキストボックス\u003c/span\u003e\n  \u003cspan class=\"kd\"\u003econst\u003c/span\u003e \u003cspan class=\"nx\"\u003etown\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nb\"\u003edocument\u003c/span\u003e\u003cspan class=\"p\"\u003e.\u003c/span\u003e\u003cspan class=\"nx\"\u003egetElementById\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"dl\"\u003e'\u003c/span\u003e\u003cspan class=\"s1\"\u003etown\u003c/span\u003e\u003cspan class=\"dl\"\u003e'\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"c1\"\u003e// 街名   テキストボックス\u003c/span\u003e\n\n  \u003cspan class=\"kd\"\u003econst\u003c/span\u003e \u003cspan class=\"nx\"\u003eurl\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s2\"\u003e`https://zipcloud.ibsnet.co.jp/api/search?zipcode=\u003c/span\u003e\u003cspan class=\"p\"\u003e${\u003c/span\u003e\u003cspan class=\"nx\"\u003ezipcode\u003c/span\u003e\u003cspan class=\"p\"\u003e}\u003c/span\u003e\u003cspan class=\"s2\"\u003e`\u003c/span\u003e\u003cspan class=\"p\"\u003e;\u003c/span\u003e\n  \u003cspan class=\"nx\"\u003ezip_label\u003c/span\u003e\u003cspan class=\"p\"\u003e.\u003c/span\u003e\u003cspan class=\"nx\"\u003einnerHTML\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"dl\"\u003e'\u003c/span\u003e\u003cspan class=\"s1\"\u003e郵便番号\u003c/span\u003e\u003cspan class=\"dl\"\u003e'\u003c/span\u003e\n\n  \u003cspan class=\"k\"\u003etry\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\n    \u003cspan class=\"kd\"\u003econst\u003c/span\u003e \u003cspan class=\"nx\"\u003eresponse\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"k\"\u003eawait\u003c/span\u003e \u003cspan class=\"nx\"\u003efetch\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nx\"\u003eurl\u003c/span\u003e\u003cspan class=\"p\"\u003e);\u003c/span\u003e\n    \u003cspan class=\"k\"\u003eif\u003c/span\u003e \u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"o\"\u003e!\u003c/span\u003e\u003cspan class=\"nx\"\u003eresponse\u003c/span\u003e\u003cspan class=\"p\"\u003e.\u003c/span\u003e\u003cspan class=\"nx\"\u003eok\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e \u003cspan class=\"k\"\u003ethrow\u003c/span\u003e \u003cspan class=\"k\"\u003enew\u003c/span\u003e \u003cspan class=\"nb\"\u003eError\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"dl\"\u003e'\u003c/span\u003e\u003cspan class=\"s1\"\u003e通信エラーが発生しました\u003c/span\u003e\u003cspan class=\"dl\"\u003e'\u003c/span\u003e\u003cspan class=\"p\"\u003e);\u003c/span\u003e \u003cspan class=\"p\"\u003e}\u003c/span\u003e\n\n    \u003cspan class=\"kd\"\u003econst\u003c/span\u003e \u003cspan class=\"nx\"\u003edata\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"k\"\u003eawait\u003c/span\u003e \u003cspan class=\"nx\"\u003eresponse\u003c/span\u003e\u003cspan class=\"p\"\u003e.\u003c/span\u003e\u003cspan class=\"nx\"\u003ejson\u003c/span\u003e\u003cspan class=\"p\"\u003e();\u003c/span\u003e\n    \u003cspan class=\"k\"\u003eif\u003c/span\u003e \u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nx\"\u003edata\u003c/span\u003e\u003cspan class=\"p\"\u003e.\u003c/span\u003e\u003cspan class=\"nx\"\u003estatus\u003c/span\u003e \u003cspan class=\"o\"\u003e!==\u003c/span\u003e \u003cspan class=\"mi\"\u003e200\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e \u003cspan class=\"k\"\u003ethrow\u003c/span\u003e \u003cspan class=\"k\"\u003enew\u003c/span\u003e \u003cspan class=\"nb\"\u003eError\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"dl\"\u003e'\u003c/span\u003e\u003cspan class=\"s1\"\u003e該当する住所がありません\u003c/span\u003e\u003cspan class=\"dl\"\u003e'\u003c/span\u003e\u003cspan class=\"p\"\u003e);\u003c/span\u003e \u003cspan class=\"p\"\u003e}\u003c/span\u003e\n\n    \u003cspan class=\"kd\"\u003econst\u003c/span\u003e \u003cspan class=\"nx\"\u003eprefName\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nx\"\u003edata\u003c/span\u003e\u003cspan class=\"p\"\u003e.\u003c/span\u003e\u003cspan class=\"nx\"\u003eresults\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"mi\"\u003e0\u003c/span\u003e\u003cspan class=\"p\"\u003e].\u003c/span\u003e\u003cspan class=\"nx\"\u003eaddress1\u003c/span\u003e\u003cspan class=\"p\"\u003e;\u003c/span\u003e\n    \u003cspan class=\"kd\"\u003econst\u003c/span\u003e \u003cspan class=\"nx\"\u003eoption\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nb\"\u003eArray\u003c/span\u003e\u003cspan class=\"p\"\u003e.\u003c/span\u003e\u003cspan class=\"k\"\u003efrom\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nx\"\u003eprefOptions\u003c/span\u003e\u003cspan class=\"p\"\u003e).\u003c/span\u003e\u003cspan class=\"nx\"\u003efind\u003c/span\u003e\u003cspan class=\"p\"\u003e((\u003c/span\u003e\u003cspan class=\"nx\"\u003eopt\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u0026gt;\u003c/span\u003e \u003cspan class=\"nx\"\u003eopt\u003c/span\u003e\u003cspan class=\"p\"\u003e.\u003c/span\u003e\u003cspan class=\"nx\"\u003etext\u003c/span\u003e\u003cspan class=\"p\"\u003e.\u003c/span\u003e\u003cspan class=\"nx\"\u003eincludes\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nx\"\u003eprefName\u003c/span\u003e\u003cspan class=\"p\"\u003e));\u003c/span\u003e\n    \u003cspan class=\"k\"\u003eif\u003c/span\u003e \u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nx\"\u003eoption\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e \u003cspan class=\"nx\"\u003eoption\u003c/span\u003e\u003cspan class=\"p\"\u003e.\u003c/span\u003e\u003cspan class=\"nx\"\u003eselected\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"kc\"\u003etrue\u003c/span\u003e\u003cspan class=\"p\"\u003e;\u003c/span\u003e \u003cspan class=\"p\"\u003e}\u003c/span\u003e\n\n    \u003cspan class=\"nx\"\u003ecity\u003c/span\u003e\u003cspan class=\"p\"\u003e.\u003c/span\u003e\u003cspan class=\"nx\"\u003evalue\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nx\"\u003edata\u003c/span\u003e\u003cspan class=\"p\"\u003e.\u003c/span\u003e\u003cspan class=\"nx\"\u003eresults\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"mi\"\u003e0\u003c/span\u003e\u003cspan class=\"p\"\u003e].\u003c/span\u003e\u003cspan class=\"nx\"\u003eaddress2\u003c/span\u003e\u003cspan class=\"p\"\u003e;\u003c/span\u003e\n    \u003cspan class=\"nx\"\u003etown\u003c/span\u003e\u003cspan class=\"p\"\u003e.\u003c/span\u003e\u003cspan class=\"nx\"\u003evalue\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"nx\"\u003edata\u003c/span\u003e\u003cspan class=\"p\"\u003e.\u003c/span\u003e\u003cspan class=\"nx\"\u003eresults\u003c/span\u003e\u003cspan class=\"p\"\u003e[\u003c/span\u003e\u003cspan class=\"mi\"\u003e0\u003c/span\u003e\u003cspan class=\"p\"\u003e].\u003c/span\u003e\u003cspan class=\"nx\"\u003eaddress3\u003c/span\u003e\u003cspan class=\"p\"\u003e;\u003c/span\u003e\n    \u003cspan class=\"nx\"\u003ezip_label\u003c/span\u003e\u003cspan class=\"p\"\u003e.\u003c/span\u003e\u003cspan class=\"nx\"\u003einnerHTML\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"dl\"\u003e'\u003c/span\u003e\u003cspan class=\"s1\"\u003e郵便番号 (\u003c/span\u003e\u003cspan class=\"dl\"\u003e'\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e \u003cspan class=\"nx\"\u003eprefName\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e \u003cspan class=\"nx\"\u003ecity\u003c/span\u003e\u003cspan class=\"p\"\u003e.\u003c/span\u003e\u003cspan class=\"nx\"\u003evalue\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e \u003cspan class=\"nx\"\u003etown\u003c/span\u003e\u003cspan class=\"p\"\u003e.\u003c/span\u003e\u003cspan class=\"nx\"\u003evalue\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e \u003cspan class=\"dl\"\u003e'\u003c/span\u003e\u003cspan class=\"s1\"\u003e)\u003c/span\u003e\u003cspan class=\"dl\"\u003e'\u003c/span\u003e\u003cspan class=\"p\"\u003e;\u003c/span\u003e\n  \u003cspan class=\"p\"\u003e}\u003c/span\u003e \u003cspan class=\"k\"\u003ecatch\u003c/span\u003e \u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nx\"\u003eerror\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\n    \u003cspan class=\"k\"\u003eif\u003c/span\u003e \u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"nx\"\u003eerror\u003c/span\u003e\u003cspan class=\"p\"\u003e.\u003c/span\u003e\u003cspan class=\"nx\"\u003emessage\u003c/span\u003e\u003cspan class=\"p\"\u003e.\u003c/span\u003e\u003cspan class=\"nx\"\u003eindexOf\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"dl\"\u003e'\u003c/span\u003e\u003cspan class=\"s1\"\u003enull\u003c/span\u003e\u003cspan class=\"dl\"\u003e'\u003c/span\u003e\u003cspan class=\"p\"\u003e))\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e \u003cspan class=\"nx\"\u003eerror\u003c/span\u003e\u003cspan class=\"p\"\u003e.\u003c/span\u003e\u003cspan class=\"nx\"\u003emessage\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"dl\"\u003e'\u003c/span\u003e\u003cspan class=\"s1\"\u003e該当の住所が見つかりませんでした\u003c/span\u003e\u003cspan class=\"dl\"\u003e'\u003c/span\u003e \u003cspan class=\"p\"\u003e}\u003c/span\u003e\n    \u003cspan class=\"nx\"\u003ezip_label\u003c/span\u003e\u003cspan class=\"p\"\u003e.\u003c/span\u003e\u003cspan class=\"nx\"\u003einnerHTML\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"dl\"\u003e'\u003c/span\u003e\u003cspan class=\"s1\"\u003e郵便番号 (\u003c/span\u003e\u003cspan class=\"dl\"\u003e'\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e \u003cspan class=\"nx\"\u003eerror\u003c/span\u003e\u003cspan class=\"p\"\u003e.\u003c/span\u003e\u003cspan class=\"nx\"\u003emessage\u003c/span\u003e \u003cspan class=\"o\"\u003e+\u003c/span\u003e \u003cspan class=\"dl\"\u003e'\u003c/span\u003e\u003cspan class=\"s1\"\u003e)\u003c/span\u003e\u003cspan class=\"dl\"\u003e'\u003c/span\u003e\u003cspan class=\"p\"\u003e;\u003c/span\u003e\n  \u003cspan class=\"p\"\u003e}\u003c/span\u003e\n\u003cspan class=\"p\"\u003e}\u003c/span\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003c/div\u003e\n","body":"\n# コピペで使える郵便番号自動入力\n\n都道府県はセレクトボックス\n他はテキストボックスというよくある郵便番号住所入力機能\n\n実装は10分、ChatGPTくんとの合作\n要素選択のID名を変更すればそのまま使えます\n\n![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/69647/6f4b4da2-0144-605a-29bb-933cc4912c29.png)\n\n\n```javascript\nasync function getAddress() {\n  const zip_label = document.getElementById('zip_label'); // 郵便番号フォームのラベル\n  const zipcode = document.getElementById('zip').value;   // 郵便番号テキストボックス\n\n  const prefOptions = document.getElementById('pref_id').options; // 都道府県の選択肢メニュー\n  const city = document.getElementById('city') // 市町村 テキストボックス\n  const town = document.getElementById('town') // 街名   テキストボックス\n\n  const url = `https://zipcloud.ibsnet.co.jp/api/search?zipcode=${zipcode}`;\n  zip_label.innerHTML = '郵便番号'\n\n  try {\n    const response = await fetch(url);\n    if (!response.ok) { throw new Error('通信エラーが発生しました'); }\n\n    const data = await response.json();\n    if (data.status !== 200) { throw new Error('該当する住所がありません'); }\n\n    const prefName = data.results[0].address1;\n    const option = Array.from(prefOptions).find((opt) =\u003e opt.text.includes(prefName));\n    if (option) { option.selected = true; }\n\n    city.value = data.results[0].address2;\n    town.value = data.results[0].address3;\n    zip_label.innerHTML = '郵便番号 (' + prefName + city.value + town.value + ')';\n  } catch (error) {\n    if (error.message.indexOf('null')) { error.message = '該当の住所が見つかりませんでした' }\n    zip_label.innerHTML = '郵便番号 (' + error.message + ')';\n  }\n}\n```\n","coediting":false,"comments_count":0,"created_at":"2023-02-16T14:28:03+09:00","group":null,"id":"995254a3856d9fbc76af","likes_count":0,"private":false,"reactions_count":0,"stocks_count":0,"tags":[{"name":"JavaScript","versions":[]},{"name":"住所","versions":[]},{"name":"郵便番号","versions":[]},{"name":"ChatGPT","versions":[]}],"title":"コピペで使える郵便番号自動入力機能をChatGPTと作った","updated_at":"2023-02-16T14:31:21+09:00","url":"https://qiita.com/rorensu2236/items/995254a3856d9fbc76af","user":{"description":"","facebook_id":"","followees_count":44,"followers_count":81,"github_login_name":"keisuke2236","id":"rorensu2236","items_count":116,"linkedin_id":"","location":"","name":"","organization":"","permanent_id":69647,"profile_image_url":"https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/69647/profile-images/1558488928","team_only":false,"twitter_screen_name":"rorensu2236","website_url":""},"page_views_count":null,"team_membership":null},{"rendered_body":"\u003cdiv data-sourcepos=\"1:1-3:3\" class=\"note warn\"\u003e\n\u003cspan class=\"fa fa-fw fa-exclamation-circle\"\u003e\u003c/span\u003e\u003cdiv\u003e\n\u003cp data-sourcepos=\"2:1-2:300\"\u003e本記事は、2023年2月14日に公開されたGitHub Copilot for Businessを同16日に法人にて利用開始してみた記録です。仕様変更などもあり得ますので、法人で利用開始される方は必ずご自身での公式ドキュメント確認等もお願いします。\u003c/p\u003e\n\u003c/div\u003e\n\u003c/div\u003e\n\u003ch1 data-sourcepos=\"5:1-5:68\"\u003e\n\u003cspan id=\"github-copilot-for-businessの利用を検討されている方へ\" class=\"fragment\"\u003e\u003c/span\u003e\u003ca href=\"#github-copilot-for-business%E3%81%AE%E5%88%A9%E7%94%A8%E3%82%92%E6%A4%9C%E8%A8%8E%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E6%96%B9%E3%81%B8\"\u003e\u003ci class=\"fa fa-link\"\u003e\u003c/i\u003e\u003c/a\u003eGitHub Copilot for Businessの利用を検討されている方へ\u003c/h1\u003e\n\u003cp data-sourcepos=\"7:1-8:162\"\u003e株式会社講談社のウェブメディア内製化チーム「techチーム」&KODANSHAtech合同会社のゼネラルマネージャー、長尾です。\u003cbr\u003e\n今回は、チーム内で以前から注目を集めていたGitHub Copilot for Businessの利用を開始してみた記録を公開したいと思います。\u003c/p\u003e\n\u003cp data-sourcepos=\"10:1-11:102\"\u003e事前には不明点などもあり、じっくり検討を重ねてもよかったのですが、「えいや」でやってみてから考えるというスタイルで、勢い優先で利用開始しました。\u003cbr\u003e\n導入を検討されている組織は多いと思いますので、参考になれば幸いです。\u003c/p\u003e\n\u003ch2 data-sourcepos=\"13:1-13:39\"\u003e\n\u003cspan id=\"github-copilot-for-businessとは\" class=\"fragment\"\u003e\u003c/span\u003e\u003ca href=\"#github-copilot-for-business%E3%81%A8%E3%81%AF\"\u003e\u003ci class=\"fa fa-link\"\u003e\u003c/i\u003e\u003c/a\u003eGitHub Copilot for Businessとは?\u003c/h2\u003e\n\u003cp data-sourcepos=\"15:1-16:114\"\u003eChatGPTで話題のOpenAI社によるAI技術をGitHubが取り入れ、コードのAIサジェストを提供してくれるのが、GitHub Copilotです。\u003cbr\u003e\nGitHub Copilot for Businessは、企業・組織でこの機能を提供するための枠組みになります。\u003c/p\u003e\n\u003ch3 data-sourcepos=\"17:1-17:19\"\u003e\n\u003cspan id=\"参考リンク\" class=\"fragment\"\u003e\u003c/span\u003e\u003ca href=\"#%E5%8F%82%E8%80%83%E3%83%AA%E3%83%B3%E3%82%AF\"\u003e\u003ci class=\"fa fa-link\"\u003e\u003c/i\u003e\u003c/a\u003e参考リンク\u003c/h3\u003e\n\u003cp data-sourcepos=\"19:1-19:76\"\u003e\u003cqiita-embed-ogp src=\"https://github.blog/2023-02-14-github-copilot-for-business-is-now-available/\"\u003e\u003c/qiita-embed-ogp\u003e\u003c/p\u003e\n\u003cp data-sourcepos=\"21:1-21:36\"\u003e\u003cqiita-embed-ogp src=\"https://github.com/features/copilot/\"\u003e\u003c/qiita-embed-ogp\u003e\u003c/p\u003e\n\u003ch2 data-sourcepos=\"23:1-23:27\"\u003e\n\u003cspan id=\"早速手順開始\" class=\"fragment\"\u003e\u003c/span\u003e\u003ca href=\"#%E6%97%A9%E9%80%9F%E6%89%8B%E9%A0%86%E9%96%8B%E5%A7%8B\"\u003e\u003ci class=\"fa fa-link\"\u003e\u003c/i\u003e\u003c/a\u003e早速、手順開始。\u003c/h2\u003e\n\u003cp data-sourcepos=\"24:1-24:132\"\u003e「やってみた」系の記録記事ですので、細かいコメントはともかく記録公開を優先していきます。\u003c/p\u003e\n\u003ch3 data-sourcepos=\"26:1-26:23\"\u003e\n\u003cspan id=\"1-最初の一歩\" class=\"fragment\"\u003e\u003c/span\u003e\u003ca href=\"#1-%E6%9C%80%E5%88%9D%E3%81%AE%E4%B8%80%E6%AD%A9\"\u003e\u003ci class=\"fa fa-link\"\u003e\u003c/i\u003e\u003c/a\u003e1. 最初の一歩\u003c/h3\u003e\n\u003cp data-sourcepos=\"28:1-29:164\"\u003e\u003ca href=\"https://github.com/features/copilot/\" rel=\"nofollow noopener\" target=\"_blank\"\u003eサービスのトップページ\u003c/a\u003e> \u003ccode\u003eGet Copilot for Business\u003c/code\u003e とリンクを選択すると、利用開始のページに遷移します。\u003cbr\u003e\n我々のチームの場合は、エンタープライズ契約ではなく、 organization で利用していますので、下のリンクを利用しました。\u003c/p\u003e\n\u003cp data-sourcepos=\"31:1-31:163\"\u003e\u003ca href=\"https://camo.qiitausercontent.com/6c0f66052346c7eaa7e3294a909a3df69ad9375a/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3333333739352f31616561333834662d613630312d633263632d313733342d6663656363666536353363352e706e67\" target=\"_blank\" rel=\"nofollow noopener\"\u003e\u003cimg src=\"https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F333795%2F1aea384f-a601-c2cc-1734-fceccfe653c5.png?ixlib=rb-4.0.0\u0026amp;auto=format\u0026amp;gif-q=60\u0026amp;q=75\u0026amp;s=0434a3aa367e4800e2afde32e2528329\" alt=\"スクリーンショット 2023-02-16 10.21.16.png\" data-canonical-src=\"https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333795/1aea384f-a601-c2cc-1734-fceccfe653c5.png\" srcset=\"https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F333795%2F1aea384f-a601-c2cc-1734-fceccfe653c5.png?ixlib=rb-4.0.0\u0026amp;auto=format\u0026amp;gif-q=60\u0026amp;q=75\u0026amp;w=1400\u0026amp;fit=max\u0026amp;s=42778570298acf002e93a0fad4dd0104 1x\" loading=\"lazy\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch3 data-sourcepos=\"33:1-33:29\"\u003e\n\u003cspan id=\"2-organizationの選択\" class=\"fragment\"\u003e\u003c/span\u003e\u003ca href=\"#2-organization%E3%81%AE%E9%81%B8%E6%8A%9E\"\u003e\u003ci class=\"fa fa-link\"\u003e\u003c/i\u003e\u003c/a\u003e2. Organizationの選択\u003c/h3\u003e\n\u003cp data-sourcepos=\"35:1-36:251\"\u003e利用を開始する Organization の選択。\u003cbr\u003e\nいきなり全メンバー数(ここでは53名)が表示されるので、「強制的に全員利用開始するのか?」と不安になりますが、 \u003cstrong\u003eのちのステップで利用するユーザーの絞り込みが可能\u003c/strong\u003e でした。\u003c/p\u003e\n\u003cp data-sourcepos=\"38:1-38:163\"\u003e\u003ca href=\"https://camo.qiitausercontent.com/447dd6f6d94ffc86afa8782ce569c9298f95ec33/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3333333739352f38613262333639312d373066632d313565372d343163332d3638623939383331393466352e706e67\" target=\"_blank\" rel=\"nofollow noopener\"\u003e\u003cimg src=\"https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F333795%2F8a2b3691-70fc-15e7-41c3-68b9983194f5.png?ixlib=rb-4.0.0\u0026amp;auto=format\u0026amp;gif-q=60\u0026amp;q=75\u0026amp;s=31bc4c18cb8e44090c86217ca58fcf45\" alt=\"スクリーンショット 2023-02-16 10.24.22.png\" data-canonical-src=\"https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/333795/8a2b3691-70fc-15e7-41c3-68b9983194f5.png\" srcset=\"https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F333795%2F8a2b3691-70fc-15e7-41c3-68b9983194f5.png?ixlib=rb-4.0.0\u0026amp;auto=format\u0026amp;gif-q=60\u0026amp;q=75\u0026amp;w=1400\u0026amp;fit=max\u0026amp;s=84260f4abb316ffe68d022f8731b5140 1x\" loading=\"lazy\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch3 data-sourcepos=\"40:1-

成果物

以上。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?