プログラミングの習得で悩んでいる人にNode.jsがオススメの理由

プログラミングがなかなか上達しないと悩んでいるなら、Node.js(JavaScript)を始めてみませんか。
もしあなたがシステムエンジニアなら、何か一つ精通しているプログラミング言語を持っておくととても役に立ちます。

ただ、システムエンジニアの仕事って、実はプログラミング使わないことが多く、仕事だけでプログラミングを習得するのって実は大変ですよね。

Node.jsはJavaScriptなので環境構築が簡単で初心者でも学びやすい上に、新しい技術がどんどんサポートされているため色々なことができて汎用性の高い言語です。

私もJavaやVB.net、C#など仕事で触れた言語は一通り勉強しましたが、Node.jsは実現できることが多く、作りたいアプリを作れて習得しやすさが全然違います。

この記事では、Node.jsを学ぶメリットとプログラミングの学び方について紹介します。

Step Up

スポンサーリンク

Node.jsを学ぶメリット

Node.jsの特徴

Node.jsは非同期処理を使ってアプリケーションを作ることができるサーバサイドJavaScript環境のことです。

JavaScriptを使ってアプリケーションを構築することができます。

Node.jsで記載するコードは基本的にはシングルスレッド(コードを記載した順)で処理されますが、DB検索や他システムへのHTTP通信などの外部とのやり取りは非同期で処理されるという特徴があります。

外部とのやり取りは制御が必要だけど、並列で早く処理することができる言語ということだけ覚えておけば大丈夫です。

Node.jsでできること

豊富なライブラリでできることが多い

Node.jsはサーバアプリケーションを構築できますが、豊富なライブラリを使ってWebアプリケーションやフロントエンド部分も作り込むことができます。

スクレイピングでChromeを操作することもできますし、APIが提供されていれば他システムと情報をやり取りすることができます。

TensorFlow.jsを使ってディープラーニングをすることもできます。

npmというコマンド一つでパッケージ管理ができるツールを使うことで、これらのことが簡単に実現できます。

プログラミングの学び方(Node.js)

ここからはプログラミング言語の学び方について自分の体験も含めて解説していきます。

プログラミングを習得したいのであれば、自分の作りたいものを作るのが一番の近道です。

以下はNode.jsで自分のアプリケーションを作れるまでのプロセスの一例です。順に解説します。

  1. ゲームでJavaScriptの文法を学ぶ
  2. 無料動画「ドットインストール」でNode.jsに入門する
  3. 自分の作りたいツールを作る
  4. JavaScriptについて学ぶ

ゲームでJavaScriptの文法を学ぶ

この段階はスキップしても構わないと考えています。

プログラミング言語(特にJavaScript)の文法はループや判定などができればとりあえず動くものは作れます。

ただ、プログラミング初心者の方は言語の文法(if文やループなど)を習得しておかないとつまずきやすいので、できるだけ簡単で楽しい方法を紹介します。

オススメはPaizaのゲームです。
paizaオンラインハッカソン一覧:過去のゲームイベントなど | ITエンジニア向け転職・就活・学習サービス【paiza】

2019年11月現在で新しいのだと「エンジニアが死滅した世界」というタイトルがあります。

難易度はD〜Aまであり、先に述べたループや判定などを使ってアルゴリズムを組んでいくので、最低限の文法は習得できます。

難易度Aは時間がかかるので、Bまでを目標にするといいと思います。(基礎スキル習得が目的なので、Bも全部クリアする必要はありません)

逆に、オススメできない勉強は最初に文法の書籍を購入することです。

スキルの習得が目的になると勉強感が出る上に、文法の書籍を一冊読んでもそれだけでは何も作れるようにないので、この段階ではやらなくて大丈夫です。

無料動画「ドットインストール」でNode.jsに入門する

JavaScriptに慣れてきたら、作れるアプリケーションをイメージしましょう。

オススメは「ドットインストール」です。無料のオンライン動画でプログラミングを勉強できます。

Node.js入門 (全16回)
大量のアクセスを高速にさばくことができるNode.jsについて、その基本的な使い方を学んでいきます。

Node.jsを学ぶのであれば「Node.js入門(全16回)」のような講座がタダで受けれます。(1回3分前後なので気軽にできます)

「Node.js入門」の後は「Express入門 (全21回)」を視聴するとNode.jsでWebアプリを作れます。
「Node.js入門」「Express入門」まではやっておくことをオススメします。
(動画はExpress3.0ですが、現在はExpress4.0になっているので、多少の読み替えが必要です。講座内に補足があります)

他にもReactやAngularJS等もあるので、自分の作りたい方向性に応じて受講してみてください。

自分の作りたいツールを作る

自分の作りたいツールを開発する

Node.jsに入門した後は自分の作りたいツールを作ってみましょう。

先ほどのドットインストールでは自分好みのToDoリストやミニゲームなどが紹介されています。

APIが提供されているサービス(ビットコイン取引所やTwitterなど、幅広く)であればAPIで他のサービスとつなぐことでブラウザから操作するよりも楽にデータが取れたりします。
(APIはWeb系のサービスにブラウザ以外でつなぐことができるサービスです)

APIは有名なサービスであればネットの情報で十分に接続できるし、おそらくあなたが思っているよりも簡単にできるので、挑戦する価値はあります。

APIがなくてもブラウザを自動操作させるスクレイピングもあります。

機械学習で自作AIを作ることもできます。(ただし、難易度は高いのと、Node.jsよりもPython3がおすすめです)

なお、このブログ(Node.jsで暗号資産アービトラージ)ではビットコイン取引所とのAPI接続やスクレイピング(Puppeteer)を解説しています。

作ったツールを運用する

自作ツールは運用してみましょう。

例えばWebアプリであれば外部サーバを契約して、外部サーバで常時動かしてみる、といった感じです。

運用していると問題が発生するのでそれを対策するのも勉強になりますし、使いづらいところや改善点などユーザの観点でシステムを見れるようになります。

JavaScriptについて学ぶ

この段階まで来るとJavaScriptについて学ぶことはかなり効率がよくなります。

ある程度JavaScriptが動かせるようになっているので、自分のコードとの比較ができ、自分のアプリケーションをより良くすること、スキルの習得を同時に見込めるようになります。

入門書ではなく、中級者向けのスキルをアプリケーションの開発と並行して習得します。

JavaScriptを学べる中級者向けの本

改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで

改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで

本格入門とありますが、初心者には難しくて読めない本です。
JavaScriptの関数やオブジェクトなど、ネットで習得するにはやや難しいけれどスキルアップで欠かせない知識を習得することができます。

JavaScript 第6版

 

JavaScript 第6版

辞書のような本です。ページ数が多すぎるので全部読むことはオススメできません。
JavaScriptの言語仕様を学ぶことができるのと、関数のリファレンスは便利な表現のストックができます。

内容は難しいですが、コーディングする上での参考になる知っておくと便利なパターンを習得することができます。

まとめ

Node.jsは幅広く活用されている言語であり、これまでプログラミングの勉強に悩んできた方にもオススメできることを紹介しました。

また、プログラミングの習得は自作アプリケーションを作ることが一番習得できます。ぜひ参考にして自分のアプリケーションを作ってみてください。

Node.jsでプログラミングスキルを習得したい人へのオススメ記事

ブラウザ自動操作で楽したいならPuppeteerを使おう
※この記事は2019/11/30に更新されました。ブラウザ操作の自動化に興味を持ったことはありませんか。仕事のテストだったり、プライベートだったり、どちらにしても定期的にWebサイトで繰り返し同じ操作をするのって面倒なので自動化したいですよ...
bitFlyerの特徴とbitFlyer APIの使い方
bitFlyer APIの使い方とアービトラージをシステム化する際に注意したいポイントを解説します。bitFlyerはいくつかのデメリットがあるもののAPIドキュメント内にNode.jsのサンプルコードが豊富なので、これからビットコイン取引...

コメント

タイトルとURLをコピーしました