Express 이론

여리·2023년 1월 17일
0

Express는 프레임워크이다.

Frontend에서 React를 사용하는것과 같이 간결하고 깔끔한 server를 구축할 수 있는 framework 개념으로 Express가 무엇인지에 대해서 서버개발자가 되는 사람의 기초적인 접근법에 좋을 것 같다.


⬆️ 프레임워크의 설명을 원문으로 표현한 것.

프레임워크의 장점

  1. 효율성의 상승 : 무에서 유를 창조하는것이 아니라 기존에 짜여진 틀을 활용하여 새로운 것을 만들 수 있다.

  2. Quality의 향상 : 짜여진 틀에 프로그래밍을 하는것이기 때문에 버그 발생의 가능성을 저하시킬 수 있다.(어느 부분이 잘못되어 있는지 확인 가능하다.)

  3. 유지 보수에 유리 : 짜여진 체계적 구조를 사용하기 때문에 리팩토링에도 긍정적인 영향을 미칠 수 있다.

프레임워크의 단점

  1. 학습시간이 길다 : 이전의 개발자가 어느정도 만들어 놓은 코드구조를 보게될때 학습해야하며 그에대한 history나 구조의 이해를 파악해야 하기 때문에 시간적인 부분이 필요하다.

2.제작자가 의도한 제약사항 : 짜여진 틀에 긍적적인 영향의 반대로 발생할 수 있는 부분이다. 의도가 짜여져 있기때문에 그 구조를 따라야하기 때문에 제약이 생길 수 밖에 없다. 그 의도를 반할 필요는 굳이 없다.

단점에 대비해서 장점이 너무 크고 단점을 상쇄시키기 때문에 프레임워크를 사용하는것이다.

익스프레스를 사용하는 이유??

Express는 빠르고 자유롭고 가벼운 웹 프레임워크다.

  • 최소한의 기능부터 가볍게 웹서버를 구현할 수 있다.
  • 개발 입문자가 동작원리를 초석부터 다지기 좋은 프레임 워크.
  • Node.js 기반 server side framework 중 오랜사랑을 받은 framework.

리니어 라인을 추구하는 이유 : 분기(if/else if...)가 계속되면 그에대한 코드의 가독성이 떨어지기 때문에 간단하고 일관되게 작성하는것이 효율적인 개발을 요구하게 된다.

Express는 웹 서비스로서의 기능을 직접적으로 담당하는 역할을 한다.
그에 반해 Node.js는 런타임 환경만 제공하는 제약적인 조건을 갖고 있다.

nodemon

  • 서버에서는 코드에서 수정이 일어날때 수정사항이 서버에 자동적으로 반영되지 않는데 이를 보완하고자 하는것이 nodemon 이라는 패키지를 이용의 목적이다.
  • 코드 수정 및 저장시에도 서버가 자동적으로 재시작을 한다. 'rs'명령어를 입력하여도 동일하게 재시작을 한다.

cors

CORS
Cross Origin Resource sharing
교차 출처 자원 공유

  • 프/백으로 나뉘어진 3세대 웹서버 환경에서는 동일한 출처에서 소통해야하는 정책을 완화시켜 서로간 통신을 가능하게 해야하는데 이를 위한 패키지가 바로 cors다.
  • cors를 사용하지 않으면 cors의 정책 위반을 사유로하여 서버통신이 되지 않는다.

dotenv(.env)

enviroment variable

환경변수 관리 패키지로 컴퓨터에서 동작하는 방식에 영향을 미치는, 동적인 값들의 모임으로 데이터베이스에 접속하는 계정명과 비밀번호등의 상세 설정내역이 기록되어있다.

환경변수는 탈취(해킹)당하면 보안에 큰 위험성을 야기하기때문에 꼭 .gitingore 파일에 포함시켜 관리해야 한다.

moregan

  • 네트워크를 통신을할때 필요한 요소들은 로깅하기위한 행위.
  • Node.js는 네트워크 통신기록(로깅)기능이 없기 때문에 로그관리를 위해서 외부의 서브파티 모듈/라이브러리를 사용할 것을 권장한다.
  • Morgan은 npm에서 사용되는 로그관리를 위한 여러 패키지 중 하나.
  • morgan을 사용하게되면 통신시 백-프같 기본정보들을 자동으로 포매팅하여 관리할 수 있게 해준다.

보안을 강화한 상태에서 교차되는 자원에 대한 공유가 될 수 있도록 개발환경을 설정하게 하는 기능(보안을 약화(?)시키기 위한 기능??)

profile
beckend developer

0개의 댓글