ネーミングサービス『namael』開発記録 第4回・開発に至る道③
生成AIを使っていっちょ前のアプリを作ろうと思ったら、2つぐらい必要な前提知識があったって話の続き。
まずは、「日本語で何をしてほしいか説明したり、指示したりする力」。
コレが基本。
これさえできれば、使うプログラミング言語がPythonだろうがPHPだろうが、結局は日本語から翻訳してもらうだけの話である、と。
で、もう一つ必要なのは何かというと……
↓ ↓ ↓
データベースの知識である。
データベースとは何か。
ものすごく簡単に言えば、いろんなデータが書き込まれた「表」である。
ただ、その表は実に規則正しく構成されていて、コンピュータが処理しやすいように情報がまとめられている。
で、その表が1つのアプリケーションにつき、1つだけってコトはない。
もちろん、今使っている(読んで下さっている)「note」というアプリケーションの背後にも巨大なデータベースがあり、そこには、一瞬で思いつく限りでもこんな情報がまとめられている。
↓ ↓ ↓
ユーザの表 (どんなユーザがいるか)
記事の表 (誰がどんな記事をいつ書いたか)
フォローの表(誰が誰をフォローしているか)
スキの表 (誰がいつ何の記事にスキしているか)
タグの表 (どんなハッシュタグがあるか)
カネ勘定の表(誰がいつどんな決済を行ったか)
※もっとあるけど、半端なひけらかしが目的ではないのでこの辺で。
で、実際にWEBアプリケーションを作る際には、生成AIに対してこういう内容を次々と指示していく。
↓ ↓ ↓
「このページのこの箇所に、○○表のどこどこにあるデータを表示してください」
「入会フォームから送られてきた情報を、××表に格納してください」
……なので、このデータベースの表(正式には「テーブル」)の扱いを少し理解していないと、実際にWEBアプリケーションを作り切るのは難しい。
ちなみに、いま書店で売ってる「ChatGPTで学ぶ○○入門」みたいな本にはデータベースのことなどほぼ書いてない。そんなの含めて全部書いたら、本の分厚さが図鑑になるからだ。
ただ、少なくとも「ユーザにログインしてもらって、その中で何かしてもらう……」というタイプのアプリケーションを作ろうと思ったら、データベースの学習を避けることはできない。
自分の場合はたまたま、むかしゲームを自作しようとアレコレもがいていたことがあり、その設計をやる中でデータベースの扱いを学ぶ機会があった。それが後になって意外な形で幸を奏した……そんな感じである。
と、ここまでで流石に「前提」の話は終わったので、次回からはChatGPTを使ってどうやって開発していったかの備忘録になると思う。
実はまだコロナの病み上がりなんで、次回へ。
>> 次回「名前募集サービス『namael』開発備忘録 第5回・あえてレンタルサーバ+PHPを選んだ」はこちら。