Sass ~Grunt~
Sassをコンパイルしてくれるものが「Grunt」
あれ?そしたら「Koala」ってどうなの?って思うけど、これもコンパイルするためのもの。なにが違うか、と言えば、
「imgも加工できるか。」的なとこです。
だから、「Koala」はコンパイルだけするならOK。だってそれならターミナルでもできるもんね。
でもやぱりimgの色々な作業とか出てくるからGruntのがいいってこと。ってことを私も最近知ったんだけどねえ笑
========================単語予習========================
Node.jsはサーバ側で動作するJavascriptであり
※通常、Javascriptはユーザーのブラウザで動作するプログラミング用語。
PHPやRubyのように、サーバーサイドのプログラムをJavaScriptで記述できるのがNode.js。
・Node.js
Node.jsとは,ブラウザGoogle Chrome用に開発されたJavaScriptエンジンV8がサーバ上でプログラムを実行できるように,ファイルやネットワークI/Oなど多くの機能を追加したものです。
↓
C10K問題(クライント1万代接続問題)を解決する
・従来のWebサーバーは、1万接続もあるとパフォーマンスが落ちる...ので、その問題を解決する!
【特徴】
・サーバーサイドのJavaScript(→サーバーサイドで動くJavaScriptの実行環境)
・非同期(*I/Oの処理結果を待たず処理を進める)
・ノンブロッキングI/O(I/Oの結果を待たないで処理を進める。I/O処理が終了したらコールバック関数を実行。)→大量の処理に対応・たくさんの接続の処理がめっちゃ早い!!
(リクエストやコールバックの発生は、イベントとして登録して扱い、そのイベントに関する処理が終わったら、次のイベントを処理する。)
・イベントドリブン
・シングルスレッド(メモリ消費が少ない、仕事切り替えが少ないので早い)
・JavascriptエンジンがGoogleのV8で早い
*I/O(アイオー):Input/Outputの略。情報を入力(input)し、計算結果を出力(output)するという処理のこと。もしデータのI/Oがいっぱい行われたら、ハードウェアやネットワークにI/O処理の付加が発生することがある。
【Node.jsで作られたアプリの特徴】
・小さいデータや小さい計算の場合、速い
・メモリ消費量が少ない
・ローカルとリモートともデータのやり取りをシームレスに行うフレームワーク(Meteor)などができている
・サーバー側、クライント側で処理の共通化ができる(入力値チェックなど)
・サーバーサイドのコード変更したとき、Node.jsアプリの再起動が必要な(場合が多い)
・リアルタイムなアプリケーションに合う。
・シングルページアプリケーションに合っている。
・WebSocketを利用するアプリに合っている
※ちなみに通常、Node.jsを『node』と呼ぶらしい。
なんかドーモクンみたい。↓NHKの茶色いキャラクター。