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

ワイヤーフレームから実装への挑戦

今回は、kakaku.comを参考にしたワイヤーフレームを基に、実際のコードへと落とし込んでいく作業に取り組むことになった。しかし、その道のりは想像以上に険しいものとなった…

TAKA: 「よっしゃ!ワイヤーフレームができたぞ。あとは実装するだけだな!」

AI老師: 「まずは必要なファイルとコンポーネントの構成を整理するのじゃ」

TAKA: 「えっと…HTMLとCSSとJavaScriptが必要ってことですよね?AI老師さん、コード作ってください!」

AI老師: 「君自身で考えることも大切じゃぞ。まずはHTMLの基本構造から始めてみてはどうかね?」

TAKA: 「面倒くさいなぁ…じゃあ、とりあえずコピペで」

コードの実装に四苦八苦

TAKA: 「あれ?なんかバグってます!」

document.addEventListener('DOMContentLoaded', async () => {
  const params = new URLSearchParams(window.location.search);
  const videoId = params.get('id');

  if (!videoId) {
      document.getElementById('video-details').innerHTML = '<p>動画が見つかりませんでした。</p>';
      return;
  }

AI老師: 「JavaScriptのテンプレートリテラルの記法が間違っているようじゃな。バッククォートを使用する必要があるぞ」

TAKA: 「バッククォート?普通のクォートじゃダメなんですか?」

AI老師: 「テンプレートリテラルを使用する場合は、バッククォート(`)を使用する必要があるのじゃ。これにより、変数を文字列内に埋め込むことができるのじゃ」

エラーの嵐との戦い

TAKA: 「次は『Cannot read properties of null』って出てきました…」

AI老師: 「要素が見つからないというエラーじゃな。HTMLファイルに対応するIDの要素が存在するか確認してみるのじゃ」

TAKA: 「めんどくさいなぁ…全部AI老師さんにやってもらえませんか?」

AI老師: 「自分で考え、理解することも大切じゃ。ここは一緒に確認していこう」

コードの整理と修正

TAKA: 「あ!video-details.htmlにscriptタグ忘れてました!」

<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Video Details</title>
    <link href="<https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css>" rel="stylesheet">
    <script defer src="/js/videoDetails.js"></script>
</head>
<body>
    <!-- 内容省略 -->
</body>
</html>

AI老師: 「そうじゃ。JavaScriptファイルを読み込むscriptタグは重要な要素じゃ。これがないと、動的な処理が実行できないのじゃ」

TAKA: 「へー、そうなんですね。(理解せずに頷く)」

最後の仕上げ

TAKA: 「よっしゃ!これで動くはず!」

画面をリロードすると、今度は正しく表示された。

AI老師: 「良かったじゃな。しかし、なぜ動いたのか、その理由を理解することも大切じゃぞ」

TAKA: 「えーと…scriptタグを追加したからですかね?(適当に答える)」

AI老師: 「それも一因じゃが、全体の構造やデータの流れを理解することが重要なのじゃ。次回は自分で考えて実装してみてはどうかね?」

TAKA:(心の声)「めんどくさそー…次も絶対AI老師さんに頼っちゃおう」

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

TAKA:(心の声)「今日もAI老師さんのおかげでなんとか実装できた。コードの意味?そんなの知らなくても動けばいいでしょ!やっぱり全部AI任せが一番楽チン!」

結局、TAKAは何も学ばず、ただコードをコピペするだけで終わってしまった。果たして、このままでよいのだろうか…

コメントを残す

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