IT모아

Express 인액션 본문

My-Book(History)

Express 인액션

아롱사태남 2017.04.08 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 를 이용하면 절저하게 낙관적 버전 관리를 할 수 있다고 한다.

0 Comments
댓글쓰기 폼