見出し画像

ネーミングサービス『namael』開発備忘録 第4回・開発に至る道③

>> 前の記事「第3回・開発に至る道②」はこちら


生成AIを使っていっちょ前のアプリを作ろうと思ったら、2つぐらい必要な前提知識があったって話の続き。


まずは、「日本語で何をしてほしいか説明したり、指示したりする力」

コレが基本。

これさえできれば、使うプログラミング言語がPythonだろうがPHPだろうが、結局は日本語から翻訳してもらうだけの話である、と。


で、もう一つ必要なのは何かというと……

  ↓  ↓  ↓

データベースの知識である。


データベースとは何か。
ものすごく簡単に言えば、いろんなデータが書き込まれた「表」である。

ただ、その表は実に規則正しく構成されていて、コンピュータが処理しやすいように情報がまとめられている。

で、その表は一つのアプリケーションにつき、1つだけってコトはない。

もちろん、今使っている(読んで下さっている)「note」というアプリケーションの背後にも巨大なデータベースがあり、そこには、一瞬で思いつく限りでもこんな情報がまとめられている。

  ↓  ↓  ↓

  • ユーザの表 (どんなユーザがいるか)

  • 記事の表  (誰がどんな記事をいつ書いたか)

  • フォローの表(誰が誰をフォローしているか)

  • スキの表  (誰がいつ何の記事にスキしているか)

  • タグの表  (どんなハッシュタグがあるか)

  • カネ勘定の表(誰がいつどんな決済を行ったか)

※もっとあるけど、半端なひけらかしが目的ではないのでこの辺で。


で、実際にWEBアプリケーションを作る際には、生成AIに対してこういう内容を次々と指示していく。

  ↓  ↓  ↓

「このページのこの箇所に、○○表のどこどこにあるデータを表示してください」

「入会フォームから送られてきた情報を、××表に格納してください」


……なので、このデータベースの表(正式には「テーブル」)の扱いを少し理解していないと、実際にWEBアプリケーションを作り切るのは難しい。


ちなみに、いま書店で売ってる「ChatGPTで学ぶ○○入門」みたいな本にはデータベースのことなどほぼ書いてない。そんなの含めて全部書いたら、本の分厚さが図鑑になるからだ。

ただ、少なくとも「ユーザにログインしてもらって、その中で何かしてもらう……」というタイプのアプリケーションを作ろうと思ったら、データベースの学習を避けることはできない。


自分の場合はたまたま、むかしゲームを自作しようとアレコレもがいていたことがあり、その設計をやる中でデータベースの扱いを学ぶ機会があった。それが後になって意外な形で幸を奏した……そんな感じである。


と、ここまでで流石に「前提」の話は終わったので、次回からはChatGPTを使ってどうやって開発していったかの備忘録になると思う。

実はまだコロナの病み上がりなんで、次回へ。



この記事が気に入ったらサポートをしてみませんか?