AI任せのWeb開発奮闘記【第37話】

『深夜のフィルタリング機能改修』

残業を終えて帰宅したTAKAは、いつものように自宅のデスクトップPCの前に座っていた。今夜はフィルタリング機能の改修に取り組むことになっている。

TAKA: 「えーと、フィルタリングが動かないって…どうしよう」

TAKA:(心の声)「めんどくさいなぁ…AI老師さん、助けて!」

AI老師: 「また安易な依存かね。フィルタリング機能は重要な機能だ。自分で考えてみたらどうかな?」

TAKA: 「でも、JavaScriptのイベントリスナーとか難しくて…」

『AI老師、今日は厳しめの指導』

AI老師: 「君はいつも理解を避けようとする。今日は少し厳しく指導させてもらおう」

TAKA: 「え?いつもみたいにコードを教えてくれればいいじゃないですか…」

AI老師: 「いいや、それではダメだ。まず、なぜフィルタリング機能が必要なのか、考えてみたまえ」

TAKA: 「え?それは…ユーザーが見たい動画を探しやすくするため…ですか?」

AI老師: 「その通り。では、どんな条件でフィルタリングすると便利だと思う?」

『予想外の気づき』

TAKA: 「うーん…そういえば、昨日Amazonで商品を探すとき、評価と価格でフィルターかけましたよ」

AI老師: 「おや?良い気づきだね。では、動画の場合は何でフィルタリングすると便利かな?」

TAKA: 「評価とか…再生回数とか?あと、新しい順とか古い順とか?」

AI老師: 「その通り!身近な例から機能を考えることができたね」

『深夜のコーディング』

TAKA: 「じゃあ、コードをコピペして…」

AI老師: 「待ちなさい!今回は一緒に考えながら実装していこう。まず、HTMLのセレクトボックスから考えてみよう」

TAKA: 「えー…でも」

AI老師: 「さっきのAmazonを思い出してごらん。フィルターはどんな見た目だった?」

TAKA: 「あ!確かにプルダウンメニューでしたね。selectタグを使えばいいんだ!」

『イベントリスナーの謎』

TAKA: 「でも、JavaScriptのイベントリスナーって何をすればいいんですか?」

AI老師: 「そうだな…例えば、Amazonでフィルターを変更したとき、何が起こる?」

TAKA: 「商品の一覧が…あ!表示が変わりますね!」

AI老師: 「その通り!つまり、セレクトボックスの値が変更されたときに、表示を更新する処理が必要というわけだ」

『深夜の発見』

TAKA: 「なるほど!じゃあ、addEventListener(‘change’, …)みたいな感じですかね?」

AI老師: 「おや?随分詳しいじゃないか」

TAKA: 「いや、これは…前にコピペしたコードに書いてあって…」

AI老師: 「はは、でも今回は理解して使おうとしているね。その調子だ」

『予想外の展開』

TAKA: 「よし、イベントリスナーを追加して…あれ?」

AI老師: 「どうしたんだい?」

TAKA: 「なんか、フィルターを選んでも表示が変わらないです…」

AI老師: 「そうだね。では、デベロッパーツールを開いてエラーを確認してみよう」

TAKA: 「え?デベロッパーツール?」

AI老師: 「ブラウザのF12キーを押してごらん。エラーメッセージが表示されているはずだ」

『深夜のデバッグ』

TAKA: 「あ!本当だ。”Cannot read properties of null”…って出てます」

AI老師: 「よし、これは要素が見つからないというエラーだ。HTMLの要素とJavaScriptの参照が合っているか確認してみよう」

TAKA: 「あ!idの名前が違ってました!」

AI老師: 「その通り!デバッグの基本を学んだね」

『深夜の成長』

AI老師: 「今日は随分と成長したね。コピペではなく、理解しながら実装することができた」

TAKA: 「はい…なんか、身近なものと比べて考えると、少し分かった気がします」

AI老師: 「そう、プログラミングは特別なものではない。日常生活の中にヒントがたくさんあるんだよ」

【AI任せプログラマーTAKAの今日のひとこと】

「今日は珍しく自分で考えて実装できた…かも。Amazonのフィルター機能を参考にしたら、なんとなく理解できた。デバッグも怖くなくなってきた?でも明日からはやっぱりAI老師さん頼みかな…いや、でも、ちょっとだけ自分でも考えてみようかな…」なんで心にもないことをつぶやいてみた丑三つ時。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です