프레임워크
이다.Frontend에서 React를 사용하는것과 같이 간결하고 깔끔한 server를 구축할 수 있는 framework 개념으로 Express가 무엇인지에 대해서 서버개발자가 되는 사람의 기초적인 접근법에 좋을 것 같다.
⬆️ 프레임워크의 설명을 원문으로 표현한 것.
효율성의 상승 : 무에서 유를 창조하는것이 아니라 기존에 짜여진 틀을 활용하여 새로운 것을 만들 수 있다.
Quality의 향상 : 짜여진 틀에 프로그래밍을 하는것이기 때문에 버그 발생의 가능성을 저하시킬 수 있다.(어느 부분이 잘못되어 있는지 확인 가능하다.)
유지 보수에 유리 : 짜여진 체계적 구조를 사용하기 때문에 리팩토링에도 긍정적인 영향을 미칠 수 있다.
2.제작자가 의도한 제약사항 : 짜여진 틀에 긍적적인 영향의 반대로 발생할 수 있는 부분이다. 의도가 짜여져 있기때문에 그 구조를 따라야하기 때문에 제약이 생길 수 밖에 없다. 그 의도를 반할 필요는 굳이 없다.
단점에 대비해서 장점이 너무 크고 단점을 상쇄시키기 때문에 프레임워크를 사용하는것이다.
Express는 빠르고 자유롭고 가벼운 웹 프레임워크다.
리니어 라인을 추구하는 이유 : 분기(if/else if...)가 계속되면 그에대한 코드의 가독성이 떨어지기 때문에 간단하고 일관되게 작성하는것이 효율적인 개발을 요구하게 된다.
Express는 웹 서비스로서의 기능을 직접적으로 담당하는 역할을 한다.
그에 반해 Node.js는 런타임 환경만 제공하는 제약적인 조건을 갖고 있다.
CORS
Cross Origin Resource sharing
교차 출처 자원 공유
enviroment variable
환경변수 관리 패키지로 컴퓨터에서 동작하는 방식에 영향을 미치는, 동적인 값들의 모임으로 데이터베이스에 접속하는 계정명과 비밀번호등의 상세 설정내역이 기록되어있다.
환경변수는 탈취(해킹)당하면 보안에 큰 위험성을 야기하기때문에 꼭 .gitingore 파일에 포함시켜 관리해야 한다.
보안을 강화한 상태에서 교차되는 자원에 대한 공유가 될 수 있도록 개발환경을 설정하게 하는 기능(보안을 약화(?)시키기 위한 기능??)