OS環境やプログラミングを独学する方法はいろいろありますが、ネットが発達した現代だと、ネットの情報を見ながらやる事が多いと思います。
そんなネットの情報を基にした独学で気をつけなければいけないことについて書きます。
正しい情報で勉強すること
勉強する時に教科書が間違っていたら、その勉強は無駄ですよね。
ネットでは誰でも簡単に情報を公開する事ができます。情報発信が容易にできるということは、発信者が増え多様な情報がネット上に発信されるというメリットがあると同時に、間違っている事でも公開できてしまうというデメリットがあります。
書籍の場合、必ず査読されるはずなので、基本的に間違った情報というのは出版されません(それでも出版される事も稀にあります)が、ネットの場合は個人が勝手に公開している情報なので、誰かが指摘しない限りは間違った情報がそのまま公開されてしまいます。
ですので、そういう間違った情報を基に勉強してしまうと、間違った知識が身についてしまいかねません。
独学は何もわからない状態から始めますので、間違っている情報を見抜くのは容易ではありません。
「ネットにある情報を基に試してみたけどうまくいかないぞ?俺が間違っているのかな?」
と考え始めたら自分の間違いを疑って間違っている場所を探し始めるでしょう。
それはとても無駄な時間ですし、それがきっかけで独学を諦めてしまうかもしれません。
そうなる前に最初から正しい情報を見て独学を始めるようにしましょう。
公式のドキュメントで勉強を始める
正しい情報で勉強するのであれば、一番確実なのは公式サイトで用意しているドキュメントを参照することです。商用のアプリケーションでも無い限り、どんなソフトウェアでも公式サイトでは基礎的な情報に関してはネットでドキュメントを公開しています。日本語のドキュメントがあるかないかは、そのソフトウェアの普及具合によって違います。ただ、最近はGoogleの翻訳機能も随分と進化していますので、英語情報であっても気後れせずに翻訳して勉強をしてみましょう。
以下は独学する人の為に公式と公式に近い情報(日本のユーザ会等)の情報を集めてまとめた記事です。
独学する人は参考にして下さい。
独学情報 - Linux
バージョンを確認する
公式サイトで発信されている情報でもバージョン間で差異があります。ですので、現在自分が勉強している環境のバージョンと参照するドキュメントのバージョンは必ず合った物でないと混乱の元になります。
例えばRHELのドキュメントですが、バージョン間でかなりの差異があります。
ここではswapの推奨サイズについての記述で見比べてみましょう。
- RHEL5
以下は「RedHatEnterpriseLinux 5 Installation Guide 12.19.4 パーティション設定に関する推奨」からの抜粋です。
引用元:RedHatEnterpriseLinux 5 Installation Guide 12.19.4 パーティション設定に関する推奨 (https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/5/html/installation_guide/s2-diskpartrecommend-ppc)
RHEL5だと、2GBのメモリ容量までは倍(4GB)でそれ以上の場合は搭載メモリ量プラス2GBがswap領域の推奨値となっています。既にネット上に存在しないので不確実ですが、私の記憶だとRHEL4の時もそうだったと思います。
- RHEL6
以下は「Red Hat Enterprise Linux 6.9 のインストール方法 (全アーキテクチャー向け) 9.15.5 パーティション設定に関する推奨」からの抜粋です。
引用元:Red Hat Enterprise Linux 6.9 のインストール方法 (全アーキテクチャー向け) 9.15.5 パーティション設定に関する推奨(https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/6/html/installation_guide/s2-diskpartrecommend-x86)
RHEL6では「表9.2 システムの推奨swap領域」にある通りです。RHEL5の頃とは全く違いますね。しかもRHEL6の場合は6.0.6.1.6.2と6.3以降では推奨値が違います。同じベースバージョン間でも差異があります。
- RHEL7
以下は「全アーキテクチャーへの Red Hat Enterprise Linux 7 のインストール 8.14 インストール先」からの抜粋です。
引用元:全アーキテクチャーへの Red Hat Enterprise Linux 7 のインストール 8.14 インストール先 (https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/installation_guide/sect-disk-partitioning-setup-x86#sect-custom-partitioning-x86)
「表8.3 システムの推奨swap領域」の通り、RHEL6の時から比べて更に変わっています。
重要なのはこれはどれも公式のドキュメントであり、どれも間違っていないという事です。
これは世の中のサーバの搭載メモリ量が増大していった事で推奨値が変化している事によってドキュメントも変化しているという例です。仕様が変われば当然ドキュメントの内容も変わります。
この様にバージョン間の差異は無視出来るものではありません。せっかく正しいドキュメントで勉強するのですから、正しいバージョンのドキュメントを見るようにしましょう。
一般の人が発信した情報を参考にする時に確認すること
独学する際は公式サイトの情報を基にやるのが良いですが、それでも公式サイトに載っていない情報もあります。せっかく世界中の利用者が役に立つ情報を発信していますし、公式サイトを見ても判らない時はネットで検索をして一般の人の発信する情報も参照してみて下さい。ただ、最初に述べた通り、一般の人の発信する情報は、はっきり言うと「信憑性がない」です。盲信するのではなく、最初から疑ってかかるぐらいの方が良いと思います。
一般の人の発信する情報の信憑性を見る時には最低限以下の情報が明記されているかを見て下さい。
- 実行環境
その情報を実行した環境について書かれていない情報は信じるべきではありません。バージョン間で差異があるのは当然ですから、勉強している環境と同じか違うかの判断がつきません。ですのでもし試してうまくいかなかった時に何を疑うべきなのかが判りません。
- 日付
その記事が公開された日付を確認することです。勉強している技術が新しいか古いかにもよりますが、その情報が公開された日付はよく見ておいたほうが良いでしょう。バージョンが明らかになっていなくても記事公開の日付でだいたい憶測がつく場合があります。
- 実行結果について言及されていない
その記事に書かれていることを実行したらどうなるのかについて書かれていない情報は、そもそも情報の価値がありません。「何をしたらどうなる」のかが書かれていなければ勉強する意味はありません。答えが判らない問題を解いても正解かどうかが判らないのと同じだからです。
はっきり言って、私が独学する時には一般の人が公開している情報はあまり見ないようにしています。役に立たないとは思いませんが、あまりにも玉石混交でその中に埋もれている情報を探している時間があるなら、公式のドキュメントで勉強した方が技術の習得が早いからです。
ただ、独学で技術を習得して、そこから先どうすればいいのか迷った時は一般の人の発信する情報が役に立ちます。先人のやった事を道しるべに自分がやるべき事が見えてきたりするからです。行き詰まったら一般の人の発信している情報を参照するようにしましょう。
まとめ
独学で勉強するのはとても辛いです。解らないことは誰も教えてくれませんし、答えは自分で探さなければなりません。それでもその「調べる行為」そのものが独学で一番重要だと思います。
技術習得後も解らない事に遭遇することは当たり前の様にあります。その時に独学した時の「自分で調べて自分で解決する」経験がとても役に立ちます。
最初に苦労しておけば後は楽になります。苦労するのも勉強のうちだと割り切ってやるのが独学のコツだと思いますので、みなさんもどんどん苦労して独学して下さい。