フレームワークとは
プログラミングにおいてのフレームワークは
アプリケーション開発で必要な機能をまとめてたり、開発を効率化してくれる機能を提供してくれるもの
フレームワークを導入することでルールが与えられるので業務遂行が円滑になり、用意された仕組みを利用できるので、
開発にかかる工数を短縮できる
簡単に言うとアプリの土台や動作をすべて自分で考えていたら、多くの時間とソースコードを用意しなければならなが、
アプリ開発に必要なものを最初から準備してくれているのがフレームワーク
I/OとはIはInputでOはOutputの英語の頭文字を取ったもので、入出力処理のことで、
情報をInput(入力)して、処理結果をOutput(出力)するという流れ
多くのプログラミング言語ではI/O処理の間、プログラムを停止してI/O処理を待ち、このことを
同期I/Oといい、この処理の間、プログラムが停止することをブロッキングという
簡単に言うと今行っている処理が終わっていないなら、次の処理に手を付けないということ
入出力の開始処理をしてもその終了を待たずに、待ち時間中に別の処理を実行すること
Node.jsは、マルチプロセスやマルチスレッドではなく、シングルスレッドでブロッキングしないで、効率化を図っている
非同期I/Oは処理が1つ終わってから、次の処理を行うことを保証していないので順不同になる性質がある
CPUを効率よく使用することができる
ノンブロッキングI/Oとは少し異なる点があるらしいが、今回は表面だけの理解にしておく