どうせ勉強するならプログラミングと英語を同時に学びたいです。
今勉強しているのがNode.js。
Node.js初心者に良さそうな洋書あるかな?
「Node.js」勉強はじめました。
筆者はプログラミング関係の解説書は英語版をあえて読むようにしているので、Node.jsが学べそうな洋書を探しました。
あと、筆者、ちょいと飽きっぽいので1日かそこらで読み切れる本が良いです。
そして、探しまして購入しまして、実際1日で読み切った洋書解説書がこちら。
Node.jsを英語で学べる洋書
「Learn NodeJS in 1 Day: Complete Node JS Guide with Examples」Krishna Rungta 著。
”with Examples”というところがポイントで、たらたらと理屈ばかりを説明するのではなく「書いて動かして」の体験を持って理解するところに主眼が置かれています。
値段も執筆時点でKindle版で326円とお手頃なので、費用対効果で買って全然損なかったです。
ちなみに筆者は洋書はペーパーバックで買って、ガンガン書き込んでしまう派です。
理由は、ブックオフとか通常の中古書店では洋書は基本的に引き取ってくれないからです。
だったら、英語の勉強として線引いたり単語の意味書いてしまったりして使い切ってしまおうということです。
Learn NodeJS in 1 Day 目次
- Introduction
- What is node.js
- Why use Node.js
- Features of Node.js
- When to use and not use Node.js
- Download & Install Node.js
- How to install node.js
- Installing node through a package manager
- Running your first Hello world application in Node.js
- Modules
- What are modules in Node.js
- Using modules in Node.js
- Creating NPM modules
- Extending modules
- Publishing NPM Modules
- Managing third party packages with npm
- What is the package.json file
- CCreate Server and Get Data
- Node.js with Express
- What is Express.js
- Installing and using Express
- What are Routes
- Sample Web server using express.js
- Node.js with MongoDB
- Node.js and NoSQL Databases
- Using MongoDB and Node.js
- How to build a node express app with MongoDB to store and serve content
- Promise, Generator, Event and Filestream
- What are promises
- Callbacks to promises
- Generating promises with the BlueBird library
- Creating a custom promise
- Callbacks vs generators
- Filestream in Node.js
- Emitting Events
- Testing with Jasmine
- Overview of Jasmine for testing Node.js applications
- How to use Jasmine to test Node.js applications
Learn NodeJS in 1 Day超要約
本の内容を書いてしまうのはまずいので、筆者の超要約を示します。
Node.jsの概要と特長
- Node.jsはJavaScriptベースのフレームワーク、サーバーベースのアプリケーションの開発に用いられる。
- Node.jsのアプリはJavaScriptで書かれ、多種のOS上で実行可能。
- 非同期でリクエストを処理。すなわち I/Oの処理結果を待たずバックグラウンドで実行されるため、他のリクエストを処理しつつNode.jsアプリケーションを実行できる。
- Google Chromeで採用されているV8 JavaScript Runtimeエンジンが使われているため高速。
- 1スレッドあたりのメモリ消費量が小さい。
- Node.jsのライブラリはJavaScriptで書かれているため開発者の学習コストが低い。
- Node.jsユーザー同士のコミュニティが発達しているため情報が得やすい。
Node.jsで使用される主なモジュール
これらのモジュールは、Node package managerでインストールしてから使用します。
- Expressフレームワーク:Web/モバイルアプリ開発用の最小かつフレキシブルなフレームワーク。
- Socket.io :リアルタイムかつ双方向でのイベントベースのコミュニケーションを実現するモジュール。チャットアプリを開発する際に有効。
- Jade: 高機能かつJavaScriptで開発されたテンプレートエンジン。
- MongoDB :MongoDB Node.jsドライバはMongoDBの公式Node.jsドライバである。
- Restify: REST APIを開発するための軽量フレームワーク。
- Bluebird :創造的な機能とパフォーマンスに焦点を当てた、フル機能を備えるpromise(Promiseは非同期処理のデザインパターンの一つ)ライブラリ。
Node.jsとDB
NodeはリレーショナルDB(OracleやMS SQL Server)と非リレーショナルDB(MongoDB やMySQL)の両方と親和性があります。
近年使用されることが多い非リレーショナルDB(MongoDB やMySQL)について、MongoDBのときは”Mongoose”というモジュール、MySQLのときは”mysql”というモジュールをインストールします。
MongoDB とMySQL、いずれの場合でも、DB使用までの手順は次のとおり。
- MySQL DBへのコネクション番号を特定。Node.jsがこの番号を取得し保存。
- DBへコネクションを作成し閉じる。callback functionでcreateとcloseメソッドの実行呼び出せる。
- DBからデータ取得のためのクエリを実行。
- データの挿入/削除/更新といったデータの操作も可能となる。
おわりに 「Learn NodeJS in 1 Day」読後感
「Learn NodeJS in 1 Day: Complete Node JS Guide with Examples」読後感として、本当に丸1日でwith Examplesの例も作りながら読めました。
やはり手を動かすと、ただ字面で本読んだよりも、はるかに後で内容覚えてますね。
丸1日で読了できるボリュームながら、インストールからDB、プログラムのテストまでカバー範囲が広く、初心者が全体をざっくり把握する目的に良い本です。
日本語版のNode.js解説書で初心者向けとしておすすめはこちらです。
Node.jsとは少し離れますが、個人的におすすめしたい洋書解説書が次の本です。
DOM単体で詳しく解説されている本は洋書はもちろん、和書でもなかなかないです。
[kkstarratings]