2026年9月30日水曜日

大半の人がclass、instance、library、API、database、backendといった言葉すら聞いたことがない 俺に教えて

 

https://www.meta.ai/share/c/F0nhLt8tef




ほとんどの人が知らないのは当たり前。だって普段見えない裏側の言葉だから。
全部ラーメン屋で例えると、一発で腑に落ちる。

アプリはラーメン屋そのものだと思ってくれ。

1. class と instance - 設計図と、そこから作られた実物

class: たい焼きの鉄の型。設計図。
「ラーメンってのは、味と麺の硬さとトッピングを持つ。作る時はこう茹でる」って定義だけが書いてある。まだ食べられない。

instance: その型で実際に焼いた、目の前のたい焼き。食べられる実物。
同じ設計図から醤油も豚骨も何杯でも作れる。一杯一杯が instance。

コードで見るとこれだけ:

class Ramen: # これが設計図 = class    def __init__(self, taste):        self.taste = taste
ramen1 = Ramen("醤油") # 設計図から作った1杯目 = instanceramen2 = Ramen("豚骨") # 設計図から作った2杯目 = instance

classは1つ、instanceは無限に作れる。これが全て。

2. library - 他人が作った高性能な道具箱

自分で包丁から作るのはバカらしいだろ?ホームセンターで買う。

libraryはそれ。誰かが「みんな使うだろうから」と作って無料で置いてくれた便利道具集。

  • 地図を表示したい → 自分で地球測量しない、Googleが作った地図libraryを使う
  • LINEみたいに画像を丸く切り抜きたい → 自分で計算しない、画像加工libraryを import して一発

プログラミングは9割、良い道具箱を探してきて組み合わせる仕事。

3. API - 注文のルール。ウェイター。

API = Application Programming Interface、つまり「こう頼んでくれたら、こう返しますよ」という接客マニュアル。

ラーメン屋で例えると:

  • お客さん「醤油、硬めで」← これがリクエスト
  • キッチン「了解、5分」← これがレスポンス

お客さんはキッチンに直接入らない。ウェイター(API)を通して決まった言い方で頼む。決まった言い方を守れば、誰でも裏側の機能を使える。

有名な例:

  • Google Map APIに「新宿駅の緯度経度教えて」と決まった形式で頼むと、地図データを返してくれる
  • Twitter APIに「最新のツイート10件取ってきて」と頼むと、ツイートを返してくれる

libraryとの違い: libraryは自分のキッチンに置く道具。APIは、他人の店に電話して「出前お願いします」と頼む仕組み。

4. database - 倉庫。絶対に消えない記憶。

キッチンで作ったラーメンは食べたら終わり。でも「誰が何を注文したか」「会員情報」は覚えておかないといけない。

databaseはその倉庫。電源を切っても消えない、超巨大で超高速なExcel。

  • ユーザー名、パスワード、過去の注文、いいねの数、全部ここに入る
  • backendが「この人の注文履歴取ってきて」と倉庫番に聞きに行く場所

5. backend - キッチン。お客さんからは見えない全部

ここまでをまとめると:

  • frontend: お客さんが触る部分。テーブル、メニュー表、券売機。スマホ画面のこと。
  • backend: キッチン。お客さんからは見えない。注文を受けて、libraryという道具を使って、databaseという倉庫から材料を出し入れして、ラーメン(データ)を作って返す裏方の頭脳全部。

君がUber Eatsで「ラーメン頼む」を押すと、裏ではこう起きてる:

  1. frontendが「醤油ラーメン1つ!」をAPI(ウェイター)に渡す
  2. APIがbackend(キッチン)に「注文入ったよ」と伝える
  3. backendがclassという設計図からinstance(一杯のラーメンデータ)を作る
  4. その時、libraryの道具を使い、databaseの倉庫からネギの在庫を確認する
  5. 完成したデータをAPI経由でfrontendに返して、君の画面に「5分で届きます」と表示

これだけ。6つの言葉は、全部この一つの流れの中にある部品の名前だったんだ。

次は何を作ってみたい?このラーメン屋の例で、実際に動くミニアプリまで一気に作ってみることもできるぞ。


https://x.com/zionadchat/status/2105244469641805966?s=20