Koaを勉強するに当たり、そもそもなんでジェネレータで非同期処理が同期処理みたいにかけるのかをきちんと理解していないと、始まらないような気がしたので、勉強がてら書いてみようかなと思います。 駄文が多いので、時間がないときは「ジェネレータを使った非同期処理」から読んでしまうといいと思います。 非同期処理の必要性 Node.jsとノンブロッキングI/O Node.jsでWebアプリを作ろうとするとき、やはり意識すべきはそのアーキテクチャだと思います。 WEBサーバとしてのNode.jsは、シングルプロセスで動作し、リクエストを順番に処理します。それゆえ、リクエストごとにプロセスを作るApacheに比べるとメモリ消費量が少ないことと、プロセス作成のコストを節約できるという利点があります。 一方で、シングルプロセスであるが故に、一つの時間のかかる処理が発生すると、後ろのリクエストが使えてしまい、パ
