ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Express 인액션
    My-Book(History) 2017. 4. 8. 19:15

    모르는게 참 많다 아직도...

    지금 단어,용어 하나하나가 생소하게 느껴진다. 하지만 이것을 내것으로 만드는게 가장 핵심이다.

    대부분의 음식을 보면 쓰고 맛없는것이 몸에 좋다. 

    이처럼 받아들이는 의지가 없으면 항상 같은 우물에 머물게 된다.(자기가 아는것에 익숙해 지지 말라는 말)

    난 배우고 내것으로 만드는게 참 재미있다.... 그리고 항상 왜?! 라는 질문을 생각하게끔 해주신 고찬식 이사님께 

    늘 감사하다. 


    책 첫장 부터 모르는 용어 생소한 단어들을 외우기 위해 작성해본다.


    미들웨어 

    중간에 껴넣는다는 의미로 부가적인 기능이나 처리를 제공한다.

    (개인적으로 이해한것을 작성해보자면 스프링에서 request가 날라오면 Controller에 들어가기전에 특정 무엇인가를 처리하고 싶을떄 사용하는 인터셉터 와 동일한 개념인거 같다)




    라우팅 

    기본적으로 어플리케이션 서버에서 경로를 제어하는 목적

    -목적지까지 갈 수 있는 여러 경로 중 한 가지 경로를 설정해 주는 과정




    에코시스템

    서드파티(플러그인 , 오픈소스) 를 제공함으로써 당장의 돈을 벌기위한 시스템이 아닌 구글 처럼 기술을 인정 받아 부수적으로 수익을 내는 시스템을 의미하는거 같다...구글링 해본결과...




    모듈 캐싱

    - 모듈은 처음 로딩될떄 캐싱된다. 따라서 모듈이 같은 파일로 매핑되면 reduire()를 호출하면 반환되는 모듈은 같다.




    코어 모듈 로딩

    노드에 기본적으로 내장되어 있는 모듈을 배포판 내에 미리 컴파일해둔 후 호출할 수 있게 되어 있다.




    express(미들웨어 메커니즘)


    express.Router()

    - 모듈식 마운팅 가능한 핸들러를 작성할 수 있다.



    마운트

    - 저장 장치에 접근 할 수 있는 경로를 디렉터리 구조에 편입시키는 작업

    (분산 파일 시스템으로 확장하기 용이함)



    consolidat.js

    - 수 많은 뷰 엔진 라이브러리들을 express와 호환되게 도와준다.




    파일 구조 패턴


    app.js : 새로운 express 애플리케이션 인스턴스를 만들기 위해 express()를 호출하는 곳이다.

    모든 라우트에 보안 및 정적 파일 미들웨어 처럼 공통인 미들웨어를 넣는 곳이기도 하다.


    ▶bin : node 스크립트를 보관하는 곳이다.


    ▶config : 앱에 대한 모든 구성을 저장하는 폴더다

    (기본 포트나 번호, 지역화 문자열과 같은것을 지정하는 json 파일들.. package.json)


    ▶config : 앱에 대한 모든 구성을 저장하는 폴더다


    ▶public : 정적 파일 미들웨어에서 서비스하는 폴더다.

    ▶routes : Express 라우터를 내보내는 다양한 자바스크립트 파일을 저장한다.

    ▶test : 모든 테스트 코드를 유지하는 폴더

    ▶views : 모든 뷰를 저장하는 폴더.


    종속성 버전 잠금


    - 주 버전 : 업그레이드 시 단절을 고려하는 변경이 일어날 수 있다.

    - 부 버전 : 새로운 기능을 추가할 경우에 해당하며 기존 서비스를 중단시키지 않음

    - 패치 버전 : 버그 수정과 성능 향상을 포함하는 패치를 하는 경우 해당


    "패키지 이름" : "주 버전.부 버전.패치 버전"




    낙관적 버전 관리 피하기


    - 주 버전 앞에 ^ 문자는 낙관적 버전 관리가 허용됨을 가리킨다. 즉 모든 패치와 부 버전 업데이를 받겠다고 허용하는것.

    - 부 버전 앞에 ~ 문자는 약간 덜 낙관적인 버전 관리를 가리킨다. 즉 패치 업데이트만 허용한다는것.


    npm shrinkwrap 를 이용하면 절저하게 낙관적 버전 관리를 할 수 있다고 한다.

Designed by Tistory.