TIL/BackEnd5 멱등성 API? 멱등(Idempontent)성, 멱등성 API란? 첫 번째 수행한 결과와 그 후 여러 차례 반복하여 수행한 결과가 동일한 작업 또는 그 속성을 의미함 ⇒ 즉 멱등한 API라면 2번 이상 요청해도 결과가 처음 요청과 똑같이 돌아와야 한다. 단순히 돌아온 값만 같을 뿐만 아니라 DB에도 영향 없어야 함. ⇒ 의도하지 않은 문제 발생시키지 않고 요청을 재시도할 수 있음 예를 들어 이미 HTTP 메소드들 중에서 GET, PUT 같이 여러번 호출해도 매번 같은 리소스로 대체되거나 조회되는 경우 멱등성이 보장된 메소드라고 볼 수 있음 반면, 서버 데이터를 변경하는 POST, PATCH 의 경우 호출할 때마다 응답이 달라지기에 멱등하지 않음 API 통신에 멱등성을 보장하고자 한다면? 멱등키를 API 요청에 포함하자 .. TIL/BackEnd 2023. 10. 15. [BE]무한 스크롤(Infinite Scrolling) & 페이지네이션(Pagination) 요즘 사람들이 많이 사용하는 어플리케이션에 무한 스크롤이 없는 것을 오히려 찾아보기 힘들 정도라고 생각한다. 막상 쓸 때에는 이것을 어떻게 구현하냐? 라는 것에 대해 고민을 크게 해본적이 없었지만, 이번에 구현해보면서 했던 고민과 알게 된 점을 적고자 한다. 무한 스크롤은 말그대로 페이지 이동을 하지않고 계속 내려도 (보여줄 컨텐츠가 있다면) 컨텐츠를 무한정으로 보여주는 기능을 의미한다. 이러한 기능을 어떻게 구현할 것이냐? 라고 물으면 그냥 바로 생각나는 것은 무한대의 컨텐츠를 서버에게 요청하고 클라이언트가 받아서 줄줄이 소세지마냥 보여줍니다! 라는 생각이 났었다. 동작을 할 것이다 하지만 생각을 하면서도 너무 비효율적일 것이라는 생각을 동시에 하게 된다. 어떤 유저는 우리가 의도한대로 한 화면에서 무.. TIL/BackEnd 2022. 10. 4. [Nest.Js] 미들웨어 미들웨어란? 미들웨어는 클라이언트로부터 들어온 요청을 각 컨트롤러의 요청 핸들러(라우터)가 처리하기 전에 코드를 실행할 수 있는 기능. Pipes 파이프는 요청 유효성 검사 및 페이로드 변환 담당, 데이터를 직렬화한다 Filters 오류 처리 담당, 특정 오류 처리기를 사용할 경로와 경로 주변의 복합성을 관리하는 방법 Guards 인증 담당, 지정된 경로로 통과할 수 없는 사람과 있는 사람을 서버에 알려줌 Interceptors 응답 매핑 및 캐시 관리와 함께 요청 로깅과 같은 전후 미들웨어, 각 요청 전후에 실행 실행 순서 미들웨어 -> guard -> interceptor(전) -> pipe -> controller -> service -> controller -> interceptor(후) -> f.. TIL/BackEnd 2022. 8. 2. [BE] preSignedUrl을 활용한 업로드 다운로드 구현 중 고민 [BE] 이미지 업로드, 다운로드 시의 고민 (feat. preSigned URL) — Registro (tistory.com) [BE] 이미지 업로드, 다운로드 시의 고민1 (feat. preSigned URL) 이미지나 동영상을 업로드하고 다운로드하는 경우가 많음 이러한 작업을 서버단에서 처리해줄 때 EC2에 띄워져 있는 서버에 이미지를 받아서 이를 S3에 저장하는 방법이 있을 것이고 유저가 바 lackofwillpower.tistory.com 이전에 작성했던 글을 내용을 실제로 구현하면서 느꼈던 고민과 과정을 기록하고자한다. 우선 구현하면서 느꼈던 고민에 대해서 이야기해려고 한다. 정확히는 나의 경우는 게시글과 이미지/동영상 등을 처리할 두 테이블을 따로 만들어 게시글 하나에 여러개의 이미지/동영상.. TIL/BackEnd 2022. 7. 31. [BE] 이미지 업로드, 다운로드 시의 고민 (feat. preSigned URL) 이미지나 동영상을 업로드하고 다운로드하는 경우가 많음 이러한 작업을 서버단에서 처리해줄 때 EC2에 띄워져 있는 서버에 이미지를 받아서 이를 S3에 저장하는 방법이 있을 것이고 유저가 바로 S3에 이미지를 업로드하고 받아오는 방법이 있을 것이다. 그냥 바로 성능적인면을 보면 상식적으로 생각하면 두번 이동해야하는 방법보다 한번에 바로 업로드하는 방법이 효율적일 것이다. 또한 서버가 이미지가 들어오는 트래픽을 처리해야 하는 점에서 서버에 부하가 걸리는 것까지 비용이 될 것이다. 그렇다면 바로 S3에 저장하는 것이 무조건 옳은 것인가?? 라고 하면 걱정이 되는 부분은 보안이다. S3에 접근하기 위해 AWS 관련된 키라던지 보안적으로 위험한 요소를 클라이언트 쪽이 들고 있게 될 것이다. 이러한 점을 보완하기에 .. TIL/BackEnd 2022. 7. 26. 이전 1 다음 반응형