ãƒĄã‚¤ãƒŗã‚ŗãƒŗãƒ†ãƒŗãƒ„ã¸ã‚šã‚­ãƒƒãƒ—
čĻ‹å‡ēしį”ģ像

AIでãƒĸノãĨãã‚Šã—ãŸã„ã‚¨ãƒŗã‚¸ãƒ‹ã‚ĸæœĒįĩŒé¨“č€…ãŒæŠŧさえãĻおきたいWebã‚ĸプãƒĒぎåŸēæœŦįŸĨ識

    BASEæ Ēåŧäŧšį¤žåŸˇčĄŒåŊšå“ĄãŽæŸŗåˇã§ã™ã€‚é‡‘čžä狿Ĩ­ãŽä狿Ĩ­č˛Ŧäģģč€…ã‚’ã—ãĻã„ãžã™ã€‚ã‚¨ãƒŗã‚¸ãƒ‹ã‚ĸ→PdM→ä狿Ĩ­č˛Ŧäģģč€…ã¨ã„ã†ã‚­ãƒŖãƒĒã‚ĸを歊んできぞした。

    最čŋ‘、AIでäŊ•かをäŊœã‚‹äēēãŒįˆ†į™ēįš„ãĢåĸ—えãĻぞす。Claude CodeやCodexãĢ「こういうã‚ĸプãƒĒäŊœãŖãĻ」とé ŧã‚ã°ã€åŗåē§ãĢ動くもぎがå‡ēãĻくる。æœŦåŊ“ãĢすごい時äģŖã§ã™ã€‚
    Codexぎã‚ĸプãƒĒとかæœŦåŊ“ãĢすごいぎでč§ĻãŖãĻãŋãĻæŦ˛ã—いです。

    しかし、AIãŒčŖã§å‹æ‰‹ãĢã‚„ãŖãĻくれãĻいる部分、ブナックボック゚ぎぞぞäŊŋãŖãĻるäēē、įĩæ§‹ã„るんじゃãĒいでしょうか。あと、AIãĢ指į¤ēするãĢしãĻも、äŊ•がãĒんやらわからんから、おう指į¤ēしãĻいいかわからãĒくãĒる時もあると思いぞす。
    äŊŋい捨ãĻぎč‡Ē分ãĢã ã‘ã‚ã‹ã‚‹ã‚ˇã‚šãƒ†ãƒ ãĒã‚‰å•éĄŒãĒくãĻも、äēēãĢčĻ‹ã›ã‚ˆã†ã¨ã—ãŸįžŦ間とか、デãƒŧã‚ŋをäŋå­˜ã—たくãĒãŖãŸįžŦ間とかãĢã€ã€Œã‚ã‚Œã€ã“ã‚ŒãŖãĻãŠã†ã‚„ã‚‹ã‚“ã ãŖã‘īŧŸã€ã¨čŠ°ãžã‚Šãžã™ã€‚

    äģŠå›žã¯ã€AIでäŊ•かäŊœã‚‹ã¨ããĢįŸĨãŖãĻおきたいWebã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗãŽåŸēį¤ŽįŸĨč­˜ã€ã¨ã„ã†čŠąã‚’æ›¸ã„ãĻãŋぞす。
    AIãŒã‚ã‚Œã°ã‚‚ã¯ã‚„ã‚ŗãƒŧドは書けãĒくãĻいいです。ただ書けãĒくãĻいいけお、įŸĨč­˜ãŒã„ã‚‰ãĒいわけじゃãĒいです。ãĒんとãĒããŽåœ°å›ŗã‚’æŠŧさえãĻおくとAIãĢ寞する指į¤ēが一æŽĩį˛žåēĻ上がるし、äŊ•より「č‡Ē分がäŊ•ã‚’ã‚„ãŖãĻã„ã‚‹ã‹ã€ãŒåˆ†ã‹ã‚‹ã€ã¨ã„ã†ãƒŠã‚¤ãƒŗã‚’į›ŽæŒ‡ã—ãžã™ã€‚

    先ãĢæ­Ŗį›´ãĢč¨€ãŖãĻãŠãã¨ã€ã“ãŽč¨˜äē‹ã‚ˆã‚ŠčŠŗã—ãæ­ŖįĸēãĢ分かりやすくčĒŦ明しãĻã„ã‚‹č¨˜äē‹ã‚‚æœŦも、世ぎ中ãĢį„Ąé™ãĢã‚ã‚Šãžã™ã€‚ã ãŖãĻただぎWebã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗåŸēį¤ŽįŸĨ識ãĒãŽã§ã€‚æ­´å˛ãŒã‚ã‚‹ãŽã‚ˆã€‚ãĒãŽã§ã€é€”ä¸­ã§ãƒ”ãƒŗã¨æĨãĒã‹ãŖãŸã‚‰é æ…ŽãĒくäģ–ぎå…Ĩé–€æ›¸ã‚„č¨˜äē‹ãĢéŖ›ã‚“ã§ãã ã•ã„ã€‚ã“ã“ã¯ã‚ããžã§ã€Œãŧんやりとした最初ぎ全äŊ“像」をäŊœã‚‹ãŸã‚ãŽã€å…Ĩã‚ŠåŖãŽä¸€ã¤ã§ã™ã€‚åƒ•ãŽæ›¸ãį˛’åēĻãŒč‚ŒãĢ合うäēēはčĒ­ã‚“ã§ãŋãĻください。それこそAIãĢčžã„ãĻãŋãĻもいいと思いぞす。

    AIぎ時äģŖãĢãĒãŖãĻ、Webã‚ĸプãƒĒぎå­Ļãŗæ–šãŖãĻ順åēãŒã˛ãŖãã‚Ščŋ”ãŖãŸã‚“ã§ã™ã‚ˆã­ã€‚æ˜”ã¯ã€Œäģ•įĩ„ãŋをå­Ļんでから、äŊœãŖãĻãŋる」しかãĒã‹ãŖãŸã€‚äģŠã¯é€†ãĢ、「とりあえずAIでäŊœãŖãĻから、äģ•įĩ„ãŋをįŸĨる」という順į•Ēが、可čƒŊãĢãĒりぞした。これはこぎ時äģŖãĒらではぎéĸį™Ŋã•ã ã¨æ€ãŖãĻぞす。ãƒĒバãƒŧã‚šã‚¨ãƒŗã‚¸ãƒ‹ã‚ĸãƒĒãƒŗã‚°ã¨ã‚‚č¨€ãˆã‚‹ã—ãŠæ‰‹æœŦãŽį”Ÿæˆã¨ã‚‚č¨€ãˆã‚‹ã¨æ€ã„ãžã™ã€‚ã“ãŽč¨˜äē‹ã¯ããŽãŠæ‰‹æœŦぎčĒ­ãŋč§Ŗãæ–šã ã¨æ€ãŖãĻください。

    ãĒぎで、すでãĢäŊ•かäŊœãŖãĻãŋたäēēãģãŠã€ã“ãŽč¨˜äē‹ã¯åˆēさるはず。äŊœãŖãĻãĒいäēēは、čģŊくčĒ­ã‚“ã ã‚ã¨ãĢäŊ•か小さく一個äŊœãŖãĻãŋると、æˆģãŖãĻããŸã¨ãæ™¯č‰˛ãŒå¤‰ã‚ãŖãĻると思いぞす。

    というか昔は、大äŊ“į’°åĸƒæ§‹į¯‰ã§čŠ°ã‚€ã“ã¨å¤šã‹ãŖãŸã§ã™ã‚ˆã­ã€‚ãã‚Œã‚’AIãŒã‚„ãŖãĻくれるだけでもįĨžã ã‚ˆã­ã€‚į’°åĸƒæ§‹į¯‰ãŒæ­ģčĒžãĢãĒã‚‹ä¸–į•ŒãŒæĨるとはね。

    ã“ãŽč¨˜äē‹ãŽæ­Šãæ–š

    é•ˇããĒãŖãŸãŽã§ã€å…ˆãĢé“æĄˆå†…ã‚’įŊŽã„ãĻおきぞす。
    大きく分けると、3つぎパãƒŧトで構成されãĻいぞす。

    • 前半: そもそもWebã‚ĸプãƒĒはäŊ•でできãĻいるぎか
      ── ã‚Ŋãƒŧã‚šã‚ŗãƒŧãƒ‰ã€ãƒ•ã‚Ąã‚¤ãƒĢã€æ‹Ąåŧĩ子、ã‚ŋãƒŧミナãƒĢã€č¨€čĒžã€ãƒ•ãƒ­ãƒŗãƒˆ/ã‚ĩãƒŧバãƒŧ、通äŋĄã€ãƒ–ナã‚Ļã‚ļぎ描į”ģ、Webã‚ĸプãƒĒãŽåŽšįžŠ

    • 䏭ᛤ: Webã‚ĸプãƒĒぎ「3つぎæŽĩ階」を旅する
      ── ロãƒŧã‚ĢãƒĢで動く / ã‚ĩãƒŧバãƒŧãĢ上げãĻä¸–į•Œå…Ŧ開 / デãƒŧã‚ŋを持つ。į™ģå ´äēēį‰Š(Vercel、Supabase)も

    • 垌半: åœ°å›ŗã‚’æŒãŖãĻいると、äŊ•が変わるか
      ── AIへぎé ŧãŋ斚、å­Ļãŗæ–šã€ãžã¨ã‚

    順ãĢčĒ­ã‚ã°ã€ãĒるずく前提įŸĨ識ãĒしでčŋŊえるようãĢ書いãĻぞす。すでãĢᔍčĒžãĢéĻ´æŸ“ãŋがあるäēēã¯ã€ä¸­į›¤ã‹ã‚‰čĒ­ã‚“ã§ã‚‚ã‚‰ãŖãĻも大丈å¤Ģ。気ãĢãĒるã‚ģã‚¯ã‚ˇãƒ§ãƒŗã ã‘æ‹žã„čĒ­ãŋするぎも、ありです。よくわかんãĒã„ã¨ã“ã‚ã¯éŖ›ã°ã—ãĻ、ぞた垌æ—ĨčĒ­ã‚“ã§ãã ã•ã„īŧīŧ

    į”ģ像
    全äŊ“像。「Claude Code/Codex(äŊœã‚‹)」+「Vercel(å…Ŧ開する)」+「Supabase(čĻšãˆã‚‹)」がįĩ„ãŋåˆã‚ã•ãŖãĻ一つぎWebã‚ĸプãƒĒãĢãĒる

    ぞず、「ã‚Ŋãƒŧã‚šã‚ŗãƒŧãƒ‰ã€ãŖãĻäŊ•ãĒぎか

    AIがバãƒŧãŖã¨æ›¸ã„ãĻくれãĻã„ã‚‹ã€Œã‚ŗãƒŧãƒ‰ã€ãŖãĻ、įĩåą€ãĒんãĒぎか。
    æ­ŖäŊ“ã¯ã€ãŸã ãŽãƒ†ã‚­ã‚šãƒˆãƒ•ã‚Ąã‚¤ãƒĢã§ã™ã€‚ãƒĄãƒĸ叺ãĢ書いた文įĢ ã¨ã€æœŦčŗĒįš„ãĢは同じもぎです。
    ã˜ã‚ƒã‚ã€ããŽãƒ†ã‚­ã‚šãƒˆãƒ•ã‚Ąã‚¤ãƒĢãŒãŠã†ã‚„ãŖãĻã€Œå‹•ãã€ãŽã‹ã€‚ã“ã‚Œã¯ã€ãƒ†ã‚­ã‚šãƒˆãƒ•ã‚Ąã‚¤ãƒĢã‚’č§Ŗé‡ˆã—ãĻåŽŸčĄŒã—ãĻãã‚Œã‚‹į’°åĸƒãŒã‚るから動いãĻいぞす。あãĒたぎPCãŽä¸­ã ãŖãŸã‚Šã€ã‚ĩãƒŧバãƒŧãŽä¸­ã ãŖãŸã‚Šã€ãƒ–ãƒŠã‚Ļã‚ļãŽä¸­ã ãŖãŸã‚Šã€‚åŽŸčĄŒį’°åĸƒãŒã‚ŗãƒŧドをčĒ­ã‚“ã§ã€ã€Œã‚ã‚ã€ã“ã‚Œã¯į”ģéĸãĢこういうボã‚ŋãƒŗã‚’å‡ēせ、と書いãĻあるãĒã€ã¨č§Ŗé‡ˆã—ãĻ、初めãĻį”ģéĸがå‡ēる。
    ただこぎ指į¤ē文įĢ ã€äēē間が書くぎãĢã¯æ…Ŗã‚ŒãŒåŋ…čĻã ãŖãŸã‚Šã€ãƒĢãƒŧãƒĢを間違えるとうぞく動かãĒã‹ãŖãŸã‚Šã™ã‚‹ãŽã§ã™ã€‚å¤šåˆ†æ…Ŗã‚ŒãĻãĒいとイナイナしぞす。これをč‡Ēį„ļ言čĒžãŽåŊĸで指į¤ēしãĻAIが書いãĻくれるぎです。すごいねīŧ

    į”ģ像
    ã‚Ŋãƒŧã‚šã‚ŗãƒŧド(ãƒ†ã‚­ã‚šãƒˆãƒ•ã‚Ąã‚¤ãƒĢ)â†’åŽŸčĄŒį’°åĸƒ(PCやã‚ĩãƒŧバãƒŧ)→į”ģéĸãƒģå‡Ļį†ã€ãŽæĩã‚Œã‚’į¤ēす3゚テップ

    ところで、あぎ「éģ’いį”ģéĸ」はäŊ•

    AIでäŊ•かäŊœã‚ã†ã¨ã—ãĻ、Claude CodeやCodexをäŊŋい始めると、たãļん最初ãĢå‡ēäŧšã†ãŽãŒã€Œéģ’いį”ģéĸãĢ文字を打つやつ」だと思いぞす。ã‚ŋãƒŧミナãƒĢ(Terminal)ã¨ã‹ã€ã‚ŗãƒžãƒŗãƒ‰ãƒŠã‚¤ãƒŗã¨ã‹å‘ŧばれãĻるやつ。
    あれ、čĻã™ã‚‹ãĢã€Œæ–‡å­—ã§ã‚ŗãƒŗãƒ”ãƒĨãƒŧã‚ŋãĢå‘Ŋäģ¤ã‚’å‡ēす場所」です。マã‚Ļ゚でクãƒĒックしãĻ操äŊœã™ã‚‹äģŖã‚ã‚ŠãĢã€ã€Œã“ã‚Œã‚’ã‚„ãŖãĻ」「あれをčĩˇå‹•しãĻ」を、文字でPCãĢį›´æŽĨãŠéĄ˜ã„ã™ã‚‹å ´æ‰€ã€‚
    macOSだと「ã‚ŋãƒŧミナãƒĢ.app」、Windowsだと「PowerShellã€ã€Œã‚ŗãƒžãƒŗãƒ‰ãƒ—ãƒ­ãƒŗãƒ—ãƒˆã€ã‚ãŸã‚Šã€‚ä¸­čēĢはおれもäŧŧたようãĒåŊšå‰˛ã€‚
    Claude CodeもCodexも、こぎã‚ŋãƒŧミナãƒĢぎ中で動きぞす。だから「AIã§ã‚ŗãƒŧãƒ‰æ›¸ã‹ã›ã‚‹ã€ã¨č¨€ãŖãĻも、ぞずはこぎã‚ŋãƒŧミナãƒĢを開いãĻ、そこãĢAIをå‘ŧãŗå‡ēすところから始ぞる。
    「éģ’いį”ģéĸ=ã‚¨ãƒŗã‚¸ãƒ‹ã‚ĸãŽä¸–į•Œ=æ€–ã„ã€ãŽã‚¤ãƒĄãƒŧã‚¸ã‚’æŒãŖãĻるäēē、įĩæ§‹ã„ると思いぞす。でも原態は、ただぎ「文字でå‘Ŋäģ¤ã‚’å‡ēすį”ģéĸ」です。AIãĢå‘Ŋäģ¤ã™ã‚‹å ´æ‰€ã€ã¨æ€ãˆã°ã€æœ€åˆãŽåŋƒį†įš„ハãƒŧドãƒĢがだいãļ下がるはず。
    嚸いãĒことãĢ、こぎéģ’いį”ģéĸã‚’į›´æŽĨč§ĻらãĒければãĒらãĒい場éĸはかãĒり少ãĒいです。Claude CodeäŊŋう場合でも、įĢ‹ãĄä¸Šã’ãŸåžŒãĢã‚ŗãƒžãƒŗãƒ‰æ‰“ã¤ã“ã¨ã¯ãģãŧãĒいです。AIがかãĒã‚Šã“ãŽéƒ¨åˆ†ã‚„ãŖãĻくれぞすぎで。ぞれãĢAIãĢéģ’いį”ģéĸã§ãŽį›´æŽĨ操äŊœã‚’ãŠéĄ˜ã„ã•ã‚Œã‚‹ã“ã¨ãŒã‚ã‚Šãžã™ãŒã€ããŽæ™‚ã¯å°‘ã—æŗ¨æ„ã—ãĻã€ããŽã‚ŗãƒžãƒŗãƒ‰ãŒãĒんぎ操äŊœãĒぎかčĒŋずãĻからäŊŋãŖãĻãŋãĻください。
    ãĄãĒãŋãĢ、Codexぎã‚ĸプãƒĒをäŊŋえばã‚ŋãƒŧミナãƒĢをč§Ļるåŋ…čĻã¯ãĒいぎでäŊŋãŖãĻãŋãĻください。ã‚ŋãƒŧミナãƒĢを開きたくãĒいäēēã¯ã€ããŖãĄįŗģから始めるぎも一手。

    į”ģ像
    ã‚ŗãƒžãƒŗãƒ‰čĻšãˆã‚‹ãŽå¤§å¤‰

    ãƒ•ã‚Ąã‚¤ãƒĢとフりãƒĢãƒ€ã€ãã‚Œã‹ã‚‰ã€Œæ‹Ąåŧĩ子」

    ã‚Ŋãƒŧã‚šã‚ŗãƒŧãƒ‰ã¯ãƒ•ã‚Ąã‚¤ãƒĢだ、と書きぞした。じゃあã‚ĸプãƒĒãŖãĻ、äŊ•å€‹ãŽãƒ•ã‚Ąã‚¤ãƒĢでできãĻいるぎか? į­”ãˆã¯ã€Œįĩæ§‹ãŸãã•ん」です。
    多分こぎčžēり、įĩæ§‹čē“ããƒã‚¤ãƒŗãƒˆã ã¨æ€ã†ã§ã™ã‚ˆã­ã€‚ã‚¨ãƒŗã‚¸ãƒ‹ã‚ĸãƒĒãƒŗã‚°æ–‡č„ˆäģĨå¤–ã§ã€č¤‡æ•°ãŽãƒ•ã‚Ąã‚¤ãƒĢというæĻ‚åŋĩをãĒかãĒã‹æ‰ąã‚ãĒいんですよね。ここãĢæ…Ŗã‚Œã‚‹åŋ…čĻãŒã‚ã‚‹ã€‚
    小さãĒã‚ĸプãƒĒでも数十、大きãĒã‚ĸプãƒĒã ã¨æ•°į™žã€æ•°åƒãŽãƒ•ã‚Ąã‚¤ãƒĢãĢãĒã‚Šãžã™ã€‚ã“ã‚Œã‚’įŽĄį†ã™ã‚‹ãŸã‚ãĢã€ãƒ•ã‚Ąã‚¤ãƒĢはフりãƒĢダ(ãƒ‡ã‚ŖãƒŦクトãƒĒã¨č¨€ã†ã“ã¨ã‚‚ã‚ã‚Šãžã™)ã§éšŽåą¤æ§‹é€ ãĢæ•´į†ã•ã‚ŒãĻã„ãžã™ã€‚ã“ã‚Œã‚’ã€Œãƒ•ã‚Ąã‚¤ãƒĢツãƒĒãƒŧ」とå‘ŧãŗãžã™ã€‚
    たとえば、ClaudeCodeやCodexでäŊœã‚‹Webã‚ĸプãƒĒ(äŊ•も指į¤ēしãĒいと大äŊ“JavaScriptįŗģぎフãƒŦãƒŧムワãƒŧクをäŊŋわれぞす。JavaScriptãĢついãĻは垌čŋ°ã—ぞす)だと、だいたいこんãĒ構造ぎフりãƒĢダができぞす。

    • my-app/ ── プロジェクトぎ大元ぎフりãƒĢダ

      • src/ ── č‡Ē分が書く(AIãĢ書かせる)ã‚Ŋãƒŧã‚šã‚ŗãƒŧãƒ‰ãŸãĄ

      • public/ ── į”ģ像ãĒお、そぎぞぞ配äŋĄã™ã‚‹ãƒ•ã‚Ąã‚¤ãƒĢ

      • package.json ── こぎã‚ĸプãƒĒがおんãĒ部品をäŊŋうかぎãƒĒ゚ト

      • node_modules/ ── 取り寄せた部品ぎ中čēĢがå…Ĩる場所(č‡Ēå‹•į”Ÿæˆ)

      • .env ── APIキãƒŧãĒãŠã€į§˜å¯†ãŽč¨­åŽšæƒ…å ą

    それぞれぎåŊšå‰˛ã‚’ã–ãŖãã‚ŠčĻšãˆãĻおくと、AIãĢé ŧむときも「src/ãŽã“ã“ã‚’į›´ã—ãĻ」「.envãĢこれをčļŗã—ãĻ」と指į¤ēがå‡ēせãĻ、äŧščŠąãŽč§ŖåƒåēĻが上がりぞす。

    é™įš„ãĒWebペãƒŧジだとhtmlãŽãƒ•ã‚Ąã‚¤ãƒĢä¸€ã¤ãŽå ´åˆã‚‚ã‚ã‚Šãžã™ãŒã€å°‘ã—č¤‡é›‘ãĒã“ã¨ã‚’ã—ã‚ˆã†ã¨ã™ã‚‹ã¨ã“ãŽãƒ•ã‚Ąã‚¤ãƒĢã‚ˇã‚šãƒ†ãƒ ã¸ãŽæ„č­˜ãŒåŋ…čρãĢãĒりぞす。でも厉åŋƒã—ãĻください。原際ぎところAIがうぞいことしãĻくれるぎで、そんãĒãĢæ„č­˜ã™ã‚‹å ´éĸはありぞせん。でもWebã‚ĸプãƒĒã¯č¤‡æ•°ãŽãƒ•ã‚Ąã‚¤ãƒĢぎ集合äŊ“だということはæŠŧさえãĻおいãĻください。

    æ‹Ąåŧĩå­ã§ã€Œãƒ•ã‚Ąã‚¤ãƒĢãŽį¨ŽéĄžã€ãŒåˆ†ã‹ã‚‹

    ã‚‚ã†ä¸€ã¤ã€ãƒ•ã‚Ąã‚¤ãƒĢ名ぎ最垌ãĢついãĻいる「.html」「.js」「.css」ãŋたいãĒéƒ¨åˆ†ã€‚ã“ã‚Œã‚’æ‹Ąåŧĩ子とå‘ŧãŗãžã™ã€‚
    æ‹Ąåŧĩå­ã¯ã€ããŽãƒ•ã‚Ąã‚¤ãƒĢがおんãĒãƒĢãƒŧãƒĢでで書かれãĻã„ã‚‹ã‹ã‚’čĄ¨ã™ãƒŠãƒ™ãƒĢです。中čēĢがHTMLãĒら `.html`、JavaScriptãĒら `.js`、CSSãĒら `.css`、というãĩうãĢã€æ‹Ąåŧĩ子をčĻ‹ã‚‹ã ã‘ã§äŊ•ãŽãƒ•ã‚Ąã‚¤ãƒĢかが分かるようãĢãĒãŖãĻいる。

    よくį™ģå ´ã™ã‚‹æ‹Ąåŧĩ子はだいたいこぎへん。

    • `.html` ── HTML(į”ģéĸぎéǍæ ŧ)

    • `.css` ── CSS(čĻ‹ãŸį›ŽãƒģčŖ…éŖž)

    • `.js` ── JavaScript(動き)

    • `.json` ── JSON(č¨­åŽšã‚„æ§‹é€ åŒ–ã•ã‚ŒãŸãƒ‡ãƒŧã‚ŋ)

    • `.md` ── Markdown(文įĢ ã€ãĄãĒãŋãĢã“ãŽč¨˜äē‹ã‚‚mdåŊĸåŧ)

    • `.env` ── į’°åĸƒå¤‰æ•°(į§˜å¯†ãŽč¨­åŽšæƒ…å ą)

    æ‹Ąåŧĩ子さえčĻ‹ã‚Œã°ã€Œã‚ã€ã“ã‚Œã¯į”ģéĸãŽčŠąãŽãƒ•ã‚Ąã‚¤ãƒĢだãĒã€ã€Œã“ã‚Œã¯č¨­åŽšãƒ•ã‚Ąã‚¤ãƒĢだãĒ」と判断できる。ブナã‚Ļã‚ļやã‚ĩãƒŧバãƒŧã‚‚ã€æ‹Ąåŧĩ子をčĻ‹ãĻ「これはHTMLとしãĻæ‰ąãŠã†ã€ã¨åˆ¤åŽšã—ãĻいる。
    ã‚ŗãƒŧドを書けるようãĢãĒらãĒくãĻã‚‚ã€æ‹Ąåŧĩå­ãŽæ„å‘ŗã ã‘įŸĨãŖãĻおけば、「AIがäģŠã„ã˜ãŖãĻいるぎはčĻ‹ãŸį›ŽãŽãƒ•ã‚Ąã‚¤ãƒĢだãĒ」ãŋたいãĢįŠļæŗãŒæŽ´ã‚ã‚‹ã‚ˆã†ãĢãĒりぞす。これがあると、AIとぎäŧščŠąãŽį˛žåēĻがさらãĢ一æŽĩ上がる。

    į”ģ像

    ãĄãĒãŋãĢã€ã‚ŗãƒŧドãĢã¯ã„ãã¤ã‹ãŽã€Œį¨ŽéĄžã€ãŒã‚ã‚‹

    ã•ãŖãã€Œã‚Ŋãƒŧã‚šã‚ŗãƒŧãƒ‰ã¯ãŸã ãŽãƒ†ã‚­ã‚šãƒˆãƒ•ã‚Ąã‚¤ãƒĢã€ã¨č¨€ã„ãžã—ãŸãŒã€ããŽãƒ†ã‚­ã‚šãƒˆãŽä¸­čēĢã¯ã„ãã¤ã‹ãŽã€Œãƒ—ãƒ­ã‚°ãƒŠãƒŸãƒŗã‚°č¨€čĒžã€ã§æ›¸ã‹ã‚ŒãĻã„ãžã™ã€‚čžã„ãŸã“ã¨ã‚ã‚Šãžã™ã‚ˆã­ã€ãƒ—ãƒ­ã‚°ãƒŠãƒŸãƒŗã‚°č¨€čĒžã€‚ãƒ—ãƒ­ã‚°ãƒŠãƒŸãƒŗã‚°č¨€čĒžč‡ĒäŊ“はたくさんあるんですが、Webã‚ĸプãƒĒãŽæ–‡č„ˆã§ã‚ˆãį™ģ場するぎはこぎあたりです。čĻšãˆãĒくãĻã‚‚ã„ã„ã‘ãŠã€į›Žã‚’æ…Ŗã‚‰ã—ãĻおいãĻください。

    • HTMLとCSS: Webブナã‚Ļã‚ļぎį”ģéĸぎéǍæ ŧをäŊœã‚‹č¨€č‘‰ã€‚「ここãĢã‚ŋイトãƒĢ」「ここãĢボã‚ŋãƒŗã€ã€Œã“ã‚“ãĒデã‚ļã‚¤ãƒŗã§ã€ãŋたいãĒį”ģéĸぎ構造を書く。Webブナã‚Ļã‚ļã¯ãã‚Œã‚’ãŽãžãžčĄ¨į¤ēしãĻいぞす。

    • JavaScript(JS): į”ģéĸãĢ動きをäģ˜ã‘ã‚‹č¨€č‘‰ã€‚HTMLã‚’å‹•įš„ãĢį”Ÿæˆã—ãĻくれぞす。「ボã‚ŋãƒŗã‚’æŠŧしたらこう動く」ãŋたいãĒ動äŊœã‚’書く

    • ã‚ĩãƒŧバãƒŧã‚ĩイドぎJavaScript(Node.jsãĒお): 同じJSãĒんですが、書く場所が違う。ã‚ĩãƒŧバãƒŧ(垌でå‡ēãĻきぞす)ぎ中で動くJS。「デãƒŧã‚ŋã‚’å—ã‘å–ãŖãĻ、äŋå­˜ã™ã‚‹ã€ãŋたいãĒå‡Ļį†ã‚’æ›¸ã(JSäģĨå¤–ãŽč¨€čĒžã‚‚ã‚ã‚Šãžã™)

    • SQL: デãƒŧã‚ŋベãƒŧ゚(これも垌でå‡ēãĻきぞす)とäŧščŠąã™ã‚‹ãŸã‚ãŽč¨€č‘‰ã€‚ã€Œã“ãŽãƒĻãƒŧã‚ļãƒŧぎデãƒŧã‚ŋã‚’å–ãŖãĻ」「これをäŋå­˜ã—ãĻ」とé ŧむときãĢäŊŋう

    ã‚ŗãƒŧドを「čĒ­ã‚ã‚‹ã€ã‚ˆã†ãĢãĒるåŋ…čĻã¯ã‚ã‚Šãžã›ã‚“ã€‚AIが書いãĻくれぞすし。
    ãŸã ã€ã€ŒãŠãŽč¨€čĒžãŒã€äŊ•ã‚’æ‹…åŊ“しãĻいるか」、åŊšå‰˛ã ã‘は頭ãĢå…ĨれãĻおくとäŊ•ã‹ã‚ãŖãŸæ™‚ãĢåŊšãĢįĢ‹ãĄãžã™ã€‚ä¸­čēĢをčĒ­ãžãĒくãĻもいいけれお、AIãŒį”Ÿæˆã—ãĻãã‚ŒãŸãƒ•ã‚Ąã‚¤ãƒĢãŽį¨ŽéĄžã ã‘ã§ã‚‚čĻ‹ãĻãŋぞしょう。
    AIが「ここはJSã§æ›¸ããžã—ãŸã€ã¨č¨€ãŖãĻきたら「ああ、į”ģéĸãŽå‹•ããŽčŠąã­ã€ã€ã€ŒSQLã§ã“ã†æ›¸ããžã—ãŸã€ã¨č¨€ãŖãĻきたら「デãƒŧã‚ŋを取りå‡ēã™čŠąã­ã€ã¨ã€äŊ•ãŽčŠąã‚’ã—ãĻいるかが掴める。これだけでAIとぎäŧščŠąãŽį˛žåēĻãŒããŖã¨ä¸ŠãŒã‚Šãžã™ã€‚

    äģ–ãĢもPythonとかRubyとかGoとか、いろんãĒ言čĒžãŒã‚ã‚Šãžã™ã€‚ã§ã‚‚ãžãšã¯ã“ãŽ4į¨ŽéĄžãŽåŊšå‰˛ã‚’æŠŧさえãĻおけば、AIでäŊœã‚‹Webã‚ĸプãƒĒぎ大半は、äŊ•ãŽčŠąã‚’ã—ãĻいるかčŋŊえるようãĢãĒりぞす。

    ãƒ—ãƒ­ã‚°ãƒŠãƒŸãƒŗã‚°č¨€čĒžãŽã“ã¨ã‚’čĒŋãšå§‹ã‚ã‚‹ã¨ã€åŽŸčĄŒį’°åĸƒã¨ã‹ã€ã€Œã‚ŗãƒŗãƒ‘ã‚¤ãƒŠč¨€čĒžã€ã¨ã€Œã‚šã‚¯ãƒĒãƒ—ãƒˆč¨€čĒžã€ã¨ã‹č‰˛ã€…å‡ēãĻくるけお、一æ—Ļį„ĄčĻ–ã—ãĻいいです。Webブナã‚Ļã‚ļは偉大だãĒãƒŧã¨æ€ãŖãĻおいãĻ。

    ãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ã¨ã€ã‚ĩãƒŧバãƒŧã‚ĩイド

    もう一個、Webã‚ĸプãƒĒãŽčŠąã§ã—ã‚‡ãŖãĄã‚…ã†å‡ēãĻãã‚‹č¨€č‘‰ã€‚ã€Œãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ã€ã¨ã€Œã‚ĩãƒŧバãƒŧã‚ĩイド(ãƒãƒƒã‚¯ã‚¨ãƒŗãƒ‰ã€ã¨ã‚‚č¨€ã„ãžã™)」。
    ã–ãŖãã‚Šã€ã“ã†ã„ã†åˆ†ã‘æ–šã§ã™ã€‚

    • ãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ ── ãƒĻãƒŧã‚ļãƒŧãŽį›ŽãŽå‰ã§å‹•ãéƒ¨åˆ†ã€‚ã‚ãĒたがブナã‚Ļã‚ļでčĻ‹ãĻいるį”ģéĸ、æŠŧすボã‚ŋãƒŗã€čĄ¨į¤ēされる文字。HTMLとCSSとJSでäŊœã‚‹å´

    • ã‚ĩãƒŧバãƒŧã‚ĩイド(ãƒãƒƒã‚¯ã‚¨ãƒŗãƒ‰) ── ãƒĻãƒŧã‚ļãƒŧãĢはčĻ‹ãˆãĒã„ã€čŖæ–šãŽéƒ¨åˆ†ã€‚ãƒ‡ãƒŧã‚ŋを受け取る、äŋå­˜ã™ã‚‹ã€č¨ˆįŽ—ã™ã‚‹ã€čĒč¨ŧする、ãŋたいãĒå‡Ļį†ã‚’æ‹…åŊ“する側

    ここで先ãĢæŠŧさえãĻãŠããŸã„ãŽã¯ã€ãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ã ã‘ã§ã‚‚ã€Webã‚ĸプãƒĒã¯ãĄã‚ƒã‚“ã¨å‹•ãã€ã¨ã„ã†ã“ã¨ã€‚
    į”ģéĸがå‡ēãĻ、ボã‚ŋãƒŗãŒæŠŧせãĻ、å…Ĩ力ãĢåŋœã˜ãĻäŊ•ã‹č¨ˆįŽ—ã—ãĻįĩæžœã‚’čŋ”す、というãƒŦベãƒĢãĒã‚‰ã€ãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ã ã‘ã§æˆįĢ‹ã—ãžã™ã€‚ã‚ĩãƒŧバãƒŧã‚ĩイドはčĻã‚Šãžã›ã‚“ã€‚ãƒ‡ãƒŧã‚ŋをおこかãĢäŋå­˜ã™ã‚‹åŋ…čĻãŒãĒい限り、æœŦåŊ“ãĢãƒ•ãƒ­ãƒŗãƒˆã ã‘ã§åŽŒįĩã™ã‚‹ã€‚
    だから、「Webã‚ĸプãƒĒをäŊœã‚‹ã€=ã€Œãƒ•ãƒ­ãƒŗãƒˆã‚‚ã‚ĩãƒŧバãƒŧã‚‚ä¸Ąæ–šã‚ŦッツãƒĒäŊœã‚‹ã€ã˜ã‚ƒãĒいんですよ。やりたいことãĢ合わせãĻ、åŋ…čρãĒį¯„å›˛ã ã‘äŊœã‚Œã°ã„い。
    ã‚ĩãƒŧバãƒŧã‚ĩイドをæœŦæ ŧįš„ãĢäŊœã‚ŠčžŧぞãĒいといけãĒくãĒるぎは、デãƒŧã‚ŋをäŋå­˜ã—たい、ãƒĻãƒŧã‚ļãƒŧごとãĢ違うå‡Ļį†ã‚’ã—ãŸã„ã€ãƒĻãƒŧã‚ļãƒŧãĢčĻ‹ã›ãŸããĒいå‡Ļį†ã‚’å…Ĩれたい、というあたりから。そこぞでæĨãĻから、ã‚ĩãƒŧバãƒŧã‚’č€ƒãˆå§‹ã‚ã‚Œã°ã‚ˆã„ã§ã™ã€‚
    AIãĢé ŧã‚€ã¨ãã‚‚ã€Œã“ã‚Œã¯ãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ãŽčŠąã€ã€Œã“ã‚Œã¯ã‚ĩãƒŧバãƒŧã‚ĩã‚¤ãƒ‰ãŽčŠąã€ã¨åˆ†ã‘ãĻ指į¤ēã§ãã‚‹ã¨ã€į˛žåēĻが一æŽĩä¸ŠãŒã‚Šãžã™ã€‚ã€Œãƒ­ã‚°ã‚¤ãƒŗæŠŸčƒŊをčŋŊ加しãĻ」とæŧ į„ļã¨č¨€ã†ã‚ˆã‚Šã€ã€Œãƒ•ãƒ­ãƒŗãƒˆå´ãĢãƒ­ã‚°ã‚¤ãƒŗį”ģéĸをäŊœãŖãĻ、ã‚ĩãƒŧバãƒŧ側でčĒč¨ŧしãĻ、įĩæžœã‚’ãƒ•ãƒ­ãƒŗãƒˆãĢčŋ”す」と分けãĻ指į¤ēすると、AIã‚‚æ•´į†ã—ãĻ動きやすい。

    į”ģ像

    ã¨ã“ã‚ã§ã€ãƒ•ãƒ­ãƒŗãƒˆã¨ã‚ĩãƒŧバãƒŧは、おう「äŧščŠąã€ã—ãĻいるぎか

    ãã‚‚ãã‚‚ãŽčŠąã€‚
    ãƒĻãƒŧã‚ļãƒŧがブナã‚Ļã‚ļでčĻ‹ãĻã„ã‚‹ãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ãŽä¸­čēĢ(HTML、CSS、JS)ãŖãĻ、おこからæĨãĻるんでしょう。原は、ブナã‚Ļã‚ļãŒã‚¤ãƒŗã‚ŋãƒŧネット上ぎã‚ĩãƒŧバãƒŧã‹ã‚‰ã€ãƒ•ã‚Ąã‚¤ãƒĢを「ダã‚Ļãƒŗãƒ­ãƒŧド」しãĻきãĻã€ããŽå ´ã§čĄ¨į¤ēしãĻいるんですよ。これがWeb通äŋĄãŽå‡ēį™ēį‚šã€‚

    äģ•įĩ„ãŋは、こんãĒ感じです。

    1. ãƒĻãƒŧã‚ļãƒŧがURLを開く

    2. ブナã‚Ļã‚ļが、そぎURLぎã‚ĩãƒŧバãƒŧãĢã€Œã“ã‚Œãã ã•ã„ã€ã¨ãŠéĄ˜ã„ã‚’é€ã‚‹ã€ã“ã‚Œã‚’ã€ŒãƒĒã‚¯ã‚¨ã‚šãƒˆã€ã¨č¨€ã„ãžã™

    3. ã‚ĩãƒŧバãƒŧãŒã€ãƒ•ãƒ­ãƒŗãƒˆã‚¨ãƒŗãƒ‰ãŽãƒ•ã‚Ąã‚¤ãƒĢ(HTML、CSS、JSãĒお)をčŋ”す、これを「ãƒŦã‚šãƒãƒŗã‚šã€ã¨č¨€ã„ãžã™

    4. ブナã‚Ļã‚ļãŒãã‚Œã‚’å—ã‘å–ãŖãĻã€č§Ŗé‡ˆã—ãĻ、į”ģéĸãĢįĩĩを描く

    ここぞでが、ペãƒŧジを開いたįžŦ間ãĢčĩˇããĻいることです。
    そぎ垌、ãƒĻãƒŧã‚ļãƒŧがボã‚ŋãƒŗã‚’æŠŧしたり、デãƒŧã‚ŋを送äŋĄã—たりすると、ぞたåˆĨãŽã€ŒãŠéĄ˜ã„ã€ãŒã‚ĩãƒŧバãƒŧãĢéŖ›ãŗãžã™ã€‚ã€Œã“ãŽãƒ‡ãƒŧã‚ŋください」「これäŋå­˜ã—ãĻおいãĻ」ãŋたいãĒ。ã‚ĩãƒŧバãƒŧは「はい、これです」「äŋå­˜ã—ぞした」とčŋ”äē‹ã‚’čŋ”す。これを、ãƒĻãƒŧã‚ļãƒŧがã‚ĸプãƒĒをäŊŋãŖãĻã„ã‚‹é–“ã€ãšãŖã¨įš°ã‚Ščŋ”しãĻいる。
    こぎやり取りぎäŊœæŗ•ã‚’æąēめãĻいるぎが、HTTPというãƒĢãƒŧãƒĢです。「ハイパãƒŧテキ゚トãƒģãƒˆãƒŠãƒŗã‚šãƒ•ã‚Ąãƒŧãƒģãƒ—ãƒ­ãƒˆã‚ŗãƒĢ」ぎį•Ĩですが、čĻšãˆãĒくãĻ大丈å¤Ģã€‚ã€Œãƒ•ãƒ­ãƒŗãƒˆã¨ã‚ĩãƒŧバãƒŧがäŧščŠąã™ã‚‹ãŸã‚ãŽå…ąé€šãŽãƒĢãƒŧãƒĢãŒã‚ã‚‹ã€ã¨æ€ãŖãĻおけば十分。
    ãĄãĒãŋãĢ、ã‚ĩãƒŧバãƒŧからčŋ”ãŖãĻくるもぎは、įŠļæŗãĢã‚ˆãŖãĻ変わりぞす。HTML、į”ģ像、CSS、JS、JSON(構造化されたデãƒŧã‚ŋ)、いろんãĒもぎ。
    TCP/IPã¨ã‹ã€ã‚‚ãŖã¨į´°ã‹ã„ãƒãƒƒãƒˆãƒ¯ãƒŧクぎäģ•įĩ„ãŋもあるんですが、そこはä슿—Ĩはč§Ļれぞせん。「ブナã‚Ļã‚ļが、ã‚ĩãƒŧバãƒŧからåŋ…čρãĒãƒ•ã‚Ąã‚¤ãƒĢやデãƒŧã‚ŋをダã‚Ļãƒŗãƒ­ãƒŧドしãĻ、į”ģéĸãĢ襨į¤ēしãĻã„ã‚‹ã€ã¨ã„ã†ã‚¤ãƒĄãƒŧã‚¸ã•ãˆæŒãŖãĻおけば、åŊ“éĸは十分です。

    į”ģ像

    ブナã‚Ļã‚ļはおう「įĩĩ」を描いãĻいるぎか

    もう一æŽĩ、ã‚Ŋãƒŧã‚šã‚ŗãƒŧドがおうWebぎį”ģéĸãĢãĒã‚‹ã‹ã€ã–ãŖãã‚ŠįŸĨãŖãĻおくとæĨŊãĒčŠąã‚’ã€‚
    あãĒたがWebぎį”ģéĸを開く、というぎは、ブナã‚Ļã‚ļ(ChromeやSafari)がHTMLをčĒ­ã‚“ã§ã€įĩĩを描いãĻくれãĻいる、ということãĒんです。
    ã–ãŖãã‚Šã€ã“ã‚“ãĒæĩã‚Œã§ã™ã€‚

    1. ブナã‚Ļã‚ļがHTMLã‚’å—ã‘å–ãŖãĻ、į”ģéĸぎ構造をįĩ„ãŋįĢ‹ãĻる

    2. CSS(čĻ‹ãŸį›Žã‚’æ‹…åŊ“ã™ã‚‹č¨€čĒž)をčĒ­ã‚“ã§ã€č‰˛ã‚„é…įŊŽã‚’æąēめる

    3. JavaScriptをčĒ­ãŋčžŧんで、動きをčļŗã™

    4. ぜんãļ合わせãĻ、ピクã‚ģãƒĢ単äŊã§į”ģéĸãĢ描く

    5. ãƒĻãƒŧã‚ļãƒŧがクãƒĒックしたりå…Ĩ力したりしたら、JSが反åŋœã—ãĻį”ģéĸぎ一部を書き換える

    ブナã‚Ļã‚ļãŖãĻ、晎æŽĩãĒんとãĒくäŊŋãŖãĻã„ãžã™ã‘ãŠã€åŽŸã¯ã“ã‚Œã ã‘č¤‡é›‘ãĒã“ã¨ã‚’æ¯Žį§’ã‚„ãŖãĻくれãĻいるã‚Ŋフトã‚Ļェã‚ĸです。
    これをįŸĨãŖãĻおくと、「ãĒんでこぎペãƒŧジ重いんだろう」「ãĒんでこぎ動きã‚Ģクつくんだろう」ãŋたいãĒčŠąãŽæ šãŖã“ãŒčĻ‹ãˆã‚„ã™ããĒりぞす。AIãĢ「ここぎ動きをこぎようãĢ変えãĻ」とé ŧã‚€ã¨ãã‚‚ã€å‹˜æ‰€ã‚’æŒãŖãĻ指į¤ēがå‡ēせるようãĢãĒる。

    JavaScriptãŖãĻ、į”ģéĸãĢį›´æŽĨįĩĩを描いãĻいるわけじゃãĒã„ã‚“ã§ã™ã‚ˆã€‚ã‚„ãŖãĻいるぎは、HTMLを書き換えること。「ボã‚ŋãƒŗãŒæŠŧされたら、こぎ場所ぎ文字を『送äŋĄä¸­â€Ļ』ãĢ変える」ãŋたいãĒJSãŽå‹•ãã¯ã€å†…éƒ¨įš„ãĢは「HTMLãŽčŠ˛åŊ“įŽ‡æ‰€ã‚’æ›¸ãæ›ãˆã‚‹ã€ã‚’ã‚„ãŖãĻいる。そしãĻæ›¸ãæ›ã‚ãŖãŸHTMLをčĻ‹ãĻ、ブナã‚Ļã‚ļがぞたįĩĩã‚’æãį›´ã™ã€ã¨ã„ã†ãƒĢãƒŧプãĢãĒãŖãĻいぞす。
    つぞり、ブナã‚Ļã‚ļはあくぞで「HTMLを元ãĢ描į”ģしãĻã„ã‚‹ã€čŖ…įŊŽã§ã€JSはそぎHTMLã‚’å‹•įš„ãĢ書き換えるåŊšå‰˛ã‚’æ‹…ãŖãĻいる。ここを掴むと、ブナã‚Ļã‚ļぎäģ•įĩ„ãŋ全äŊ“が一気ãĢčĻ‹é€šã—ã‚ˆããĒりぞす。

    į”ģ像

    ところで、「Webã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã€ãŖãĻäŊ•ぎこと

    ã“ã“ãžã§čŠąã—ãĻきãĻã€ã‚‚ã—ã‹ã—ãŸã‚‰é•å’Œæ„ŸãŒã‚ãŖãŸã‹ã‚‚ã—ã‚Œãžã›ã‚“ã€‚ã€ŒHTMLã ã‘ã§čĄ¨į¤ēされるペãƒŧジは、Webã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗãĒぎ?」 ãĩつうは、Webã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã¨ã¯å‘ŧãŗãžã›ã‚“ã€‚
    HTMLだけぎペãƒŧジは「Webã‚ĩイト」「Webペãƒŧジ」とå‘ŧばれぞす。文字やį”ģåƒã‚’čĄ¨į¤ēするだけぎもぎ。
    「Webã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã€ã¨å‘ŧばれるぎは、そこãĢJSがå…ĨãŖãĻ動きがäģ˜ã„ãĻ、ãƒĻãƒŧã‚ļãƒŧぎ操äŊœãĢäŊ•かをåŋœãˆã‚‹ã€ã‚‚しくはã‚ĩãƒŧバãƒŧ側でå‡Ļį†ãŒčĩ°ã‚‹ã€ã¨ã„うãƒŦベãƒĢã‹ã‚‰ã€‚å‹•įš„ãĢäŊ•かがčĩˇãã‚‹ã€ã¨ã„うこと。これが「ã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã€ãŽčĒžæ„Ÿã§ã™ã€‚

    å…ˇäŊ“äž‹ã§č¨€ã†ã¨ã€åƒ•ãŒå€‹äēēä狿Ĩ­ã§äŊœãŖãĻã„ã‚‹ã€Œč¤‡įœŧé“å ´ã€ã‚‚ã€Œã‚†ãŗãã‚Šã’ã‚“ãžã‚“ã€ã‚‚ã€ãŠãŖãĄã‚‚Webã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã§ã™ã€‚
    複įœŧ道場は、エニã‚ĸグナムをベãƒŧ゚ãĢしたč¨ē断ツãƒŧãƒĢįž¤ã€‚čŗĒ問ãĢį­”ãˆã‚‹ã¨įĩæžœãŒå‹•įš„ãĢčŋ”ãŖãĻきãĻ、ペã‚ĸč¨ēæ–­ã§į›¸æ€§ã‚’å‡ēã—ãŸã‚Šã€å¯žčŠąåž‹ã§æˇąæŽ˜ã‚Šã—ãŸã‚Šã§ãã‚‹ã€‚HTMLã ã‘ãŽé™įš„ãĒペãƒŧジじゃãĒく、JSãŒå›žį­”ã‚’č§Ŗé‡ˆã—ãĻ、そぎ場でįĩæžœã‚’č¨ˆįŽ—ã—ãŸã‚Šã€čĄ¨į¤ēする文įĢ ã‚’įĩ„ãŋįĢ‹ãĻたりしãĻいぞす。
    ã‚†ãŗãã‚Šã’ã‚“ãžã‚“ã¯ã‚‚ã†ä¸€æŽĩé€˛ã‚“ã§ã€ãƒ‡ãƒŧã‚ŋをäŋå­˜ã—ぞす。ãƒĻãƒŧã‚ļãƒŧãŒã€Œį´„æŸã€ã‚’æ›¸ã„ãĻ、それをčĻšãˆãĻおいãĻ、垌からčĻ‹čŋ”ã—ãŸã‚ŠįŽĄį†ã—ãŸã‚Šã§ãã‚‹ã€‚ã“ã‚Œã¯ãžã•ãĢæŽĩ階3、デãƒŧã‚ŋを持つã‚ĸプãƒĒです(æŽĩéšŽãŽčŠąã¯æŦĄãŽã‚ģã‚¯ã‚ˇãƒ§ãƒŗã§)。
    ãŋãĒさんがAIでäŊœã‚ã†ã¨ã—ãĻいるぎも、たãļんこぎ「動きやå‡Ļį†ãŒå…ĨãŖãĻいる」ãƒŦベãƒĢ、もしくはそれをčļ…えãĻ「デãƒŧã‚ŋをäŋå­˜ã™ã‚‹ã€ãƒŦベãƒĢãŽã‚‚ãŽã§ã™ã‚ˆã­ã€‚ã ã‹ã‚‰ã“ãŽč¨˜äē‹ã§ã¯ã€ãŸã ãŽHTMLじゃãĒくãĻ、Webã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗã‚’äŊœã‚‹ã€ã¨ã„ã†å‰æã§čŠąã‚’é€˛ã‚ãžã™ã€‚

    ただ、もう一個大äē‹ãĒãƒã‚¤ãƒŗãƒˆã€‚HTMLとJSだけでも、かãĒりãƒĒッチãĒもぎがäŊœã‚Œãžã™ã€‚ã‚ĩãƒŧバãƒŧ側ぎå‡Ļį†ã‚„ã€ãƒ‡ãƒŧã‚ŋぎäŋå­˜ãŒãĒくãĻも、JSが頑åŧĩればčĻ‹ãŸį›Žã‚‚å‹•ãã‚‚ã‹ãĒã‚Šå‡ãŖãŸã‚‚ãŽãŒįĩ„める。
    ãŸã¨ãˆã°ã€č¨ˆįŽ—æŠŸã€å ã„ã€ãĄã‚‡ãŖã¨ã—ãŸč¨ē断ツãƒŧãƒĢ、おįĩĩ描きツãƒŧãƒĢã€į°Ąå˜ãĒã‚˛ãƒŧム、čĻ‹ã›æ–šãŒå‡ãŖãŸæƒ…å ąãƒšãƒŧジ、こぎあたりはHTMLとJSだけで厌įĩã—ぞす。ã‚ĩãƒŧバãƒŧやデãƒŧã‚ŋベãƒŧ゚ãĒしで、įĩæ§‹ãƒĒッチãĒäŊ“験を提䞛できる。
    だから「Webã‚ĸプãƒĒäŊœã‚‹ã€ã¨čžã„ãĻ、æ€ĨãĢデãƒŧã‚ŋベãƒŧ゚とかčĒč¨ŧとかčēĢæ§‹ãˆã‚‹åŋ…čĻã¯ãĒいんですよ。やりたいことが「デãƒŧã‚ŋをčĻšãˆãĻおくåŋ…čĻãŒãĒい」ãƒŦベãƒĢãĒら、æŽĩ階2ぞででだいたい収ぞる。「デãƒŧã‚ŋをčĻšãˆãĻおきたい」とãĒãŖãŸįžŦ間ãĢ、初めãĻæŽĩ階3がåŋ…čρãĢãĒる、というだけ。
    äŊœã‚ŠãŸã„もぎãĢ合わせãĻ、åŋ…čρãĒæŽĩéšŽãžã§é€˛ã‚ã°ã„ã„ã€‚ã“ã‚ŒãŒå¤§äē‹ã§ã™ã€‚

    į”ģ像

    Webã‚ĸプãƒĒãĢは「3つぎæŽĩ階」がある

    そぎ上で、Webã‚ĸプãƒĒãĢã¯ã€Œã‚ŗãƒŧドをおこで動かすか」ぎæŽĩéšŽãŒã€ã–ãŖãã‚Š3つありぞす。

    1. ロãƒŧã‚ĢãƒĢで動くæŽĩ階 ── č‡Ē分ぎPCぎ中だけで動いãĻいる

    2. ã‚ĩãƒŧバãƒŧãĢ上げãĻã€ä¸–į•Œä¸­ã‹ã‚‰čĻ‹ãˆã‚‹æŽĩ階 ── URLをįŸĨãŖãĻいればčĒ°ã§ã‚‚ã‚ĸクã‚ģ゚できる

    3. デãƒŧã‚ŋを持つæŽĩ階 ── ãƒĻãƒŧã‚ļãƒŧぎå…ĨåŠ›ã‚„æƒ…å ąã‚’äŋå­˜ã§ãã‚‹
      こぎ3ã¤ã¯ã€ã‚„ãŖãĻることが全部違うんですよ。ãĒぎãĢAIでäŊœãŖãĻると一気ãĢやろうとしãĻæˇˇäšąã—ãžã™ã€‚ä¸€å€‹ãšã¤čĻ‹ãĻいきぞす。

    į”ģ像
    ã–ãŖãã‚Šã—ãŸå›ŗ

    æŽĩ階1: ロãƒŧã‚ĢãƒĢで動く 「č‡Ē分ぎPCãŽä¸­ã ã‘ãŽčŠąã€

    Claude CodeでäŊœãŖãĻ、「動いたīŧã€ã¨ãĒるぎが、ぞずこぎæŽĩ階です。
    į”ģéĸがå‡ēる。ボã‚ŋãƒŗã‚’æŠŧすと反åŋœã™ã‚‹ã€‚動いãĻる。これは「あãĒたぎPCぎ中だけで動いãĻいるįŠļ態」です。
    äģ–ぎäēēからは、čĻ‹ãˆãžã›ã‚“ã€‚ã‚ãĒたぎPCを閉じたら、ã‚ĸプãƒĒもæ­ĸぞりぞす。
    ここでæē€čļŗã—ãĻると、「äēēãĢčĻ‹ã›ã‚‰ã‚ŒãĒい」でæ­ĸぞりぞす。「動くプロトã‚ŋイプ」æ­ĸぞり。
    よくある勘違いとしãĻは、「č‡Ē分ぎPCで動いたから、äģ–ぎäēēもčĻ‹ã‚Œã‚‹ã‚ˆã­īŧŸã§ããžã›ã‚“。あãĒたぎPCを24æ™‚é–“ã¤ã‘ãŖãąãĒしãĢしãĻ、č‡Ē厅ぎWi-Fiã‚’ä¸–į•ŒãĢ開攞する気がãĒい限り。

    į”ģ像

    でも、ロãƒŧã‚ĢãƒĢで動かせることč‡ĒäŊ“ãŒã€ã‚ãĄã‚ƒããĄã‚ƒéĸį™Ŋい時äģŖ

    「č‡Ē分ぎPCãŽä¸­ã§å‹•ãã€ãŖãĻ、æœŦåŊ“はもぎすごくč‡Ēį”ąãĒįŠļ態ãĒんですよ。
    昔は、ブナã‚Ļã‚ļä¸Šã§æ°—æŒãĄãŽã„ã„å‹•ãã‚„čĻ‹ãŸį›Žã‚’äŊœã‚‹ãŖãĻ、HTMLやJavaScriptã‚’ä¸€čĄŒãšã¤æ›¸ãæ›ãˆãĻ、ãƒĒロãƒŧドしãĻ、ぞた書き換えãĻ...ぎãƒĢãƒŧプで、äŊœã‚‰ãĒいといけãĒくãĻã€æ­Ŗį›´ã ã‚‹ã‹ãŖãŸã€‚ã ã‹ã‚‰ã€Œã¨ã‚Šã‚ãˆãšå‹•ãã‚‚ãŽã€ã‚’äŊœã‚‹ã¨ã“ろで力å°Ŋきる、というぎが、わりと晎通でした。
    それがäģŠã€AIãĢč‡Ēį„ļ言čĒžã§ã€Œã“ã“ãĢ動くグナフをčļŗã—ãĻ」「ここをドナッグでä¸Ļãŗæ›ŋえられるようãĢしãĻ」とé ŧめば、ã‚Ŧッとå‡ēãĻくる。ブナã‚Ļã‚ļä¸Šã§čĄ¨įžã§ãã‚‹ãƒĒッチさを、ようやくčĒ°ã§ã‚‚įžåŽŸįš„ãĢäŊŋい捨ãĻしãĻã‚‚į—›ããĒいåˇĨ数でäēĢ受できるようãĢãĒãŖãŸã‚“ã§ã™ã€‚ã“ã‚ŒãŒã‚ãĄã‚ƒããĄã‚ƒå¤§ãã„å¤‰åŒ–ã€‚
    ゚ナイドぎäģŖã‚ã‚ŠãĢロãƒŧã‚ĢãƒĢで動くWebペãƒŧジをäŊœãŖãĻãŋせるとかもできぞす。HTMLãŽãƒ•ã‚Ąã‚¤ãƒĢをブナã‚Ļã‚ļで開くだけです。ã‚ĩãƒŧバãƒŧをåģēãĻたりするåŋ…čĻã‚‚ã‚ã‚Šãžã›ã‚“ã€‚

    だから、ロãƒŧã‚ĢãƒĢで動かすフェãƒŧã‚ēč‡ĒäŊ“は、æœŦåŊ“ã¯éŠãŗå ´ã¨ã—ãĻ最é̘ãĒã‚“ã§ã™ã€‚ã€Œä¸–į•ŒãĢå‡ēせãĒã„ã‹ã‚‰ã‚ˇãƒ§ãƒœã„ã€ã˜ã‚ƒãĒくãĻ、「č‡Ē分ぎ頭ぎ中ぎįĩĩを、最速でåŊĸãĢできる場所」としãĻäŊŋえばいい。čŠĻčĄŒéŒ¯čĒ¤ãŽå›žčģĸ数が上がるから、上達も旊い。
    æŽĩ階1でæē€čļŗã—ãĻはいけãĒい、というよりは、æŽĩ階1ã‚’æ€ã„ãŖãã‚ŠæĨŊしんでから、æŽĩ階2ãĢé€˛ã‚“ã§ãã ã•ã„ã€ã¨č¨€ã†ãŽãŒæ­Ŗã—ã„ã‹ã‚‚ã—ã‚ŒãĒい。ロãƒŧã‚ĢãƒĢã§å‹•ã‹ã™æ„å‘ŗã¯ã€ã“ã“ãĢありぞす。

    æŽĩ階2: ã‚ĩãƒŧバãƒŧãĢ上げる ã€Œä¸–į•Œã‹ã‚‰čĻ‹ãˆã‚‹įŠļ態ãĢする」

    じゃあäēēãĢčĻ‹ã›ã‚‹ãĢã¯ãŠã†ã™ã‚‹ã‹ã€‚å°‘ã—å°‚é–€į”¨čĒžãƒãƒƒã‚¯ãĢč¨€ã†ã¨ã€Œã‚ĩãƒŧバãƒŧãĢä¸Šã’ã‚‹ã€ã¨č¨€ã„ãžã™ã€‚ã€Œãƒ‡ãƒ—ãƒ­ã‚¤ã™ã‚‹ã€ã¨ã‚‚č¨€ã„ãžã™ã€‚

    そもそも「ã‚ĩãƒŧバãƒŧã€ãŖãĻäŊ•

    ã‚ĩãƒŧバãƒŧãŖãĻč¨€č‘‰ã€čžã„ãŸã“ã¨ã¯ã‚ãŖãĻã‚‚å…ˇäŊ“įš„ãĒã‚¤ãƒĄãƒŧジが暧かãĒいäēē、わりといるんじゃãĒいでしょうか。先ãĢã–ãŖãã‚ŠæŠŧさえãĻおきぞす。
    ã‚ĩãƒŧバãƒŧã¯ã€ã€Œä¸–į•ŒãŽãŠã“ã‹ãĢã‚ã‚‹ã€ãšãŖã¨é›ģæēãŒå…ĨãŖãŸãžãžãŽã‚ŗãƒŗãƒ”ãƒĨãƒŧã‚ŋ」です。あãĒたぎPCとæœŦčŗĒįš„ãĢã¯åŒã˜ã‚ŗãƒŗãƒ”ãƒĨãƒŧã‚ŋãĒんですが、æąēåŽšįš„ãĢ違うぎは「24時間365æ—Ĩ、čĒ°ã‹ãŒã‚ĸクã‚ģ゚しãĻきたらすぐåŋœį­”できるįŠļ態で動きįļšã‘ãĻいる」こと。
    デãƒŧã‚ŋã‚ģãƒŗã‚ŋãƒŧとå‘ŧばれる大きいåģēį‰ŠãĢã€ã“ã†ã„ã†ã‚ŗãƒŗãƒ”ãƒĨãƒŧã‚ŋがäŊ•千台もä¸ĻんでいãĻã€ä¸–į•Œä¸­ãŽWebã‚ĩãƒŧビ゚は、おれもそういうã‚ĩãƒŧバãƒŧぎ上で動いãĻいぞす。あãĒたが晎æŽĩäŊŋãŖãĻいるNetflixも、Amazonも、Instagramも、全部、čĒ°ã‹ãŒį”¨æ„ã—ãŸã‚ĩãƒŧバãƒŧぎ上で動いãĻいる。
    で、あãĒたぎPCで「動いた!」とãĒãŖãĻいるã‚ĸプãƒĒã‚’ä¸–į•ŒãĢå‡ēすというぎは、čĻã™ã‚‹ãĢ「こぎäŊ•千台もあるã‚ĩãƒŧバãƒŧぎおれかãĢ、č‡Ē分ぎã‚ĸプãƒĒを䚗せる」ということãĒんです。

    ã§ã¯ã€ãŠã†ã‚„ãŖãĻ䚗せるぎか

    å…ˇäŊ“įš„ãĢは、あãĒたぎPCぎ中で動いãĻいたã‚ĸプãƒĒを、そぎ常時čĩˇå‹•しãĻいるã‚ĩãƒŧバãƒŧぎ上ãĢã‚ŗãƒ”ãƒŧしãĻ、URLをį™ēčĄŒã™ã‚‹ã€ã¨ã„ã†ã“ã¨ã‚’ã—ãžã™ã€‚
    これをやると、URLをįŸĨãŖãĻいるäēēãĒã‚‰ä¸–į•ŒãŽãŠã“ã‹ã‚‰ã§ã‚‚ã‚ĸクã‚ģ゚できるようãĢãĒりぞす。
    ここでį™ģ場するぎがVercelãŋたいãĒã‚ĩãƒŧビ゚です。
    Vercelã¯ã€ã‚‚ãŽã™ã”ãã–ãŖãã‚Šč¨€ã†ã¨ã€ã€Œã‚ãĒたぎã‚ĸプãƒĒã‚’ã€ä¸–į•Œã‹ã‚‰čĻ‹ãˆã‚‹įŠļ態ãĢしãĻãã‚Œã‚‹įŽąã€ã§ã™ã€‚GitHub(=ã‚ŗãƒŧドをäŋįŽĄã—ãĻおくためぎクナã‚Ļドã‚ĩãƒŧビ゚)ãĢįŊŽã„ãŸã‚ŗãƒŧドをč‡Ēå‹•ã§å–ãŖãĻきãĻ、ã‚ĩãƒŧバãƒŧãĢåą•é–‹ã—ãĻ、URLもį™ēčĄŒã—ãĻくれる。
    昔は、ã‚ĩãƒŧバãƒŧを借りãĻã€åœŸå°ãŽč¨­åŽšã‚’ã—ãĻã€ã‚ŗãƒŧドをįŊŽã„ãĻ、å…Ŧé–‹č¨­åŽšã‚’ã—ãĻ...と、äŊ•æ—Ĩもかかるäģ•äē‹ã§ã—た。äģŠã¯VercelãĢįš‹ã’ã°ã€æ–‡å­—é€šã‚Š5åˆ†ã§ä¸–į•Œå…Ŧ開できぞす。すごいね。

    į”ģ像

    こぎæŽĩéšŽã‹ã‚‰ã¯ã€ŒæŠ€čĄ“ãŽčŠąã€ã˜ã‚ƒãĒくãĻ、「åŋƒæ§‹ãˆãŽčŠąã€ã‚‚å…ĨãŖãĻきぞす

    ここがわりと大äē‹ãĒところ。
    「ロãƒŧã‚ĢãƒĢで動いãĻã„ã‚‹ã€ã¨ã€Œä¸–į•Œã‹ã‚‰čĻ‹ãˆã‚‹įŠļ態ãĢã‚ã‚‹ã€ã¯ã€æŠ€čĄ“įš„ãĢも違うんだけお、それäģĨ上ãĢäŊœã‚Šæ‰‹ãŽåŋƒæ§‹ãˆãŒå¤‰ã‚ã‚‹čģĸæ›į‚šãĒんです。
    ロãƒŧã‚ĢãƒĢで動かしãĻã„ã‚‹ã†ãĄã¯ã€č§ĻるぎはあãĒただけです。だから「č‡Ē分が分かる動かし斚をすればOK」「変ãĒå…Ĩ力はしãĒいからエナãƒŧå‡Ļį†ã¯é›‘ã§ã„ã„ã€ã€Œãƒ‡ãƒŧã‚ŋåŖŠã‚ŒãĻもč‡Ēåˆ†ãŒæŗŖãã ã‘ã€ã§æ¸ˆã‚€ã€‚
    ã§ã‚‚ã€ä¸–į•ŒãĢå‡ēしたįžŦ間、č§ĻるäēēはあãĒただけじゃãĒくãĒる。「č‡Ēåˆ†ã ã‘åˆ†ã‹ã‚Œã°ã„ã„ã€ãŒä¸€åˆ‡é€šį”¨ã—ãĒくãĒるんです。

    • æƒŗåŽšã—ãĻいãĒいäŊŋい斚をされる

    • æƒŗåŽšã—ãĻいãĒいå…ĨåŠ›ãŒéŖ›ã‚“ã§ãã‚‹

    • æ‚Ēæ„ã‚’æŒãŖãĻåŖŠã—ãĢくるäēēもいる

    • ゚マホからもã‚ŋブãƒŦットからもč§Ļられる

    • äŊ•äēēかが同時ãĢã‚ĸクã‚ģ゚する

    • įŸĨらãĒいäēēãŒãƒ­ã‚°ã‚¤ãƒŗã—ã‚ˆã†ã¨ã™ã‚‹

    これ全部、ロãƒŧã‚ĢãƒĢã§ã¯č€ƒãˆãĒくãĻã‚ˆã‹ãŖãŸčŠąã§ã™ã€‚ä¸–į•ŒãĢå‡ēしたįžŦé–“ã€å…¨éƒ¨č€ƒãˆãĒいといけãĒくãĒる。
    「動いãĻる」ぎãƒŦベãƒĢが、「č‡Ē分ぎ手元で、æąēãžãŖãŸæ“äŊœã‚’したら動く」から、「čĒ°ãŒãŠã†č§ĻãŖãĻも、ãĒんとか動きįļšã‘る」ãĢ上がる。ここぎæŽĩåˇŽãŒã€ã‚ã‚Šã¨æ€ĨãĒんですよ。
    AIãĢã€Œä¸–į•Œå…Ŧ開しãĻ」とé ŧんだら、VercelãĢįŊŽãã¨ã“ã‚ãžã§ã¯ã‚„ãŖãĻãã‚Œãžã™ã€‚ã§ã‚‚ã€ã€Œä¸į‰šåŽšå¤šæ•°ãĢč§ĻられãĻã‚‚č€ãˆã‚‹č¨­č¨ˆã€ãžã§ã¯ã€å‹æ‰‹ãĢã¯ã‚„ãŖãĻくれãĒい。ここはあãĒたぎåŋƒæ§‹ãˆã¨ã—ãĻã€æŒãŖãĻおかãĒいといけãĒい。
    大変そうだãĒãƒŧと思いぞしたかīŧŸã§ã‚‚原際ãĢč‡Ē分ぎäŊœãŖãŸã‚‚ぎãŋたäēēã‹ã‚‰ã‚ŗãƒĄãƒŗãƒˆã¨ã‹ã‚‚ã‚‰ãˆã‚‹ã¨ã‚ãĄã‚ƒããĄã‚ƒåŦ‰ã—いし、č‡Ē分ごとぎようãĢã‚‚ãŖã¨č‰¯ãã—ãŸã„īŧãŖãĻãĒりぞすよīŧ

    ã‚ĩãƒŧバãƒŧãĢは「äŊ•を」上げãĻいるぎか

    もう一つ、æŽĩ階2ãĢįĩĄã‚“でįŸĨãŖãĻおくと厉åŋƒãĒčŠąã€‚
    「ã‚ĩãƒŧバãƒŧãĢä¸Šã’ã‚‹ã€ãŖãĻã€å…ˇäŊ“įš„ãĢは「あãĒãŸãŽãƒ—ãƒ­ã‚¸ã‚§ã‚¯ãƒˆãŽãƒ•ã‚Ąã‚¤ãƒĢ一åŧã‚’、丸ごとã‚ĸップロãƒŧドする」ことãĒんですよ。「ã‚ĸプãƒĒãŽå‹•ãéƒ¨åˆ†ã ã‘ã€ãŒé­”æŗ•ãŽã‚ˆã†ãĢ選ばれãĻ上がるんじゃãĒくãĻ、プロジェクトフりãƒĢダぎ中čēĢãŒã€ãžã‚‹ãŖã¨ã‚ĩãƒŧバãƒŧãĢäš—ãŖã‹ã‚‹ã€‚
    だから、開į™ēä¸­ãŽãƒĄãƒĸ、テ゚トデãƒŧã‚ŋ、APIキãƒŧ(=外部ã‚ĩãƒŧビ゚ãĢæŽĨįļšã™ã‚‹ãŸã‚ãŽéĩ)ãŒæ›¸ã‹ã‚ŒãŸč¨­åŽšãƒ•ã‚Ąã‚¤ãƒĢ、こういうもぎもäŊ•ã‚‚č€ƒãˆãšãĢä¸Šã’ã‚‹ã¨ã€ä¸€įˇ’ãĢä¸ŠãŒãŖãĻしぞうことがありぞす。
    「ãƒĒãƒŗã‚¯ã‚’åŧĩãŖãĻãĒいからčĒ°ã‚‚čĻ‹ãĒã„ã§ã—ã‚‡ã€ã‚‚é€šį”¨ã—ãžã›ã‚“ã€‚URLは推æ¸Ŧされぞす。たとえば `/admin` `/test.html` `/.env` ãŋたいãĒパ゚をčŠĻしãĢ及くäēēは、晎通ãĢいぞす。äŊ•ぎäŋč­ˇã‚‚しãĻãĒいと、čĻ‹ã‚‰ã‚ŒãĻåŊ“į„ļです。
    ã ã‹ã‚‰ã€ä¸–į•ŒãĢå‡ēすときは「å…Ŧ開しãĻã„ã„ãƒ•ã‚Ąã‚¤ãƒĢ」「å…Ŧ開しãĻはいけãĒã„ãƒ•ã‚Ąã‚¤ãƒĢã€ã‚’æ„č­˜ã—ãĻã€åžŒč€…ã‚’é™¤å¤–ã™ã‚‹ã€‚ã“ã‚Œã‚‚ã€ãƒ­ãƒŧã‚ĢãƒĢã§ã¯č€ƒãˆãĒくãĻã‚ˆã‹ãŖãŸã‘ãŠã€ä¸–į•ŒãĢå‡ēしたįžŦ間ãĢ向き合うことãĢãĒã‚‹ã€å…¸åž‹įš„ãĒčŠąã§ã™ã€‚
    こぎ指į¤ēãŽæ–šæŗ•ã¯AIãĢčžã‘ã°æ•™ãˆãĻãã‚Œãžã™ã€‚ãã†č¨€ã†ã“ã¨ãŒã‚ã‚‹ã‚“ã īŧã¨č¨€ã†ã“とだけįŸĨãŖãĻいãĻくれればã‚Ēãƒƒã‚ąãƒŧです。

    æŽĩ階3: デãƒŧã‚ŋを持つ 「äŋå­˜ã€ã‚’åŽŸčŖ…ã™ã‚‹

    æŦĄãŽæŽĩ階。
    æŽĩ階1〜2ぎã‚ĸプãƒĒは、「į”ģéĸã‚’čĄ¨į¤ēするだけ」「ボã‚ŋãƒŗã‚’æŠŧã™ã¨č¨ˆįŽ—įĩæžœã‚’čŋ”すだけ」ãŋたいãĒ、デãƒŧã‚ŋを永įļšåŒ–(ãžãŸå°‘ã—é›Ŗã—ã„č¨€č‘‰)しãĒã„ã‚‚ãŽã§ã™ã€‚ãŸã¨ãˆã°ã€č¨ˆįŽ—æŠŸã‚ĸプãƒĒとか、占いã‚ĸプãƒĒ(ããŽå ´ã§ãƒŠãƒŗãƒ€ãƒ ãĢįĩæžœã‚’čŋ”すだけ)とか、äŊ•ã‹ãŽæƒ…å ąã‚’ãŸã čĄ¨į¤ēするだけぎペãƒŧジとか。
    でも、世ぎ中ぎ多くぎã‚ĸプãƒĒ、ToDoãƒĒ゚ト、SNS、ブログ、åŽļ計į°ŋ、ECã‚ĩイト、č¨ē断ã‚ĸプãƒĒ、は、デãƒŧã‚ŋをäŋå­˜ã—たい。ãƒĻãƒŧã‚ļãƒŧが書きčžŧんだ内厚をčĻšãˆãĻいãĻãģしい。æŦĄãĢé–‹ã„ãŸã¨ãã‚‚æŽ‹ãŖãĻいãĻãģã—ã„ã€‚ãƒ­ã‚°ã‚¤ãƒŗã—ãĻãƒĻãƒŧã‚ļãƒŧごとãĢ違うį”ģéĸをå‡ēしたいというčρäģļがå‡ēãĻきぞす。

    ã“ã‚Œã‚’åŽŸįžã™ã‚‹ãĢは、デãƒŧã‚ŋベãƒŧ゚というもぎがåŋ…čĻã§ã™ã€‚ã“ã“ã§į™ģ場するぎがSupabaseãŋたいãĒã‚ĩãƒŧビ゚です。
    Supabaseã¯ã€ã‚‚ãŽã™ã”ãã–ãŖãã‚Šč¨€ã†ã¨ã€ã€Œãƒ‡ãƒŧã‚ŋぎ倉åēĢīŧ‹čĒč¨ŧぎäģ•įĩ„ãŋを、ぞとめãĻč˛¸ã—ãĻくれるäēē」です。デãƒŧã‚ŋをäŋå­˜ã™ã‚‹å ´æ‰€ã¨ã€ãƒĻãƒŧã‚ļãƒŧãŒãƒ­ã‚°ã‚¤ãƒŗã™ã‚‹äģ•įĩ„ãŋと、それらを操äŊœã™ã‚‹å‘Ŋäģ¤ãŽįĒ“åŖã‚’ã€ãœã‚“ãļã‚ģãƒƒãƒˆã§æŒãŖãĻいる。
    これも昔は、č‡Ē分でデãƒŧã‚ŋベãƒŧ゚をįĢ‹ãĻãĻ、čĒč¨ŧをäŊœã‚Ščžŧんで、APIを書いãĻ...とäŊ•é€ąé–“ã‚‚ã‹ã‹ã‚‹äģ•äē‹ã§ã—た。SupabaseをäŊŋうと、それを数分でã‚ģットã‚ĸップできぞす。すごいね。
    「VercelãĢä¸ŠãŒãŖãĻいるけお、デãƒŧã‚ŋを持たãĒいã‚ĸプãƒĒ」と「SupabaseãĢįš‹ã„ã§ãƒ‡ãƒŧã‚ŋを持つã‚ĸプãƒĒã€ã¯ã€é›Ŗæ˜“åēĻが一æŽĩ上がりぞす。デãƒŧã‚ŋãŽč¨­č¨ˆã€čĒč¨ŧãŽč¨­č¨ˆã€čĒ°ãŒãŠãŽãƒ‡ãƒŧã‚ŋãĢã‚ĸクã‚ģã‚šã§ãã‚‹ã‹ãŽč¨­č¨ˆã€‚č€ƒãˆã‚‹ã“ã¨ãŒæ€ĨãĢåĸ—えぞす。

    デãƒŧã‚ŋぎ構造は、垌から変更をå…Ĩれるぎが大変です

    ã“ã“ã§ã˛ã¨ã¤å¤§äē‹ãĒčŠąã‚’ã—ãĻおきぞす。
    デãƒŧã‚ŋぎ構造は、垌から変更をå…Ĩã‚Œã‚‹ãŽãŒã€ã‚ãĄã‚ƒããĄã‚ƒå¤§å¤‰ã§ã™ã€‚
    į”ģéĸぎデã‚ļã‚¤ãƒŗãĒら、変えたければHTMLã‚’æ›¸ãæ›ãˆã‚‹ã ã‘ã§æ¸ˆã‚€ã€‚č‰˛ã‚’å¤‰ãˆã‚‹ã€ãƒœã‚ŋãƒŗãŽäŊįŊŽã‚’動かす、これは気čģŊãĢできる。
    でも、デãƒŧã‚ŋぎåŊĸを変えるとãĒã‚‹ã¨ã€čŠąãŒé•ã„ãžã™ã€‚ã€Œã™ã§ãĢäŋå­˜ã•れãĻいるデãƒŧã‚ŋをおうするか」「ã‚ĸプãƒĒ全äŊ“ぎおこを書き換えるåŋ…čĻãŒã‚ã‚‹ã‹ã€ã€Œãƒ‡ãƒŧã‚ŋã‚’åŖŠã•ãšãĢį§ģčĄŒã§ãã‚‹ã‹ã€ã€Œã“ãŽãƒ‡ãƒŧã‚ŋã‚’ãŠã“ã§å‚į…§ã—ãĻいるか洗いå‡ēす」ãĒãŠã‚’ã€å…¨éƒ¨č€ƒãˆãĒいといけãĒい。動いãĻいるã‚ĩãƒŧビ゚ぎデãƒŧã‚ŋ構造を変えるぎは、čĩ°ãŖãĻいるバ゚ぎã‚ŋイヤをåąĨきæ›ŋえるようãĒもぎです。
    ãĒぎで、デãƒŧã‚ŋč¨­č¨ˆã ã‘ã¯ã€ã§ãã‚Œã°æœ€åˆãĢ時間をかけãĻãŋãĻください。「あとでこういうäŊŋい斚されるかãĒ」「ãƒĻãƒŧã‚ļãƒŧごとãĢäŊ•ã‚’čĻšãˆãĻおいãĻãģしいかãĒ」「将æĨこういう抟čƒŊをčļŗã—たくãĒるかãĒã€æ‹Ąåŧĩぎ可čƒŊæ€§ã‚’č€ƒãˆã‚‹ãƒ•ã‚§ãƒŧã‚ēを、ここは厚めãĢ取る。これもAIãĢ劊けãĻã‚‚ã‚‰ãŖãĻください。
    â€Ļã¨ã¯ã„ãˆã€æ­Ŗį›´ã“ã†ã„ã†ãŽãŖãĻã€å¤ąæ•—ã—ãĒいと分からãĒã„ã‚“ã§ã™ã‚ˆã­ã€‚ã ã‹ã‚‰ã€å¤ąæ•—ã—ãŸã‚‰ã„ã„ã‚“ã§ã™ã‚ˆã€‚æœ€åˆã‹ã‚‰åŽŒį’§ãĒ設計ãĒんãĻ、おんãĒå‡„č…•ã‚¨ãƒŗã‚¸ãƒ‹ã‚ĸã§ã‚‚į„Ąį†ã§ã™ã€‚ãŸã ã€Œãƒ‡ãƒŧã‚ŋぎ構造をあとから変えるぎは、だるい」、これだけčĻšãˆãĻãŠã‘ã°ã€ãƒãƒžãŖãŸã¨ããĢã€Œã‚ã€ã“ã‚ŒãŒã‚ãŽčŠąã‹ã€ã¨æ€ã„å‡ēせる。それで十分です。

    į”ģ像

    į™ģå ´äēēį‰ŠãŽæ•´į†

    ここぞでå‡ēãĻきたį™ģå ´äēēį‰Šã‚’ã€æ”šã‚ãĻä¸Ļずぞす。

    Claude Code / Codex ãŋたいãĒ開į™ē支援AI

    あãĒãŸãŽæ‰‹å…ƒã§ã€ã‚ŗãƒŧドを書くぎを手äŧãŖãĻãã‚Œã‚‹į›¸æŖ’ã€‚č¨­č¨ˆãŽãŸãŸãã‚‚ã€ã‚ŗãƒŧãƒ‰ããŽã‚‚ãŽã‚‚ã€æ–‡č¨€ã‚‚ã€AIãŒä¸€įˇ’ãĢäŊœãŖãĻくれる。これがãĒã‹ãŖãŸæ™‚äģŖãĢ比ずãĻ、最初ぎ「動くもぎ」ぞでぎ時間が、10分ぎ1とか、それäģĨ下ãĢãĒãŖãŸã€‚

    Vercel(ぎようãĒ、デプロイã‚ĩãƒŧビ゚)

    あãĒãŸãŽã‚ŗãƒŧãƒ‰ã‚’ã€ä¸–į•Œã‹ã‚‰čĻ‹ãˆã‚‹įŠļ態ãĢしãĻãã‚Œã‚‹įŽąåą‹ã•ã‚“ã€‚ã‚ĩãƒŧバãƒŧぎéĸ倒を全部čĻ‹ãĻくれる。あãĒãŸã¯ã‚ŗãƒŧドだけ書けばいい。

    Supabase(ぎようãĒ、デãƒŧã‚ŋベãƒŧ゚īŧ‹čĒč¨ŧã‚ĩãƒŧビ゚)

    デãƒŧã‚ŋぎ倉åēĢと、ãƒĻãƒŧã‚ļãƒŧčĒč¨ŧぎäģ•įĩ„ãŋを、ぞとめãĻč˛¸ã—ãĻくれるæĨ­č€…ã•ã‚“ã€‚ã€Œãƒ­ã‚°ã‚¤ãƒŗã™ã‚‹ã€ã€Œãƒ‡ãƒŧã‚ŋをäŋå­˜ã™ã‚‹ã€ã€Œãƒ‡ãƒŧã‚ŋを取りå‡ēす」ãŋたいãĒことを、おäģģせできる。
    これらがįĩ„ãŋåˆã‚ã•ãŖãĻ、初めãĻã€Œä¸–į•ŒãĢå…Ŧ開された、デãƒŧã‚ŋを持つã‚ĸプãƒĒ」ができあがりぞす。
    Claude Code/Codexが「äŊœã‚‹ã€ã‚’、Vercelが「å…Ŧ開する」を、Supabaseが「čĻšãˆã‚‹ã€ã‚’ã€ãã‚Œãžã‚Œæ‹…åŊ“しãĻいる、とčĻšãˆã‚‹ã¨ã‚ˇãƒŗãƒ—ãƒĢです。

    [固7: åŊšå‰˛åˆ†æ‹…ãŽæ•´į†ã€‚AI=「äŊœã‚‹ã€ã€Vercel=「å…Ŧ開する」、Supabase=「čĻšãˆã‚‹ã€ã‚’ã€ä¸‰ã¤ãŽįŽąã§ä¸Ļずる]

    åœ°å›ŗã‚’æŒãŖãĻいると、AIãĢé ŧã‚ã‚‹į˛žåēĻが上がる

    ãĒã‚“ã§ã“ãŽåœ°å›ŗã‚’įŸĨãŖãĻおくずきか。
    ここをįŸĨらãĒいと、AIãĢ寞しãĻįš„įĸēãĒ指į¤ēがå‡ēせãĒいんですよ。
    ãŸã¨ãˆã°ã€Œãƒ­ã‚°ã‚¤ãƒŗæŠŸčƒŊをčŋŊ加しãĻ」とé ŧんだとしぞす。AIは「おこãĢäŋå­˜ã™ã‚‹ãŽã‹ã€ã€ŒãŠãŽčĒč¨ŧæ–šåŧã‚’äŊŋうぎか」「Supabaseã¨įš‹ããŽã‹åˆĨãŽæ–šæŗ•ã‹ã€ãŋたいãĒことを、勝手ãĢæąēめãĻäŊœã‚Šå§‹ã‚ã‚‹ã€‚それがåĻĨåŊ“ãĒ選択かおうか、判断できãĒいと、垌で困るかもしれぞせん。
    逆ãĢ、「SupabaseãĢįš‹ã„ã§ãƒĄãƒŧãƒĢã‚ĸドãƒŦã‚šã§ãƒ­ã‚°ã‚¤ãƒŗã§ãã‚‹ã‚ˆã†ãĢしãĻ、ãƒĻãƒŧã‚ļãƒŧæƒ…å ąãŽãƒ†ãƒŧブãƒĢ(=デãƒŧã‚ŋãŽčĄ¨)はこういう構造で」と指į¤ēできれば、AIã¯į˛žåēĻéĢ˜ãå‹•ã„ãĻくれる。
    全äŊ“ãŽåœ°å›ŗã‚’æŒãŖãĻいることが、AIã‚’įš„įĸēãĢå‹•ã‹ã™æĄäģļãĒんですよ。「AIãĢäģģã›ã‚Œã°å…¨éƒ¨ã‚„ãŖãĻくれる」じゃãĒくãĻã€ã€Œåœ°å›ŗã‚’æŒãŖãĻいるäēēが、AIãĢæ­Ŗã—ãé ŧã‚ã‚‹ã€ãŒįžåŽŸã§ã™ã€‚

    おこからå­Ļずばいいか

    ここぞでčĒ­ã‚“ã§ã€ã€Œã‚‚ã†å°‘ã—ãĄã‚ƒã‚“ã¨įŸĨã‚ŠãŸã„ã€ã¨æ€ãŖãŸäēēへ。
    おすすめは2つです。
    ã˛ã¨ã¤ã¯ã€Webã‚¨ãƒŗã‚¸ãƒ‹ã‚ĸぎå…Ĩ門書を一冊čĒ­ã‚€ã“ã¨ã€‚ãƒ—ãƒ­ã‚°ãƒŠãƒŸãƒŗã‚°ãŽæœŦではãĒく、「Webã‚ĸプãƒĒã‚ąãƒŧã‚ˇãƒ§ãƒŗå…¨äŊ“ぎäģ•įĩ„ãŋã€ã‚’æ‰ąã†æœŦ。「Webã‚’æ”¯ãˆã‚‹æŠ€čĄ“ã€ã¨ã‹ã€Œãƒ—ãƒ­ãĢãĒるためぎWebæŠ€čĄ“å…Ĩ門」ãŋたいãĒã€ãƒ­ãƒŗã‚°ã‚ģナãƒŧぎ古典がäŊ•å†Šã‹ã‚ã‚Šãžã™ã€‚ã‚ŗãƒŧドを書けるようãĢãĒるåŋ…čĻã¯ãĒいけお、こういうæœŦを一冊通せば、「あ、こういうäģ•įĩ„ãŋで動いãĻã‚‹ãŽã­ã€ã¨ã„ã†åœ°å›ŗãŒã ã„ãŸã„é ­ãĢå…Ĩã‚Šãžã™ã€‚æ­Ŗį›´ã„ããĒりčĒ­ã‚“ã§ã‚‚įĩæ§‹ãã¤ã„と思うぎで、こぎnoteå‚č€ƒãĢしãĻã‚‚ã‚‰ãŖãŸã‚Šã€åŽŸéš›ãĢAIãĢäŊœã‚‰ã›ã‚‹ã§ã„いぎで、äŊ•かäŊœã‚‰ã›ãĻからčĒ­ã‚“ã æ–šãŒã„ã„ã¨æ€ã„ãžã™ã€‚

    ã‚‚ã†ã˛ã¨ã¤ã¯ã€åŽŸéš›ãĢ小さく一個äŊœãŖãĻデプロイすること。Claude Codeを開いãĻ、VercelãĢįš‹ã„ã§ã€SupabaseãĢįš‹ã„ã§ã€ã€ŒToDoãƒĒ゚ト」ãŋたいãĒ小さいã‚ĸプãƒĒを一個äŊœãŖãĻã€ä¸–į•ŒãĢå…Ŧ開しãĻãŋる。「ToDoãƒĒ゚ト」で全į„ļã„ã„ã‚ˆã€‚å…¨ä¸–į•ŒãĢå…Ŧ開しãĒ。
    ã‚„ãŖãĻãŋã‚‹ã¨ã€ã€Œã‚ã€ã“ã‚ŒãŒã€Žãƒ‡ãƒ—ãƒ­ã‚¤ã€ãŖãĻやつね」「これが『デãƒŧã‚ŋベãƒŧ゚ãĢäŋå­˜ã™ã‚‹ã€ãŖãĻã‚„ã¤ã­ã€ã¨ã€é ­ãŽåœ°å›ŗãĢč‰˛ãŒäģ˜ããžã™ã€‚
    æœŦだけだとæŠŊčąĄįš„ã€æ‰‹ã ã‘å‹•ã‹ã—ãĻã‚‚æ–­į‰‡įš„ã€‚ä¸Ąæ–šã‚„ã‚‹ã¨ã€įĢ‹äŊ“ãĢãĒる。

    とりあえずホムペでもいいです。

    最垌ãĢ

    įš°ã‚Ščŋ”しãĢãĒりぞすが、AIでäŊ•かをäŊœã‚ã†ã¨ã—たとき、「動いたīŧã€ãžã§ã¯įˆ†é€Ÿã§æĨã‚Œãžã™ã€‚ã§ã‚‚ã€ã€Œä¸–į•ŒãĢčĻ‹ã›ã‚‹ã€ã€Œãƒ‡ãƒŧã‚ŋã‚’æŒã¤ã€ãžã§ã¯ã€åœ°å›ŗãŒãĒいäēēãĢはわりとハãƒŧドãƒĢがありぞす。
    逆ãĢã€åœ°å›ŗã•ãˆã‚ã‚Œã°ã€ããŽå…ˆã‚‚é€˛ã‚ã‚‹ã‚ˆã†ãĢãĒã‚‹ã€‚ã‚ŗãƒŧドは書けãĒくãĻいい。でも、「č‡Ē分ぎã‚ĸプãƒĒは、äģŠãŠãŽæŽĩ階ãĢいるぎか」「æŦĄãŽæŽĩ階ãĢé€˛ã‚€ãĢは、おぎã‚ĩãƒŧビ゚をäŊŋうぎか」がわかると、AIãĢé ŧã‚ã‚‹į˛žåēĻが一æŽĩ上がりぞす。
    冒頭ãĢも書いたとおり、「先ãĢ動かせãĻ、垌からäģ•įĩ„ãŋをįŸĨã‚Œã‚‹ã€ãŖãĻã€č‰¯ã„æ™‚äģŖã ãĒã¨æ€ãŖãĻるんですよ。äģ•įĩ„ãŋからå…Ĩã‚‹ãŽã¯é€€åąˆãĢãĒã‚ŠãŒãĄã§ã€įļšã‹ãĒい。でも、č‡Ē分が手で動かしたあぎã‚ĸプãƒĒãŒã€čŖã§ãŠã†å‹•ã„ãĻいたぎかをįŸĨる、ãĒã‚‰čˆˆå‘ŗãŒæŒįļšã™ã‚‹ã€‚čĒ­ã‚“ã§ãĻ「あ、これはč‡Ē分がäŊœãŖãŸã‚ぎã‚ĸプãƒĒãŽã‚ã‚Œã‹ã€ã¨ä¸€å€‹ã§ã‚‚įš‹ãŒã‚‹įžŦé–“ãŒã‚ãŖãŸãĒら、そぎæĩã‚Œã§ä¸€å†ŠæœŦをčĒ­ã‚“ã§ãŋãĻください。一気ãĢåœ°å›ŗãĢč‰˛ãŒäģ˜ãã¯ãšã§ã™ã€‚

    あと、ä슿—Ĩはč§ĻれãĒã‹ãŖãŸã‘ãŠå¤§äē‹ãĒčŠąã‚‚ãŸãã•ã‚“ã‚ã‚Šãžã™ã€‚ã‚ģキãƒĨãƒĒãƒ†ã‚ŖãŽčŠąã€ã‚­ãƒŖãƒƒã‚ˇãƒĨãŽčŠąã€ãƒ‡ãƒŧã‚ŋがすごくåĸ—えãĻããŸã¨ããŽčŠąã€‚ãŠã‚Œã‚‚ã€ã‚ã‚‹æŽĩ階をčļ…えると一気ãĢ重ãŋがåĸ—しãĻきぞす。Webã‚ĸプãƒĒãŽä¸–į•ŒãŒã‚‚ã†ä¸€æŽĩæˇąããĒãŖãĻã‹ã‚‰ãŽčŠąãĒぎで、ä슿—Ĩã¯įœããžã—ãŸã€‚æ°—ãĢãĒãŖãŸæ–šã¯ã€ã“ã‚Œã‚‚åˆĨぎå…Ĩ門書を一冊čĒ­ã‚€ãĒã‚Šã€ãƒãƒžãŖãŸã¨ããĢčĒŋずるãĒりしãĻ、č‡Ē分ぎペãƒŧã‚šã§é€˛ã‚ãĻãŋãĻください。

    それから、外ãĢå…Ŧ開したり、デãƒŧã‚ŋベãƒŧ゚ぎようãĒミドãƒĢã‚Ļェã‚ĸ(čŖæ–šãŽã‚Ŋフトã‚Ļェã‚ĸãŸãĄ)をäŊŋい始めると、「開į™ēį’°åĸƒã€ã¨ã€ŒæœŦį•Ēį’°åĸƒã€ã€ããŽé–“ãĢ「゚テãƒŧã‚¸ãƒŗã‚°į’°åĸƒã€ã‚’į”¨æ„ã™ã‚‹ã€ãŋたいãĒčŠąã‚‚å‡ēãĻきぞす。æœŦį•Ēぎデãƒŧã‚ŋをč§ĻらずãĢ、厉全ãĢčŠĻせる場所をåˆĨã§æŒãŖãĻãŠãã€ã¨ã„ã†ã“ã¨ã§ã™ã­ã€‚ã“ã‚Œã‚‚ã€ã‚ã‚‹į¨‹åēĻぎčĻæ¨Ąæ„ŸãĢãĒãŖãĻからæœŦæ°—ã§č€ƒãˆã‚‹čŠąãĒぎで、ä슿—Ĩはč§ĻれãĻいぞせん。

    「AIでčĒ°ã§ã‚‚ã‚ĸプãƒĒäŊœã‚Œã‚‹ã€ãŋたいãĒ雑ãĒč¨€ã„æ–šã§ã¯ãĒãã€ãĄã‚ƒã‚“ã¨AIをäŊŋいこãĒしたいäēēãĢã¨ãŖãĻãŽã€æœ€åˆãŽåœ°å›ŗã¨ã—ãĻčĒ­ã‚“ã§ã‚‚ã‚‰ãˆã‚‹ã¨åŦ‰ã—いです。


    あãĒたへぎおすすめ