미들웨어 함수는 요청 오브젝트(req), 응답 오브젝트(res), 그리고 애플리케이션의 요청-응답 주기 중 그 다음의 미들웨어 함수에 대한 액세스 권한을 갖는 함수입니다. 그 다음의 미들웨어 함수에 액세스하기 위해서 next()를 사용합니다. 라우터, 컨트롤러, 미들웨어 라우터: 엔드포인트와 해당 엔드포인트에서 실행돼야 할 로직(함수)를 연결해주는 역할 컨트롤러: 미들웨어의 일종이지만 메인 로직을 담당 미들웨어 : 메인 로직(미들웨어)의 컨트롤러 앞 뒤로 추가적인 로직 담당 이런 식으로 역할과 책임을 나누어서 관리해주면 코드 가독성이 쉬워지고 유지보수에 좋습니다. 각 코드 예시는 아래와 같습니다. // 라우터 app.get('/users/:uid/letters/', authentication, autho..