JavaScript
Node.js

Node.js開発者が一度は読むべきStackOverflow【初級編】

More than 3 years have passed since last update.


Node.js開発者が一度は読むべきStackOverflow【初級編】

周りに尊敬するNodeコミッターとかがたくさんいらっしゃっておそれおおいのでw

今回は初級編・初心者編です。


10. How to decide when to use Node.js?

http://stackoverflow.com/questions/5062614/how-to-decide-when-to-use-node-js


  • Nodeで何がデキるの?Nodeって結局何?Nodeのメリデメって?っていう方はまずみるといいかもしれません

  • Nodeでできること、できないこと、得意なこと、苦手なことが簡単にまとめられているので最初に見る記事としてはかなりおすすめ

  • その質問者のLegendさん自体が相当シンプルにまとめられていて、Answerで抜けをカバーしたり補強したり、みたいな流れになっているのですが、Question見るだけでも参考になる


From all the homework I have been doing in the last few days, I obtained the following information. Node.js


  • is a command-line tool that can be run as a regular web server and lets one run JavaScript programs

  • utilizes the great V8 JavaScript engine

  • is very good when you need to do several things at the same time

  • is event-based so all the wonderful Ajax-like stuff can be done on the server side

  • lets us share code between the browser and the backend

  • lets us talk with MySQL



9. What is the purpose of Node.js module.exports and how do you use it?

http://stackoverflow.com/questions/5311334/what-is-the-purpose-of-node-js-module-exports-and-how-do-you-use-it



  • module.exportsについて。ドキュメントの説明でいまいち理解できない場合はぜひ


module.exports is the object that's actually returned as the result of a require call.



8. NPM throws error without sudo

http://stackoverflow.com/questions/16151018/npm-throws-error-without-sudo


  • よくあるNPMのエラー

npm ERR! Error: EACCES, open '/Users/chietala/.npm/-/all/.cache.json'

npm ERR! { [Error: EACCES, open '/Users/chietala/.npm/-/all/.cache.json']
npm ERR! errno: 3,
npm ERR! code: 'EACCES',
npm ERR! path: '/Users/chietala/.npm/-/all/.cache.json' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

npm ERR! System Darwin 12.2.0
npm ERR! command "node" "/usr/local/bin/npm" "search" "bower"
npm ERR! cwd /Users/chietala
npm ERR! node -v v0.10.4
npm ERR! npm -v 1.2.18
npm ERR! path /Users/chietala/.npm/-/all/.cache.json
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, open '/Users/chietala/.npm/-/all/.cache.json'
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /Users/chietala/npm-debug.log
npm ERR! not ok code 0


  • 解決方法


sudo chown -R $(whoami) ~/.npm


7. What is Node.js' Connect, Express and “middleware”?

http://stackoverflow.com/questions/5284340/what-is-node-js-connect-express-and-middleware


  • Node.js, Connect, Expressといった基本的な単語について整理


Node.js itself offers an http module, whose createServer method returns an object that you can use to respond to HTTP requests. That object inherits the http.Server prototype.

Connect also offers a createServer method, which returns an object that inherits an extended version of http.Server. Connect's extensions are mainly there to make it easy to plug in middleware. That's why Connect describes itself as a "middleware framework," and is often analogized to Ruby's Rack.

Express does to Connect what Connect does to the http module: It offers a createServer method that extends Connect's Server prototype. So all of the functionality of Connect is there, plus view rendering and a handy DSL for describing routes. Ruby's Sinatra is a good analogy.



6. How can I update Node.js and NPM to the next versions?

http://stackoverflow.com/questions/6237295/how-can-i-update-node-js-and-npm-to-the-next-versions


  • Node.jsとNPMのアップデート方法を押さえておくために


5. Node.js / Express.js - How does app.router work?

http://stackoverflow.com/questions/12695591/node-js-express-js-how-does-app-router-work


  • Node.js初級者がいろいろサンプル見ているとよくみる「app.router」についての詳細な説明

  • また、Express 4.0からapp.routerは削除されたこともあり、Node.js界隈は改善の激しいフィールドなので、オンライン上のサンプルコードを参考にする時は記事の投稿された日付やNodeやモジュールのバージョンに留意すること


4. In Node.js, how do I “include” functions from my other files?

http://stackoverflow.com/questions/5797852/in-node-js-how-do-i-include-functions-from-my-other-files


  • Node.jsにおける他のファイルの関数の呼び出し方

たとえば、こんな感じで関数がtools.jsというファイルに宣言されているとする。


// tools.js
// ========
module.exports = {
foo: function () {
// whatever
},
bar: function () {
// whatever
}
};

var zemba = function () {
}

そしてappファイルでこうやって呼び出す。


// app.js
// ======
var tools = require('./tools');
console.log(typeof tools.foo); // => 'function'
console.log(typeof tools.bar); // => 'function'
console.log(typeof tools.zemba); // => undefined


3. How to print a stack trace in Node.js?

http://stackoverflow.com/questions/2923858/how-to-print-a-stack-trace-in-node-js


  • Errorがらみで一本目。

  • Javaのe.printStackTrace()やネイティブJSのconsole.log(e)みたいな感じで、Node.js開発時にスタックトレースを出力したい時


2. How to debug Node.js applications

http://stackoverflow.com/questions/1911015/how-to-debug-node-js-applications


  • Error処理がらみで二本目。

  • ある程度Nodeを学んでくると、本格的に開発してみたくなったり、その必要性が出てきたりするかもしれません

  • そんなときは、しっかりデバッグ方法を抑えておきましょう

  • セカンドアンサーの方に広くまとめられてあるのと、ベストアンサーが紹介しているツールをとりあえず知っておけばいいかと


1. How do I get started with Node.js

http://stackoverflow.com/questions/2353818/how-do-i-get-started-with-node-js


  • これめちゃくちゃいいですよ!TutorialsとかVideosとかNode.jsを学ぶためのリンクがふんだんにはられています。

  • とりあえずいろいろ見てみて、動画なりチュートリアルなり、自分に合う方法を選択して学んでみるのもいいかと思います

  • 個人的には、OJTを除けば本派なので、海外で流行っている or 定石である書籍を参考にしています(現状まだまだ日本語のNodeの本は少ないというのが印象ですが。。。)


姉妹記事

JavaScript開発者が一度は読むべきStackOverflow

jQuery開発者が一度は読むべきStackOverflow

Node.js開発者が一度は読むべきStackOverflow【初級編】