JavaScriptのフレームワークなどの知識を技術として得るには?
「目的」を設定すること
何の学習でもそうですが、明確な目標を立てて解決しようとする学習が最も効率よく習得できます。
例えば、「iframeの親ウインドウの、親ウインドウのファンクションを呼び出すにはどうすればいいの?」と思ったら、その課題を解決することに全力を尽くします。
目標を連続で設定して、一つ一つ解決していくと技術として習得できます。
ただし、多くの作業で一時的な技術は忘れたりしますので、手順を完結にまとめたメモは忘れずにとっておくと後々らくです。
手を動かすこと
よほどの天才でない限り、プログラミング知識は実際にコーディング(実際にコードをかくこと)を行わないと上達しません。
やはり、読むだけでなく自分で手を動かして作ってみることが重要です。
「初めから終わりまで」読まないこと。
参考書ではないのですから、網羅する必要はないのです。
ご自身の作りたいものに合ったものを選択し、
「よくわからない箇所」は、とりあえず飛ばして続けて読むと、あとで理解できたりします。
無駄に苦しむより、他の部分でポジティブに勉強したほうが楽しいです。
参考書の選びかた
優先順位
- 会社指定のテキストを使うこと。(会社指定のテキストがある場合)
会社でテキストが配布されている場合、そのテキストを使用することがベストです。
- 理由①:テキストの知識は常識として扱われる可能性が高い
社内では、その本を読んだ前提で作業が進みます。
本の内容が共通理解として進みますから、物事を円滑に進める上でも、きちんとテキストはこなしたほうが無難です。
- 理由②:「知識不足」を作らないこと
①と重複しますが、同じような理解があることは意思疎通の上で速度が速くなるメリットがあります。
もちろん、テキスト以上の知識を得る行動も大切ですが、本質は知識不足を起こさないこと。
不足した知識がないことが重要なのです。
※ただし、合わないテキストである場合は別のテキストを使うのも手です。
その場合は、テキストのキーワードから探して購入するテキストを「参考書」として扱うことが良いかと思われます。
同じキーワードを別のテキストで解説を読み、わかりやすい方
なんとなく読んで、なんとなく良さそうなテキストも良いのですが、
例えば以下の視点で探されてはいかがでしょうか?
- 視点①:わからないキーワードで比較する
ある程度読んだら、「読んでもいまいちわからないこと」のキーワードを2,3個見繕ってください。
そのキーワードで数冊のテキストの索引で横断し、わかるキーワードが多いテキストが読者に合っています。
- 視点②:初歩的なキーワードで探す。
例えば、JavaScriptの場合「メソッド」という単語で引用から探してみてください。
解説があれば「初級者向け」
解説がなければ「中級者以上向け」
と、ある程度の本のレベルがわかります。
(冒頭の「~~の方向け」という指針はあまり当てになりません。)
立ち読みして、最後まで読めるもの
書店で本を立ち読みしたら、最後まで読めるものがスムーズに知識を得ることができます。
じっくり読むより、ぱらぱらめくって抵抗を感じない本が良いです。
「引用」があるもの
「あれどうするのだっけ?」となった際に、キーワードは出てくるが引用がないので本をパラパラ…ということはないでしょうか?
それでは、せっかくの学習意欲もだだ下がりです。
できれば引用が豊富な本がいいです。(引用がない本は論外。)
同じ単語で、2, 3個ページが書いてある本がいいと思います。
「具体的」か?(個人的に思うこと)
たとえば、技術書なのに全くコードが書いていない本があります。
だいたいが抽象的で、「あるある」という程度の共感しか得られない内容になっています。
できれば具体的なコードが多く見受けられる本で、自分で作れる本が最良だと思います。
学習中に「悩んだら」どうすべきか。
先に進むべきか?
重要なことは、ヤル気を無くさないこと。
せっかく興味があって触っているのに、「うまくできないから」という理由で途中リタイアしないことです。
プログラミング知識は、網羅するとよりも、できることを1つでも多くしていく方が技術力は上がります。
1つのことを長時間かけて解決していくよりも、同じ時間で2つ以上のことができるようになった方が得です。
(というか、何の勉強でもそうですけど順番に網羅する意味はない)
「気に入った機能」を見つける。
「気に入った機能」を軸に、できることを広げていくイメージが楽しいのではないでしょうか?
「本をパラパラめくって、気に入った機能を実現するために何が必要か?」
→ 「機能を拡大させるには何が必要か?」
という流れが、楽しく知識が習得できると思います。
この流れを作ることを忘れないようにしてください。(自分に言い聞かせたい。)