01 / IT FOUNDATION
この講座で、何をできるようにするか。
CPU・メモリ・保存領域と、情報の単位・文字・ファイル・実行中の処理を区別し、端末の状態を調査記録へまとめる。
目安12時間。説明・調査・演習・成果物作成・レビューを含む学習計画です。本文を読むだけでこの時間の実習を完了したことにはなりません。進み方と経験に応じて調整します。
学習目標と確認ポイント詳しく見る
- CPU・メモリ・ストレージを説明し、PC構成調査表を作る。
- 二進数・ビット・バイトを説明し、単位と二進数のワークシートを作る。
- 文字コードと文字化けを説明し、文字数・バイト数の比較記録を作る。
- ファイル・形式・パスを説明し、ファイル配置図を作る。
- プログラム・プロセス・サービスを説明し、プロセスの観察メモを作る。
- リソース使用量を読み取るを説明し、リソース調査レポートを作る。
ブラウザーで本文・アニメ・問題を確認できます。実機演習は会社が用意した学習環境を使い、Python・Linux・Git・DB等の準備状況を確認してから進めます。
Python・SQL・ログ・架空パケット表・テスト・APIのスターターと説明書を同梱しています。APIは認証・認可等を受講者が追加する未完成の学習用で、公開用完成品ではありません。
共通演習キットをダウンロード
02 / IT FOUNDATION
仕組みを理解し、手を動かして確かめる。
CPU・メモリ・ストレージ
詳しく見る
学習ブロック 1 / 目安2時間(説明・調査・演習・記録・レビュー)
CPUは命令に従って処理し、メモリは実行中のデータや作業領域として使われ、ストレージはファイル等を保存します。処理が遅い原因はCPUだけとは限りません。メモリ不足、ディスク待ち、通信待ち、アプリの実装などを、観測した値と操作の関係で調べます。
使用しているOS、CPU、メモリ容量、保存領域の総容量と空きを読み取り、調査日時とともに記録する。
前提・操作・観察結果・理由・未確認を分けて残します。手順を他の人に説明し、同じ入力で同じ結果になるか確認してください。
二進数・ビット・バイト
詳しく見る
学習ブロック 2 / 目安2時間(説明・調査・演習・記録・レビュー)
1ビットは0か1の状態を表し、8ビットを1バイトとして扱います。二進数は桁が上がると2倍になる数の表し方です。容量と通信速度では、バイトとビットの違いに加え、10進の接頭辞と2進の接頭辞の違いにも注意します。
8ビットで0、1、15、128、255を表す。1,000,000,000バイトをGBとGiBで表し、表示が違う理由を書く。
前提・操作・観察結果・理由・未確認を分けて残します。手順を他の人に説明し、同じ入力で同じ結果になるか確認してください。
文字コードと文字化け
詳しく見る
学習ブロック 3 / 目安2時間(説明・調査・演習・記録・レビュー)
文字を保存するときは、文字に対応する符号位置と、バイト列としての符号化を区別します。UTF-8などの符号化と異なる方法で読むと、文字化けや読み取りエラーが起こり得ます。見た目が同じでも、バイト長が同じとは限りません。
同梱のPython例で日本語をUTF-8へ変換し、文字数とバイト数を比べる。別の符号化で読む例では元ファイルを上書きしない。
前提・操作・観察結果・理由・未確認を分けて残します。手順を他の人に説明し、同じ入力で同じ結果になるか確認してください。
ファイル・形式・パス
詳しく見る
学習ブロック 4 / 目安2時間(説明・調査・演習・記録・レビュー)
ファイル名、拡張子、内容の形式、保存先は別の情報です。拡張子を書き換えただけでは画像や文書の形式を変換したことにはなりません。相対パスは基準の場所に依存し、絶対パスは位置を明示します。
演習フォルダーへ同名のファイルを別のサブフォルダーに作り、完全な保存先を記録する。内容と拡張子の違いも説明する。
前提・操作・観察結果・理由・未確認を分けて残します。手順を他の人に説明し、同じ入力で同じ結果になるか確認してください。
プログラム・プロセス・サービス
詳しく見る
学習ブロック 5 / 目安2時間(説明・調査・演習・記録・レビュー)
プログラムは実行する手順を記述したもの、プロセスは実行中の処理の単位として捉えます。同じプログラムを複数起動すれば複数のプロセスになる場合があります。サービスは背景で機能を提供する実行形態などを指し、OSによって管理方法が異なります。
タスクマネージャー等でブラウザーのプロセスを読み取り、複数あることと使用量の変化を記録する。業務プロセスは停止しない。
前提・操作・観察結果・理由・未確認を分けて残します。手順を他の人に説明し、同じ入力で同じ結果になるか確認してください。
リソース使用量を読み取る
詳しく見る
学習ブロック 6 / 目安2時間(説明・調査・演習・記録・レビュー)
使用率は特定の時点の観察です。高いCPU使用率だけで故障とは言えず、短いピークと継続した圧迫も違います。何をしていたか、いつからか、他の資源はどうかを一緒に記録します。容量不足とメモリ不足の対処も同一ではありません。
アプリを一つ開く前後のCPU・メモリ・ディスクの状態を比較し、分かったことと未確認を分ける。
前提・操作・観察結果・理由・未確認を分けて残します。手順を他の人に説明し、同じ入力で同じ結果になるか確認してください。
文字数・バイト数・容量を測る
text = "予約"
print(len(text)) # 2文字
print(len(text.encode("utf-8"))) # 6バイト
print(1_000_000_000 / 1024**3) # 約0.931 GiB
確認:バイト数は符号化で変わる。GBとGiBの差を故障と決めつけない。03 / IT FOUNDATION
仕事のアニメ:コンピューターの基礎を考える。
新人・アオイさんと先輩・ミナトさんの会話で、「コンピューターの基礎」を学びます。最初の場面は「空き容量とメモリ不足は同じですか?」。何を確かめ、どう対応するかを順に見ていきましょう。
空き容量とメモリ不足は同じですか?
約12秒ごとに場面が切り替わります。再生中も一時停止でき、「前へ」「次へ」で自分のペースで読めます。最終場面で停止します。
アニメの内容をまとめて文章で読む
1. 空き容量とメモリ不足
アオイ:空き容量とメモリ不足は同じですか?
学習ポイント:空き容量とメモリ不足
2. 作業領域と保存領域
ミナト:作業領域と保存領域を分けよう。CPU以外が待ちになっていることもある。
学習ポイント:作業領域と保存領域
3. 文字数とバイト数
アオイ:日本語10文字は10バイトとは限らないのですね。
学習ポイント:文字数とバイト数
4. 文字コードを決めて測る
ミナト:符号化を決めてバイト数を測り、文字数と分ける。
学習ポイント:文字コードを決めて測る
5. プログラムとプロセス
アオイ:同じアプリのプロセスが複数でも、異常とは限らないのですね。
学習ポイント:プログラムとプロセス
6. 使用量と状況を記録
ミナト:操作前後の値と状況を記録すれば、相談できる事実になる。
学習ポイント:使用量と状況を記録
04 / IT FOUNDATION
演習を完成させ、成果物をレビューする。
演習1
端末情報と作業前後のリソース使用量を表へ記録する。
- 対象・環境・入力データ・期待結果を記録する。
- 上の解説と各ブロックの実習手順を使って作業する。
- 結果を期待と比較し、違いがあれば条件を一つずつ確かめる。
- 成果物・再現手順・分かったこと・未確認を残してレビューする。
演習2
UTF-8の文字数・バイト数と、GB/GiBの差を計算する。
- 対象・環境・入力データ・期待結果を記録する。
- 上の解説と各ブロックの実習手順を使って作業する。
- 結果を期待と比較し、違いがあれば条件を一つずつ確かめる。
- 成果物・再現手順・分かったこと・未確認を残してレビューする。
演習3
保存先を間違えた例を再現し、パスから正しいファイルを見分ける。
- 対象・環境・入力データ・期待結果を記録する。
- 上の解説と各ブロックの実習手順を使って作業する。
- 結果を期待と比較し、違いがあれば条件を一つずつ確かめる。
- 成果物・再現手順・分かったこと・未確認を残してレビューする。
正しい用語で説明できるか/入力と結果が対応しているか/正常だけでなく失敗する条件も扱ったか/他の人が再現できるか/残る課題を隠していないか。
05 / IT FOUNDATION
確認問題:答えより、理由を説明する。
全5問。選ぶと解説が表示されます。何度でも選び直せます。
回答済み 0 / 5問
06 / IT FOUNDATION
成果物を残し、理解と未確認を分ける。
架空データを使い、根拠と結果を自分の言葉でまとめます。回答とメモは自動保存・外部送信しません。残したい内容はコピーするか、成果物ファイルへ記入してください。
07 / IT FOUNDATION
説明・実装・記録を、一つの成果へつなげる。
CPU・メモリ・保存領域と、情報の単位・文字・ファイル・実行中の処理を区別し、端末の状態を調査記録へまとめる。
- PC構成調査表
- 単位と二進数のワークシート
- 文字数・バイト数の比較記録
- ファイル配置図
- プロセスの観察メモ
- リソース調査レポート
08 / IT FOUNDATION
