노드의 미들웨어 목적은 함수랑 똑같다.
여러곳에서 해야할일을 공통으로 해주는 거다.
함수랑 다른게 뭐냐고 물어본다면 AoP부터 말해야한다.
프로그램의 코드는 항상 비즈니스 로직과 커먼컨선으로 분리를 시킨다. 비즈니스 로직은 업무처리에 관한것이고 커먼컨선은 공통 관심 사항에 대한 것이다. 비즈니스 로직은 업무 담당자가 있어야하고 커먼 컨선은 담당자가 없어도 된다. 세션을 쓰네 못쓰네 하는 것은 비지니스 로직보다 공통 관심사항에 대한 것이다. 함수를 사용하면 이 두가지가 한곳에 존재하게 되는데 그러며 코드에 함부로 손대기 곤란한 경우에 처한다. 그래서 분리시켜놔야한다는 거다. 이 때 쓰는게 노드에서는 미들웨어다. 커먼 컨선 역할과 비즈니스 로직을 명확하게 구분해두면 (운영자들도 손 댈 수 있는 곳이 최소한 생기므로 운영자들도 조금 더 편하게 코드를 수정할 수 있음.)미들웨어라는 것은 노드가 그냥 붙인 이름이고 이 일련의 과정을 AoP라고 부른다. 관점지향 프로그램이다. spring의 최대 장점이 바로AoP.
회사관점에서 이 두가지를 명확히 구분하는 건 굉장히 중요한 일이다. 비지니스 로직은 그 자체가 돈이라 협력업체와 공유하는 것 자체가 손해다. 협력업체와 최소한의 코드공유도 가능하고..
어떤것들을 미들웨어로 활용하는 지 살펴보는 게 중요하다. 커먼컨선이 뭣인지도..
'개발' 카테고리의 다른 글
| Spring boot의 Stomp-websocket으로 구성한 채팅 기능 (0) | 2023.05.08 |
|---|---|
| Git과 Github의 차이점 (0) | 2023.02.24 |
| DBMS와 트랜잭션 (0) | 2022.11.21 |
| 자바스크립트 & 노드 JS 작동 원리 (이벤트 루프,WENB API, 콜스택, HEAP 이해하기) (0) | 2022.11.20 |