[TIL] Day36- Web Server(2)


Achievement Goals


  • node.jsモジュールの使用
  • CommonJSを使用してモジュールをエクスポート/ロードできます.

  • ルーティングとAPI
  • ルーティング(条件付きブランチ)を理解し、サーバコードで実装します.
  • クライアントで使用できるサーバAPIドキュメントを直接作成できます.

  • Expressライブラリ
  • expressライブラリがどのタスクを簡単にするか理解できます.
  • ミドルウェアの概念は理解できる.

  • サーバの開発とデバッグ
  • CRUDを実行するWebサーバの開発方法を把握できます.
  • サーバの開発には、さまざまなツールを使用できます.

  • CommonJSを使用してモジュールをエクスポート/ロードできます.
  • CommonJS:Webブラウザ以外のJavaScriptのモジュールエコシステムルールを確立するためのプロジェクトです.
    exportsによるエクスポート/インポート
    //func.js
    function func1 (param) {
    	// 생략
    }
    
    exports.func1 = func1
    const obj = require('./func')
    
    obj.func1(10)
    obj.func2(20)
    module.exportsによるエクスポート/インポート
    // func.js
    const obj = {
    	
        func1: function (num) {
        	// ...
        },
        
        func2: function (num) {
        	// ...
        }
    }
    
    module.exports = obj
    const obj = require('./func')
    
    obj.func1(10)
    obj.func2(20)
    特別な場合でなければ、module.推奨exports

    ルーティングとAPI

  • ルーティング(条件付きブランチ)を理解し、サーバコードで実装します.
  • ルーティング:メソッドとURL(/下、/上など)を使用してブレークポイントを作成する
    클라이언트는 특정한 HTTP 요청 메소드(GET, POST 등)나 서버의 특정 URI(또는 경로)로 HTTP 요청을 보냅니다.
    라우팅은 클라이언트의 요청에 해당하는 메소드와 Endpoint에 따라 서버가 응답하는 방법을 결정하는 것입니다.
    if (req.url === '/lower') {
          let data = '';
          req.on('data', chunk => {
            data = data + chunk;
          });
          req.on('end', () => {
            data = data.toLowerCase();
            res.writeHead(201, defaultCorsHeader);
            res.end(data);
          });
    URL(/lower)にPOSTメソッドを使用する場合に使用するコードreq.url === '/lower'もexpressもご利用いただけます
    このようにapp.post('/lower', func(){})を利用することもできる.
  • クライアントで使用できるサーバAPIドキュメントを直接作成できます.
  • sprintから学んだのはAPI方式でPOSTとOPTIONSを用いる方式である.
    サーバAPIドキュメントはクライアントが使用できるように作成できますが、作成するしかありませんが、うまくいかない場合があります.

    Expressライブラリ

  • expressライブラリがどのタスクを簡単にするか理解できます.
  • expressライブラリを使用する場合は、リクエストでメソッドを確認する必要はありません.app.post('/lower', func(){})のように、必要な方法に従って記述することができるので、作業が簡単になる可能性がある.
  • ミドルウェアの概念は理解できる.
  • ミドルウェア関数には、要求オブジェクト(req)、応答オブジェクト(res)、およびアプリケーション要求応答サイクルの次のミドルウェア関数にアクセスする権限があります.
    現在、ミドルウェアの概念はまだ完全に理解されていない.4つのケースだけが中衛をよく使う.
    1.すべてのリクエストのurlまたはメソッドをチェックする
    2.構造化POST要求等を含むbody(負荷)の場合(容易に取得したい場合)
    3.すべての要求/応答にCORSヘッダを付けなければならない
    4.認証要求ヘッダーにユーザー認証情報が含まれているかどうかを確認する
    関連コードが書かれたブログやサイトを見つけました.
    https://expressjs.com/ko/guide/using-middleware.html
    https://velog.io/@yesparrot/express%EC%99%80-%EB%AF%B8%EB%93%A4%EC%9B%A8%EC%96%B4-3zhxqc5w
    私はまたexpressにもっと勉強しなければならないと思います.私はexpressを少し知っていれば、中間品があると思います.料理や料理をどう見ても、理解できないところがたくさんあるからです.今始まったばかりなので、疲れないようにしましょう.