しばらく前に、私は単語の平均について言及する記事を見ました。どういう意味ですか?
実際、MENAはMongoDB(非関連データベース) + Express(テンプレートエンジン) + AngularJS(MVC JavaScriptライブラリ) + nodeJS(サーバースクリプト)の略語です。
一緒になって、JavaScriptに基づいた最新のWebアプリケーションフルスタック開発ツールを構築します。
mongodb:
これは、データを保存するための強力で柔軟でスケーラブルな方法です。
補助インデックス、範囲クエリ、並べ替え、MapReduceスタイルの集約の組み込みサポートと地理空間インデックスのサポートなど、リレーショナルデータベースの多くの有用な機能を拡張します。
従来のデータベース行の概念をドキュメントモデルに置き換えます。いわゆるドキュメントモデルは、実際には配列オブジェクトです。
ドキュメントモデルを見てみましょう。
{"_id":1、「挨拶」:「こんにちは、世界!」 、「foo」:3}
各ドキュメントには_IDのフィールドがあります。ドキュメントモデルは、フィールドグリーティング、foo、_idを含むデータベースのレコードを表します。
急行:
最後のエンジンエクスプレスについては、文で説明したいと思います。
これは、シンプルで柔軟なnode.jswebアプリケーションフレームワークであり、さまざまなWebアプリケーションの作成に役立つ一連の強力な機能を提供します。
Connect FrameworkからのリッチなHTTPツールとミドルウェアは、好きなように利用でき、堅牢でフレンドリーなAPIをすばやく簡単に作成できます
Expressは、node.jsの既存の機能の二次抽象化を実行しません。Webアプリケーションで必要な機能を拡張するだけです。
Angularjs:
AngularJSは、Googleが開発したJSライブラリです。 Backoneと同じMVCスクリプトライブラリです。
ほぼすべての言語での最初のレッスンは、Hello Worldに関するものです。条約によると、私たちも1つを行います。
コードコピーは次のとおりです。
<!doctype html>
<html ng-app>
<head>
<Script src = "http://code.angularjs.org/angular-1.0.1.min.js"> </script>
</head>
<body>
こんにちは世界'}}!
</body>
</html>
<html ng-app>
ページがAngularJSを使用し、ページがロードされると、タグNG-APPがAngularJSにHTMLページ全体を処理し、アプリケーションを起動するよう指示することを宣言します。
この例はページにHello Worldを印刷し、一部の人々は驚いています、なぜHello Worldがとても複雑なのですか?
実際、{{{}}のコンテンツはデータバインディングの形式です。次の例を読んだ後、その力がわかります。
次の例を見てみましょう:
コードコピーは次のとおりです。
<!doctype html>
<html ng-app>
<head>
<スクリプトsrc = "angular-1.0.1.min.js"> </script>
</head>
<body>
あなたの名前:<input type = "text" ng-model = "yourname" placeholder = "world">
<hr>
こんにちは{{yourname || '世界'}}!
</body>
</html>
このページをブラウザで開き、入力ボックスにランダムな文字を入力してみてください。入力された文字がすぐに更新され、挨拶に表示されることがわかります。それはとても魔法ではありませんか?
の考え。入力ボックスの変更はすぐにモデル変数(1つの方向)に反映され、モデル変数の変更はすぐにグリーティングテキスト(他方の方向)に反映されます。
この例には、次の重要なメモがあります。
1。テキスト入力命令<入力ng-model =” yourname” />は、yournameと呼ばれるモデル変数にバインドされています。
2。ダブルブレースマークは、YourNameモデル変数をグリーティングテキストに追加します。
3.イベントリスナーを登録したり、アプリケーションにイベントハンドラーを追加する必要はありません!
nodejs
Ryan Dahlが開発した高性能サーバーJSプラットフォームです。
GoogleのV8エンジンではなくGoogleによって開発されたJavaScriptエンジンであるV8エンジンで開発されています。これは、他のスクリプト言語をはるかに超える高性能エンジンです。
nodejsは非同期I/O通信法を使用します。これはAJAXに非常に似ています。
コードコピーは次のとおりです。
$ .post( "url"、{title: "post request"}、function(data){
console.log( "response reaced");
})
console.log( "ajax end"を送信 ");
nodejsリクエスト方法:
コードコピーは次のとおりです。
var fs = require( 'fs');
fs.readfile( "/path"、function(err、file){
console.log( "File Completeを読む");
});
console.log( "read read file");
次の例を見てみましょう。
2つの要求が同時に実行される場合、総時間消費は、2つのリクエストの時間消費の合計ではなく、並列であるため、最も時間を消費するものに依存します。
コードコピーは次のとおりです。
//最初のリクエスト
var fs = require( 'fs');
fs.readfile( "/path1"、function(err、file){
console.log( "read file 1完了");
});
// 2番目のリクエスト
fs.readfile( "/path2"、function(err、file){
console.log( "File 2の読み取りが完了しました");
});
console.log( "read read file");
NodeJSが高いパフォーマンスを持っているもう1つの理由は、イベント駆動型です。
Nodeは、フロントエンドブラウザーのイベントをバックエンドに導入し、非同期I/Oと協力してイベントポイントをビジネスロジックに公開します。
イベントのようになる方法は、物事のみに焦点を当てた軽量でゆるいカップリングの利点を持っています。