개발일지를 빠르게 작성하겠다.
본래 어제, 자정까지, 그러니까 2023년 마지막 내에 제출해야 하는데, 연말의 바쁜 시간을 보내면서 무심코 잊게 되었다.
늦어도 안 하는 것 만이 못하다고 할 순 없으니.. 비록 지체되었지만 빠르게 작성을 하고자 한다.
퍼즐 맞추기
코딩 강의는 상당히 불친절하다고 느껴졌지만, 진도가 진행될 수록, 직접 과제를 제출하기 위해 로직을 하나하나 구현해나가면서, 의문으로 들었던 내용들이 내 머릿속에서 하나하나 정리되기 시작했다.
이러한 것들 중 하나를 예로 들자면, 미들웨어가 있겠다.
미들웨어라는 단어를 처음에 접할 때, 무언가 서로 중계하면서 주고 받는 도식도를 함께 보면서, 나는 미들..이라는 '중간'을 뜻하는 단어와 소프트웨어의 뒷 단어인 '웨어'를 머릿속에서 조합해 나가면서 어떻게든 의미를 찾아내려고 했다. 그때는 막연히 로직 간의 이동을 '중계'하는 코드 정도라고 막연하게 생각했지만, 이번에 팀웍으로 과제를 제출하고, 2주차 강의를 듣게 되면서 머릿속에 정리가 어느정도 되었다.
프로그램을 만들면서 하나의 스크립트에 모든 것을 때려박는 것은 가독성 뿐만 아니라 여러 면에서 권장되지 않는 방식이다. 그래서 vsCode에는 여러 파일들을 만들고 그 안에 스크립트를 마치 정리된 책장 속 책들처럼 잘 배치해 놓는다. 이러한 방식을 아마 RESTful이라고 하는 것 같은데, 협업 가독성 면에서 굉장히 좋은 접근 방식이라고 한다.
아마 이렇게 분리한 스크립트가 하나의 프로그램 내에서 작동을 하려면, 스크립트 간의 연결망이 구축되어야 한다. 그래서 각 스크립트 마다 import '이름 할당' from '파일 경로' 이런 방식으로 가져오는 듯 하다. 물론 임포트 한다고 해서 바로 코드 내에서 실현되는 것은 아니다. 각 코드마다 필요에 따라서 불러와서 할당하는 과정이 필요한 것은 별개.
미들웨어란?
개인적으로 미들웨어는 RESTful과 그 역할은 비슷하다고 할 수 있으나, 한편으로는 더욱 로직에 가깝다고 생각이 든다. 스크립트 내에 코드.. 그러니까 백엔드에서는 route가 실행이 되면서 서로간의 데이터를 주고 받는데, 이 route가 여러 단계로 나눠서 구현한 것이 미들웨어가 아닌가 싶다.
현재 수강하는 강의에서는 '로그인' 이후 클라이언트가 request를 할 때마다 발급한 token을 인증, 인가해야 하는데, 이를 매 접속하는 route마다 코드를 적어놓는 것은 상당히 번거로울 것이다.
무엇보다 '인증'하는 과정인 만큼, 앞서 해당 로직이 구현되어야 하는데, 이를 따로 스크립트를 빼내서 만든 다음, 각 route마다 앞에 추가하여 구현하는 방식이 '미들웨어'인 동시에 RESTful 방식이 아닐까 싶다.
'개발일지' 카테고리의 다른 글
| 항해99 7주차 개발일지 (1) | 2024.01.22 |
|---|---|
| 항해99 5주차 개발일지 (1) | 2024.01.07 |
| 항해99 3주차 개발일지 (0) | 2023.12.24 |
| 항해99 2주차 개발일지 (1) | 2023.12.17 |
| 항해99 3일차 개발일지 (0) | 2023.12.13 |