오늘의 공부내용
: 면접 및 api 작성, 함수란?
모의면접 내용1 : REST API
1. OBJECT 모델링 : 리소스로 표시될 개체를 식별한다.
2. 리소스 URIS 생성 : APLS에 대한 엔드포인트가 되는 리소스 URI를 결정한다. (이때 URI는 동사, 연산 사용하지않음)
3. 리소스 표현 : 각 URI가 클라이언트에게 반환할 리소스 표현에 대해 작업한다.
(리소스 반환시 가장중요한 정보만 포함, 각 리소스/컬렉션에는 자신에 대한 링크 하나 이상 포함)
4. HTTP Methods 할당 : 가능한 모든 작업을 결정하고 HTTP Methods를 통해 리소스 URI에 매핑합니다.
관련 사이트 https://restfulapi.net/rest-api-design-tutorial-with-example/
모의면접 내용2 : 미들웨어
미들웨어는 익스프레스의 핵심이다
미들웨어 함수를 여러번 인자로 쓸 수 있으며 req, res, next 가 매개변수인 함수이다.
(req, res, next()로 다음 미들웨어로 넘어감)
요청과 응답 중간에 위치해서 미들웨어인데, 요청과 응답을 조작하여 기능을 추가하기도, 나쁜 요청을 걸러내기도 한다.
익스프레스 내에서 웹 요청과 응답에 대한 정보를 사용해서 필요한 처리를 진행할 수 있도록 분리된 독립적인 함수
각각의 미들웨어는 next()메소드를 호출해서 그 다음 미들웨어가 작업을 처리할 수 있도록 순서를 넘길 수 있다.
에러처리 미들웨어는 매개변수가 err, req, res, next 4개
모의면접 내용3 : 동기/비동기
동기 : 요청한 작업에 대해 완료여부를 따져 순차대로 처리
비동기 : 요청한 작업에 대해 완료 여부를 따지지 않음(=> 자신의 다음 작업을 그대로 수행)
동기/비동기와 헷갈리는 개념 : 블로킹/논블로킹
동기/비동기 : 요청한 작업에 대해 완료여부를 신경써서 작업을 순차적으로 수행할지 아닌지 에 대한 관점
블로킹/논블로킹 : 현재 작업이 차단(,대기) 되느냐 아니냐에 따라 다른 작업을 수행할 수 있는지에 대한 관점
; 대표적으로 setTimeout() 비동기 + 논블로킹 함수
오늘의 일을 예견하듯.. 베이직 반에서 튜터님이 정리에 대해 이야기 해주셨음
정리를 해야하는 이유)
: 면접관 앞에서도 정리해서 얘기를 잘 할 수 있도록 => 습관화 들일 것
; 이해한 것과 이해한 것을 설명하는 것은 많이 다르니 요약 후 잘 정리할 것
: 설명해주는 것만 정리하지 말고 찾아보고 정리할 것
; 그래야 잘 잊지도 않고, 잊어버려도 금방 생각날 수 있음
개발을 잘하는 사람은 => 빨리 찾는 사람
베이직반 함수
회고 : 면접 때 두리뭉실하게 얘기했던 모습이 기억나서 정리를 하고 튜터님께 질문해서 개념을 확실히 해봐야겠음.