アウトプットの箱庭

基礎から学習しなおしてる現役エンジニアの勉強記録です

"最強の学習法"を学び、早速「新しいlinuxの教科書」で実践してみた 1~6章

6/26 学習分

学習内容

学習法について

  • 検索練習
    • 人は苦労して思いだすことで記憶に定着する => ということで、意図的にその状況を作り出すことで記憶への定着を促す学習法
    • 色々なメリットがあるが、やらないメリットはないのでやることにした

具体的なテクニック

ブレインダンプ法

学んだことを、とりあえずアウトプットしまくることで記憶への定着を図る方法

  • 具体的な実践方法
    • タイミング: しっかりと時間をとって勉強するとき => 勉強時間を30分短くして行う
    • アクション: 勉強後にブログをかく。そのブログ内に、その日に学んだことを自分の言葉でまとめる、
    • => その際に、資料は見ないで思いだす。
    • => 書き出すときには間違っていてもいい
    • => 書き出した後で、再び資料を確認して、忘れていたことや間違っていたことを別の項目としてブログにまとめる

       


SQ3Rノート

資料を読む際に、「どんな情報を得るために読むのか?」を明確にする + 想起によって、効率よく記憶への定着を促す方法

  • 具体的な実践方法
    • タイミング: しっかりと時間をとって勉強するとき => 勉強前および勉強中に行う
    • アクション: 以下にまとめる
  1. 調査: 勉強する範囲を決め、その資料の目次や概要を読むことで全体像を掴む
  2. 質問: 「1」で掴んだ全体像をもとに、「そこからどんな情報を得たいのか?」「疑問に思ったことは何か?」などを質問形式でノートに書き出しておく
  3. 探索: 質問を洗い出したら参考資料を読み始める。ただしこのとき、「2」で作成した質問を元にその答えを探すように読み、細部まで気にしすぎない(優先順位をつける)。
    このとき、さらに別の疑問が浮かんだのであれば、ノートに書き出す。

    ※ただし、この時点では質問の答えはノートに書き出さない
  4. 暗唱: 参考資料を見終わり、質問の答えが出揃ったら資料を閉じてノートに書き出した質問に回答していく。
  5. 復習: 「4」が終わったら再び参考資料に目を通し、答え合わせをする。間違えたところは印などをつけてわかるようにする + 内容を修正する。

トゥーシングス

勉強内容のうち、大事だと思う項目を「2つだけ」思い出し、書き出すことで記憶の定着をはかる方法

  • 具体的な実践方法
    • タイミング: 隙間時間に勉強しているとき => 勉強の一区切りごとに行う
    • アクション: 資料をキリの良いところまで読んだら、その資料を閉じ、「この章で学んだことのうち、特に重要なことを2つ挙げるとしたら?」を考え、書き出す。
    • => これを繰り返す。

この他にもテクニックはあるが、まずはこの3つを実践し、習慣化する。

linuxの教科書

  • カーネルとは
    • ハードウェアの制御やプロセスの管理を行なっている部分。Linuxの核となる(Linuxカーネルとも呼ぶ)。
  • シェルとは
    • 使用者と、カーネルを繋ぐ役目を持ち、使用者はシェルを通してコマンドなどを入力し、カーネルを操作する。
  • プロンプトとは
    • シェルが入力待ちしている画面のこと。$#はプロンプト記号と呼ばれ、前者は一般ユーザー、後者はスーパーユーザーの入力画面であることを示すことが多い。
  • ターミナルとは
    • シェルを操作するための入出力機器のこと(一般的にはモニター + キーボード)。
    • 最近では、ハードウェアとしてのターミナルはなくなり、エミュレータとしてパソコン内で動作していることが多い。
  • linuxの本質
    • linuxでは、全てがファイル。カーネルもシェルも全てファイルで記述されている。
    • そのため、「ファイル操作 = linux」の操作である
  • linuxディレクトリ構造(重要な部分に限る)
    • /: ルート。全ての大元
    • /home: ホーム。各ユーザーごとに使うファイルはここに置かれる
    • /bin: バイナリファイル。スーパーユーザーと一般ユーザー、共通で使われるコマンドの設定が置かれる
    • /sbin: スーパーユーザー向けのコマンドが置かれる
    • /etc: 色々な設定ファイルが置かれている
    • /tmp: 一時ファイルが置かれる。ここに入れたものは、定期的に削除されるらしい
    • /usr: アプリケーション(本体)などのファイルはここに置かれる
    • /var: 中身が変化するものが置かれる。アプリケーションのデータなどがそれにあたる。
  • 「/」と「~」の違いは?
  • lnコマンドとは?
    • リンク、の意味。以下の2つのリンクを作成することが可能。
    • ハードリンク: 実体を持つファイルを複数作ることができる。

      一つのファイルが複数の名前を持っているイメージ。

      それぞれのファイルを編集することができ、ファイルを削除するには、複製元のファイルおよび複製したファイルを全て削除する必要がある
    • シンボリックリンク: 実体を持つファイルに対して、"参照することのできる別の名前のファイル"を作成する。

      実体は一つしかない(リンク元のファイルのみ)。

      ファイルを削除するには、複製元となったファイルを削除するだけでいい(その場合、リンクとして作成したファイルは開けなくなる)
  • locateコマンドとfindコマンドの違いは?
    • findは、ディレクトリを指定して、その中をひたすら探していくイメージ(リアルタイムで探す)。
    • locateは、最初に現在のディレクトリ構成それぞれのパスとして一つずつ自分の中のDBとしてもち(updatedb)、検索するときはその中から該当するワードを含むパスを返す。

      こっちの方が圧倒的に早い。

      データベースにないファイルは探せない(新しく作ったばかりのファイルなど)が、定期的にデータベースは自動更新されるらしい。
  • ヤンク、カットとは?
    • ヤンク: 貼り付けのこと
    • カット: 切り取りのこと

学習内容の答え合わせ

  • linuxディレクトリ構造について
    • dev/: デバイスファイル(キーボードなどをファイルとして扱えるようにしたファイル)を保存しておくもの <= 抜けてた

今回は、これ以外は問題なさそう

その他感想など

早速検索練習を実践してみたが、正直なかなかに大変。

なんだけど、「楽だな〜」ってことは大抵の場合、"身についた気になっているだけ"なのか"自分の知っていることを再確認している"だけなので意味がない。だったら大変なことをやったほうがいいと思った。

大変なことは習慣にしてしまえば「大変だけどやる」って感じになるので、とりあえず習慣化するところから始めていきます