カテゴリB最終回・この講義の役割

カテゴリB最終回・この講義の役割

これまでのカテゴリBでは、コンピュータの中身、ファイルと場所の指し方、複数の環境の使い分け、コマンドの文法、そして設定値をコードの外へ置く仕組みを見てきました。ここまでの話は、主に「どこで動かすか」「どんな設定で動かすか」に関するものでした。この講義で扱うのは、それらとは別の落とし穴、つまり「動かすソフトの版そのものが違うと結果が変わる」という問題です。カテゴリBの締めくくりとして、開発の足場をもう一段固めます。

このスライドのポイント

  • B-09までで、コンピュータの中身・環境の区別・コマンド・設定の分離を学んだ
  • ここまでは「同じPCの中」や「環境ごとの設定」の話が中心だった
  • 今回は「ソフトの版が違うと動作が変わる」という、もう一つの落とし穴を扱う

バージョン・互換性・LTSの定義

バージョン・互換性・LTSの定義

バージョンとは、ソフトの版を表す番号です。多くの場合「18.17.0」のように、メジャー、マイナー、パッチという3つの数字で書かれます。メジャーは大きな変更を表し、ここが変わると以前の書き方が通用しなくなること、つまり互換性が壊れることがあります。マイナーは機能追加、パッチは不具合の修正です。互換性とは、バージョンが変わっても以前と同じように動くこと、LTSとは安定して長く面倒を見てもらえる長期サポート版を指します。

このスライドのポイント

  • バージョン: ソフトの版を表す番号。「18.17.0」のように メジャー.マイナー.パッチ で書かれることが多い

なぜバージョンを意識する必要があるか

なぜバージョンを意識する必要があるか

バージョンを意識しないと、どんな失敗が起きるのでしょうか。AIが学習した時点のバージョンと、あなたの手元のバージョンが違うと、AIは古すぎる、あるいは新しすぎる書き方を出してきて動かないことがあります。これは、A-06で見た「古い知識」による誤りが、実際に現れる一つの形です。逆に、「とにかく最新版を入れれば良い」と考えて版を上げた結果、互換性が壊れて今まで動いていたものが動かなくなることもあります。新しいことと安定していることは、別のものなのです。

このスライドのポイント

  • AIの学習時点と手元のバージョンが違うと、古い書き方や新しすぎる書き方が出て動かない
  • これはA-06で見た「古い知識」による誤りの、具体的な現れ方の一つ
  • 「最新版を入れれば良い」と考えて上げた結果、互換性が壊れて動かなくなることもある

バージョン番号の構造

バージョン番号の構造

バージョン番号の構造を見ます。番号はメジャー、マイナー、パッチの3段で読みます。数字が大きいほど新しい版ですが、注意すべきはいちばん左のメジャーが変わったときです。ここが変わると、以前の書き方が動かなくなる、つまり互換性が壊れることがあります。マイナーやパッチだけの変化であれば、比較的安全に上げられることが多いです。大切なのは、「上げるほど良い」という単純な話ではなく、新しさと安定のどちらを優先するかを場面ごとに選ぶことです。

このスライドのポイント

  • バージョン番号は メジャー . マイナー . パッチ の3段で読む
  • 数字が大きいほど新しいが、メジャーが変わると壊れることがある
  • 上げる=新しくなる、だが「上げるほど良い」ではない。安定を優先する場面がある

バージョン差で動かなくなる具体例

バージョン差で動かなくなる具体例

具体例です。半年前にAIに作ってもらったアプリを、新しいPCで動かしたら動かなかった、とします。よくある原因は、プログラムを動かす土台のソフト、つまりランタイムのメジャーバージョンが、前のPCと新しいPCで違っていたことです。ランタイムそのものは後のカテゴリFで扱います。押さえてほしいのは対処の考え方です。開発では「動いていたときのバージョンを記録しておく」ことがとても大切です。記録があれば、同じ版に揃える確実な対処に戻れます。

このスライドのポイント

  • 半年前にAIに作ってもらったアプリを、新しいPCで動かしたら動かない
  • 原因: ランタイム(プログラムを動かす土台ソフト。詳しくはカテゴリFで扱う)のメジャーバージョンが違った、という典型例
  • 対処の基本: 「動いていたときのバージョンを記録しておく」

技術サンプル: バージョン差の構図

技術サンプル: バージョン差の構図

この図は、バージョン差でつまずく構図を表しています。作った時はランタイムのv18、これはLTSの版で問題なく動いていました。ところが動かす時のランタイムがv22で、メジャーが違うために動かないことがあります。読み方のポイントは2つです。メジャー番号の違いは特に要注意なこと、LTSを選ぶと安定しやすいことです。対処は、動いていた版を記録に残し、AIに相談するときもその版を伝えることです。質問例のように、自分の環境の版を示して、このコードがその版で動く書き方かを尋ねましょう。

このスライドのポイント

  • 種別: diagram / 目的: 同じコードが版の違いで動かなくなる構図を掴む
  • サンプル本体:

混同しやすい概念: 最新版とLTS

混同しやすい概念: 最新版とLTS

ここで混同しやすい2つを区別します。最新版とLTSです。最新版は機能が新しい反面、変化も大きく、以前の書き方が通用しなくなることもあります。一方LTSは安定を重視した版で、長い期間、同じ状態のまま面倒を見てもらえます。新しい機能をいち早く試したい場面では最新版が向きますが、学習のためや、業務で使うアプリを作る場面では、LTSを選ぶのが基本です。新しさそのものより、動き続ける安心のほうが価値が高い場面が多いからです。

このスライドのポイント

  • 「最新版」vs「LTS」を対比で区別する

バイブコーディングでの確認点

バイブコーディングでの確認点

バイブコーディングでの確認点です。AIに環境の準備を頼むときやエラーの相談をするときは、必ず自分のバージョンを伝えてください。これは、A-07で学んだ「現状」を渡すことの一部にあたります。AIは、あなたの手元の版を知らなければ、いつの時点の書き方が正しいかを判断できません。また、AIの提案が特定のバージョンだけを前提にしていないかも確認しましょう。「このコードはどのバージョン前提ですか」と一言尋ねるだけで、動かない書き方をあらかじめ避けられます。

このスライドのポイント

  • AIに環境構築やエラー相談をするときは、必ず自分のバージョンを伝える(A-07の「現状」の一部)
  • AIの提案が特定のバージョンを前提にしていないかを確認する
  • 質問例: 「このコードはどのバージョン前提ですか」

まとめと次回への橋渡し

まとめと次回への橋渡し

最後に一問一答です。学習用に選ぶなら、最新版とLTSのどちらが基本でしょうか。(間)答えはLTSです。安定して長くサポートされ、学習や業務のアプリに向くためです。まとめます。バージョンはメジャー・マイナー・パッチの3段で読み、特にメジャー違いに注意します。学習や業務ではLTSを基本とし、動いていた版は記録してAIにも伝えます。これでカテゴリBは修了です。コンピュータの中身から設定の分離やバージョンまで、開発の足場が揃いました。次回はカテゴリCへ進みます。関連資料は「AI開発ツール比較表」「アプリ運用チェックリスト」「AIでアプリを作る前に決める10項目」です。

このスライドのポイント

  • 一問一答: 「学習用に選ぶなら最新版とLTSのどちらが基本?」→ 答: LTS(安定して長くサポートされるため)
  • 30秒まとめ: バージョンは メジャー.マイナー.パッチ/メジャー違いは要注意/学習・業務はLTSが基本/動いた版は記録し、AIに伝える
  • カテゴリB修了。コンピュータの中身・環境の区別・コマンド・設定の分離・バージョンまで、開発の足場が揃った
  • 次回: カテゴリC、ネットワークの世界へ
  • 関連資料: 「AI開発ツール比較表」「アプリ運用チェックリスト」「AIでアプリを作る前に決める10項目」