私たちの文明は本の上に成り立っています。書かれた言葉は、凝縮した形で、世代から世代へと知識を引き継ぐ手段です。Webテクノロジのエキスパートになろうと思う時にやっかいなのは、Webからは離れて勉強しなければならないことです。Webというのは何かを学習するには無秩序で気が散る媒体だからです。そこで、提案したいのは関連するテーマの本を読むことです。JavaScriptについては、次の本から始めてみてください。「良いパーツ」によるベストプラクティス』)は、JavaScriptのバイブルです。古い本ですが、最初に手に取るのに最適です。第6版』)も必携です。参考図書としてそばに置いておきたいものです。SELECTION)』)も注目に値します。JavaScript』(ここに注釈付きのバージョンがあります)を見てみてください。紹介した本は電子ブック、または紙の本として購入できます。それと、本ではありませんがMozillaのデベロッパネットワークには良いJavaScriptガイドがあります。ライブラリを学び、使用し、読む次に重要なステップは、ライブラリについて知ることです。言語の読み方を教えてくれるのが本だとすれば、ライブラリは言語の話し方を教えてくれるものです。ライブラリを扱う上で大切なことが2つあります。ライブラリを使うことと、そのソースコードを読むことです。ライブラリを使うには、次に挙げるものに慣れましょう。underscore、そしてReact、Angular、Emberの3つのうちどれか1つです。したライブラリの使用は必須というわけではありませんが、それなりのJavaScriptの開発者であれば、当然これらのライブラリについて(良かれ悪しかれ)少なくとも何かしらの経験を持っているものです。JavaScriptのスキル向上を目指す上で次に大切なことは、こうしたライブラリのソースコードを読むことです。中でも、Backboneとunderscoreのソースコードが特にお勧めです。いうのも、コードの記述が実に素晴らしいからです。underscoreを読んで理解すれば、関数型プログラミングのスキルは向上するでしょう。ソースコードを読むのに適している他のライブラリを挙げるとすれば、何人かの開発者が勧めてくれたのですが、Mootoolsがあります(個人的にMootoolsを使ったこともソースコードを読んだこともありませんので、受け売りに過ぎませんが)。上記リストの、例えばReactやEmberなどは、その他に比べると理解するのが難しいかもしれませんが、努力してみる価値はあります。少なくとも、自分のコードベースをどのように構築するかを理解し、何らかのパターンを見つけるために、他のライブラリのソースコードに目を通してみましょう。他にも、ソースコードを使用したり読んだりするのに適した有名なライブラリと言えば、d3、highcharts、moment.jsなどがあります。訓練を積み、自問自答してみる優れたJavaScriptの開発者になるための次のステップは、多くの訓練を積むことです。理想を言えば、DOMではなく、言語に焦点を当てたほうが良いでしょう。node.jsで実行できるように、テストハーネスがあることを確認します。ささやかなものでいいので、node.jsでたくさん練習しましょう。型を使って、JavaScriptの様々に異なる使い方を体験してみましょう。クロージャ、プロトタイプ、配列拡張(マップ、フィルタ)などです。練習を通して、JavaScriptの基本的な考え方を、常に心に留めておきましょう。私の友人ArmaganはJavaScriptの優秀なプログラマで、講師でもあります。Patterns』は、一読の価値があります。次のような質問に答えてみましょう。prototypeの継承はどのように機能するのか、クロージャを決めるのは何か、thisというキーワードの意味はどのように変わるのか、apply、bind、map、filter、callなどはどのように使うのか、などです。JavaScriptの開発者が直面する、ソースに関するよくある疑問点のリストを作り、自分の言葉で説明してみましょう。他の人に対して、その概念を文章や口頭で説明することで、あなたのスキルは大いに向上します。”と仮定し、深く考えてみましょう。jQueryはどうやって、キーワードのthisが、グローバルオブジェクトではなく、jQueryのオブジェクトを確実に参照するように制御するのか。このライブラリはどのような方法で、特定の機能を実現するのか”などです。したよくある質問については、自分自身で考えてみるべきです。標準規格を学ぶ次のステップは、ECMAScriptの標準規格をより詳しく知ることです。最新のECMAScriptの仕様書をプリントアウトし、読んでみましょう。ES6やES7で導入されたようなJavaScriptの新機能についても学びましょう。最近、promise、module、generator、comprehensionといった新しい機能が続々と登場しています。一度言いますが、仕様書を読み、それに加えて専門書を読みましょう。JS』)が役に立つでしょう。標準規格を主要なソースから学び、その言語に新しく追加された機能を知ることで、エキスパートへの道を進むことができます。Webのリソースを使う先ほど、Webを学ぶためにWebを使うことの危険性をお伝えしました。私の最後の提案は、Web上のリソースからどのように最良のものを得るかということについてです。Newsは良いソースですが、S/N比が小さく、全てを読むには必要以上に時間がかかるでしょう。Weeklyなど、週ごとのダイジェストを読みましょう。そのうち、勢いがあるのはどのライブラリあるいはテクニックなのかが分かるでしょう。Twitterで、影響力のあるJavaScript開発者を探すようにしましょう。Tutsplusによる、33人のフォローすべきJavaScript開発者のリストが参考になるはずです。blogなどのブログがあります(この他にも良いブログがありましたら、このリストに追加しますのでメールでお知らせください)。他のWeb上の重要なリソースとしては、カンファレンスのビデオや教育用ビデオがあります。カンファレンスのビデオとして質が高いのは、JSConfのシリーズです。教育用ビデオとしては、Pluralsightを強くお勧めします。良質のコースを準備している経験豊かな開発者たちが大勢いるからです(別に提携関係を結んでいるわけではありません)。本を読むことから始めましょう。凝縮された情報を得ることができます。jQuery、underscore、Backboneなどの基本的なライブラリを学びましょう。それらのソースコードを読むことも忘れずに。訓練を積み、例えば継承のような一般的なJavaScriptの概念を、自分の言葉で説明できるようにしましょう。これらのテーマについて、講義や議論をしましょう。新しいバージョンの標準規格をひと通り読みましょう。その最新版を言語に使い始めましょう。Webリソースは、まとめてフォローしましょう。あなたが頻繁に読んでいるダイジェストやブログを週に1回程度、あるいはカンファレンスのビデオや教育用ビデオを見ましょう。まとめこれらのことを繰り返し行い、たくさんのプロジェクトを作り上げることで、あなたのJavaScriptのスキルは劇的に向上するでしょう。献身的な努力をいつでも心がけていれば、数年後にはエキスパートになっているはずです。私は自分自身を優れたJavaScriptプログラマだと思っていますが、高度な専門知識を身につけるには、まだまだ長い道のりが待っています。今回ご紹介したのは、私も行っているテクニックです。フィードバックや訂正があれば、遠慮なくatustun@ustunozgur.comまで連絡してください。Softwareではトルコのイスタンブールにおいて、才能のあるJavaScript開発者を探しています。求人のある職種については、当社のWebサイトでご確認ください。楽しく学び続けましょう。Ustunここまで読んでくださった皆様、私のTwitterアカウント、@ustunozgurをフォローしてみてください。Artislanに感謝します。この記事について、HackerNewsで議論をしましょう。ツイート翻訳に対するフィードバックがございましたら、メールまたはGitHubのIssueよりお寄せください。Ltd.リクルートグループサイトへ。