スクールで最初に触ったのは Flask と Django でした。
決められた場所にファイルを置いて、決められた書き方をすると、ページが出ます。 出るのですが、なぜ出るのかは分かりません。 どこを直せば何が変わるのかも分かりませんでした。
いま振り返ると、私が受け取っていたのは完成した仕組みの使い方でした。 その仕組みが何を肩代わりしているのかは、教わっていません。
誰のデータかを扱う#
道具の話をする前に、もう一段挟みます。
前の段まででデータは残るようになりました。 ここまでは、誰が見ても同じものが見えている状態です。 複数の人が使うことを考えると、自分のものと他人のものを分ける必要が出てきます。
そこで初めて、ログインの話が要ります。 なぜ隠す必要があるのか、という問いが立ってから入ると、これも答えとして届きます。
この段でも、便利な仕組みを挟まずに一度手で扱います。 ブラウザに小さな値を渡して、次に来たときにその値を確かめる。 その値を持っていない人には返さない。 やっていること自体は、これだけです。
手で書いてみると、なぜこの値を人に見られてはいけないのかが分かります。 説明で聞いていた頃は、ここが分かりませんでした。
ここで道具を使う#
ここまで来て、ようやくフレームワークを使います。
同じものを道具の上で書き直すと、自分が手で書いていた部分がごっそり消えます。 消えた部分が、その道具が肩代わりしてくれているところです。
何が隠れているかを知った状態で使うと、道具は近道になります。知らない状態で使うと、直せない箇所が増えるだけでした。
私が Flask で止まったのは、道具が悪かったからではありません。 隠されている中身を一度も見ないまま、隠蔽の上に立たされたからでした。
AIに書かせる場合も同じ位置#
この段には、AI にコードを書かせることも入ります。
理由はフレームワークと同じです。 どちらも、自分がやるはずだった判断を肩代わりしてくれます。 肩代わりされている中身を知らないと、出てきたものを評価できません。
いま自分が AI に指示を出せているのは、この連載の各段で一度は手で書いたことがあるからだと考えています。 値の持ち方を選んだこと、呼ぶ側と呼ばれる側を自分で用意したこと、表の形を作り直したこと。 その一つ一つが、提案を見たときに「そこは違う」と言うための足場になっています。
使わない理由ではない#
念のため書いておくと、道具を使うなという話ではありません。
私は今でも、ほとんどの仕事を道具と AI に任せています。 最初から任せた場合に、任せたものを戻せなくなる、という順番の話をしています。
どこまで自分で書いてから任せるかは、作るものによって変わります。 一度も自分で書いていない部分については、私は判断ができませんでした。