この記事ではNode.jsの特徴、勉強方法を解説します。 これからNode.jsを仕事で使う方、Node.jsでアプリケーションを作ってみたい方向けの記事です。
プログラミングがなかなか上達しないと悩んでいる方向けに、Node.js(JavaScript)の勉強法を解説します。
もしあなたがシステムエンジニアなら、何か一つ精通しているプログラミング言語を持っておくととても役に立ちます。ただ、仕事ではプログラミングをあまり使わなかったり、Javaなどの学習コストが高い言語を使っていたりとなかなか身につきません。
Node.jsはJavaScriptなので環境構築が簡単で初心者でも学びやすい上に、汎用性が高く覚えておいて損しないですよ。
Contents
Node.jsを学ぶメリット
Node.jsの特徴
Node.jsは非同期処理を使ってアプリケーションを作ることができるサーバサイドJavaScript環境のことです。
JavaScriptを使ってアプリケーションを構築することができます。
Node.jsで記載するコードは基本的にはシングルスレッド(コードを記載した順)で処理されますが、DB検索や他システムへのHTTP通信などの外部とのやり取りは非同期で処理されるという特徴があります。
外部とのやり取りは制御が必要だけど、並列で早く処理することができる言語ということだけ覚えておけば大丈夫です。
Node.jsでできること
Node.jsではサーバアプリケーションを構築できます。Webアプリケーションやフロントエンド部分も作り込むことができます。
スクレイピングでChromeを操作することもできますし、APIが提供されていれば他システムと情報をやり取りすることができます。
npmというコマンド一つでパッケージ管理ができるツールを使うことで、これらのことが簡単に実現できます。
大規模なJavaプロジェクトであっても開発ツールでNode.jsを使っていたり、WebアプリケーションはNode.js(Reactとか)を使っていたりと最近はよく見かける機会が増えました。
Node.jsはこんな人におすすめ
- プログラミングに不慣れ
- 仕事でNode.jsを使う
Node.jsは環境準備が簡単でさくっとアプリケーションを構築できるので、プログラミングが不慣れでも始めやすいです。
また、仕事で使う場合は、早めに基本的なところは押さえておくといいかなと思います。 利用するライブラリの知識が必要だったり、わりと学習コストは高いので慣れておくと安心です。
ちなみに同じスクリプト言語ではPythonの方が簡単に書けて入門向けですが、仕事で役に立つのはNode.jsかなという感じです。
プログラミングの学び方(Node.js)
ここからはプログラミング言語の学び方について自分の体験も含めて解説していきます。
- Node.jsのチュートリアルを始める
- 自分の作りたいツールを作る
- JavaScriptについて学ぶ
Node.jsは簡単に構築できるので、チュートリアルで基本を学んだ後は実際にアプリケーションを作ってみるのがいいと思います。
「Node.js+Express.js」や「Node.js+MongoDB」などWebフレームワークやDBとセットで学ぶとある程度やりたいことができます。
動画チュートリアルでNode.jsに入門する
チュートリアルは動画がおすすめです。数時間の「動画学習+コードの書き写し」である程度アプリケーションの雛形ができます。
本だと時間がかかってしまうのと、動画の方が音の情報もあって頭に残りやすいので、まだ動画で勉強をしたことがない方も試してみてくださいね。
ドットインストール
私は「ドットインストール」で入門しました。1回3分前後なので気軽にできます。
Node.jsを学ぶのであれば「Node.js入門(全16回)」「Vue.js入門 (全17回)」のような講座が受けれます。
「Node.js入門」の後は「Express入門 (全21回)」を視聴するとNode.jsでWebアプリを作れます。
私も「Node.js入門」「Express入門」までやりました。
以前はほぼ無料で受けられましたが、今は実質月額1080円(税込)必要です。古いバージョンで作られた動画は読み替えが必要です。
広く浅く入門できる、チュートリアルの入門のようなサービスです。
Udemy
Udemyも動画でチュートリアルが受けられます。Node.jsはExpress.jsやAngular.jsなどコースも豊富です。
私はNode.jsでは使っていませんが、Java8やAWSはこちらで学びました。セール時で1000円〜2000円のオンライン動画講義です。
コースによっては中級くらいまで学べるので、仕事で必要なレベルまで早く到達できます。
注意点として、「セールと通常時の値段の差が大きい(セールまで待ちましょう)」「通常再生だと音声がめちゃくちゃ遅い(倍速で聞けばOK)」ですので最初だけ気をつけてください。
ゲームでJavaScriptの文法を学ぶ
プログラミング言語の文法(ループや判定など)が苦手だと思うようにアプリケーションが作れないので、できるだけ簡単で楽しい方法を紹介します。
オススメはPaizaのゲームです。paizaオンラインハッカソン一覧:過去のゲームイベントなど | ITエンジニア向け転職・就活・学習サービス【paiza】
「プログラミングで彼女をつくる」「エンジニアが死滅した世界」が勉強に使いやすくていい感じでした。難易度はD〜Aまであり、先に述べたループや判定などを使ってアルゴリズムを組んでいくので、最低限の文法は習得できます。
難易度Aまでクリアしたくなりますが、めちゃくちゃ難しくて時間がかかるので、Bまでを目標にするといいと思います。
逆に、文法の書籍は習得に時間がかかるのと、一冊読んでもそれだけでは何も作れるようにないので、ちょっと効率が悪いかなと思います。
自分の作りたいツールを作る
自分の作りたいツールを開発する
Node.jsに入門した後は自分の作りたいツールを作ってみましょう。
先ほどのドットインストールでは自分好みのToDoリストやミニゲームなどが紹介されています。
簡単にできて汎用性の高そうなものの一例を紹介します。
- Webアプリケーション
- API連携
- スクレイピング(Puppeteer)
Puppeteerは本ブログでも紹介しています。Puppeteerの基本的な動かし方も参照ください。
作ったツールを運用する
自作ツールは運用してみましょう。
例えばWebアプリであれば外部サーバを契約して、外部サーバで常時動かしてみる、といった感じです。
運用していると問題が発生するのでそれを対策するのも勉強になりますし、使いづらいところや改善点などユーザの観点でシステムを見れるようになります。
さくらのVPS が安くてコストと使いやすさのバランスがいいと思います。VPSの比較ランキングも参照ください。
JavaScriptについて学ぶ
この段階まで来るとJavaScriptについて学ぶことはかなり効率がよくなります。
ある程度JavaScriptが動かせるようになっているので、自分のコードとの比較ができ、自分のアプリケーションをより良くすること、スキルの習得を同時に見込めるようになります。
入門書ではなく、中級者向けのスキルをアプリケーションの開発と並行して習得します。
JavaScriptを学べる中級者向けの本
ライブラリ(Reactとか)は幅広いので、自分に必要な本を探してみてください。
ここでは『JavaScript』を学べる本でよかった本を紹介します。
JavaScript本格入門
本格入門とありますが、初心者には難しくて読めない本です。
JavaScriptの関数やオブジェクトなど、ネットで習得するにはやや難しいけれどスキルアップで欠かせない知識を習得することができます。
JavaScript 第6版
辞書のような本です。ページ数が多すぎるので全部読むことはオススメできません。
JavaScriptの言語仕様を学ぶことができるのと、関数のリファレンスは便利な表現のストックができます。
内容は難しいですが、コーディングする上での参考になる知っておくと便利なパターンを習得することができます。
まとめ
Node.jsは幅広く活用されている言語であり、これまでプログラミングの勉強に悩んできた方にもオススメできることを紹介しました。
また、プログラミングの習得は自作アプリケーションを作ることが一番習得できます。ぜひ参考にして自分のアプリケーションを作ってみてください。
コメントを残す