エンジニアとして最低限知っておいたほうが良い知識を吸収するために、基本情報技術者試を勉強しました。
使わせていただいた書籍はキタミ式イラストIT塾 基本情報技術者です。
キタミ式を使った基本情報の勉強で良かったこと・学んだことを、広く浅く共有しようと思います。
##基本情報で学べること
キタミ式を参考に、どんなことを学べるのか?を体系的にまとめました。
###1. n進数の計算
2進数、8進数、10進数、16進数...の扱い方を学べます。
コンピュータは「0と1」2種類の数字(2進数)しか理解できないので、もっと扱いやすいようにするため、8進数や16進数など大きな情報に変換してあげないといけません。
僕たちがキーボードで「あ」と入力しても、コンピュータは「あ」を理解しているわけでなく、「あ」に対応する数字を識別して「あ」を理解します。
キーボードのお話を含めてコンピュータ内部のやりとり、ネットワークの通信など、あらゆる仕組みにn進数という概念が使われてるようです。
###2. データの表し方
僕たちが使っている画像・音声・動画というマルチメディアの正体は、0と1のデータがたくさん集まったデータです。
例えば、画像を表現するには色が欠かせません。何千何万種類ある色という情報を表現すためのデータが0と1で表されています。
###3. コンピュータが動く仕組み
パソコンでカタカタできるけど、パソコンの動作原理が分かりませんでした。
基本情報は、コンピュータが動くロジックを分かりやすく教えてくれます。
制御装置・演算装置・記憶装置・入力装置・出力装置の関係や役割などが掲載されています。
###4. ソフトウェア
ソフトウェアは、基本ソフトウェアと応用ソフトウェアに大別できます。
基本ソフトウェアはOSです。Windows、macOS、UNIXなど。
応用ソフトウェアはアプリケーションソフトです。WordとかExcelなど。
基本ソフトウェア・応用ソフトウェアは何をしていて、どのようにハードウェアとやりとりをしているのかを理解できるようになります。
###5. データベース
アプリ開発で欠かせないデータベースの仕組みや設計の基本を学べます。
データベース管理システム(DBMS)や、主にリレーショナルデータベース(RDB)の正規化に言及されています。
正規化とは、DB設計に関わる重要な考え方です。
その他、障害やロールバックなども学べます。
###6. ネットワーク
ネットワークの概念を理解できます。
例えば、無線WiFi/赤外線です。
ネットワークによる情報伝達の内部で何が起きていて、「なぜ僕たちのPCは数多ある情報から特定の一部を受け取れるのか」という概念が網羅されていました。
###7. セキュリティ
認証システム、コンピュータウイルス、ファイアウォール、暗号化技術の仕組みを学べます。
・ログイン機能のあり方
・GitHubやAWSなどで使われる鍵認証
上記の理解が深められます。
###8. システム開発
コードを書くことは開発の一部であり、その他にいっぱい工程があります。
企画→要件定義→開発→運用→保守
・各工程の役割
・外部の企業と連携
システム開発の本質を学べると思います。
###9. プログラム
言語の書き方ではなく、
・プログラミング言語について
・一般的なアルゴリズムやフローチャート図
・オブジェクト指向プログラミング
・データの持ち方
などプログラムの本質を教えてくれます。
###10. システムの構成と故障対策
・サーバー
・クライアントサーバー
・システム故障
上記の役割、考え方がとても勉強になります。
###11. 企業活動
・CEO、CTO
・請負、派遣
・プログラムの著作権
・企業活動
・業務改善
IT業界の知識を学べます。
感想
モヤモヤが解消してスッキリしました。
記事の内容は書籍のごく一部なので、もっと知りたい方は書籍をお買い求めください。
今後
応用情報もやってみたいです。
以上になります。
誤りがありましたらご指摘いただけますと幸いです。