보호되어 있는 글입니다.
PUT vs PATCH PUT과 PATCH 모두 리소스에 변화를 주고 있다. 따라서 resource 관점에서는 safe하지 않은 메서드다. 2가지 방식에 대해 다음 관점들로 이해해 볼 필요가 있다. 3가지 관점 1. update 리소스에 대해 직접적으로 접근할 수 있는 Key 값이 있다고 해야한다. ex) products?id=2 PUT : resource에 대해 전체 내용을 바꾸며, 리소스에서 지원하는 필드가 비어있다면 nullable 하다. PATCH : resource에서 일부분을 수정하며, 리소스에서 정의된 필드만 바꾼다. ex) PUT { item: '아이폰 XS', price: 100000, color: 'spaceGray' } 가 있다. put를 통해 API를 수..
들어가며, AWS S3에 올린 객체가 특정 날짜에 삭제되거나 몇일이 지나 삭제가 됐으면 좋겠다고 생각할 때가 있다. 이 경우 어떻게 해야 되는지 살펴보자 1. S3 Bucket LifeCycle Rule을 설정 S3 LifeCycle Rule은 객체 자체에 Rule을 설정할 수 없어 Bucket 단위로 설정이 가능하다. batch 작업으로 유저가 등록한 파일을 자동 제거하는 규칙을 설정한 rule이 있다. 생명주기 이름을 기입한다. 규칙 범위를 선택한다. 하나 이상의 필터로 이 규칙을 범위 제한 버킷의 모든 객체에 적용 필터 유형 설정 객체 태그 추가 객체 크기 제한 가능 수명 주기 규칙 작업 설정 스토리지 간 현재/이전 버전 이동 객체에 현재 버전 만료 설정하고 싶은 기간의 일 수를 기입합니다. ex)..
Presigned URL 적용 이전까지 일반적인 파일 업로드 상황 서비스에서 이전까지 S3와 관련된 SDK를 통해 stream이나 메모리에 올려둔 파일을 업로드 했다. 이 경우에는 다음과 같은 단점이 존재하게 된다. 서버에서 파일업로드 외에도 다양한 API 작업을 수행할텐데 파일업로드에 리소스(메모리, CPU)를 사용하게 된다. Network Traffic 비용이 서버로 이동할 때, AWS로 전달할 때 2중으로 쓰인다. (AWS 등의 정책에 따라 무료일 수 있다.) Presigned URL은 어떤 일을 하나? 미리 서버에서 파일이 업로드 될 것을 예상하고 params를 가지고 있는 URL을 하나 생성한다. URL을 Client에게로 전달해 유저가 직접 AWS로 파일 업로드 or 다운로드를 가능하도록 조치..
1. 문제 상황 NestJS로 서비스하고 있는 데 토스페이먼츠의 에스크로 등록 API는 EUC-KR 인코딩이 되어있다. 그로 인해 정상적으로 등록되지 못해 의도하지 않는 결과를 얻게 되었다. 이 문제를 파악하기 위해 공부했던 내용은 https://djunnni.tistory.com/10 에서 확인할 수 있습니다. 2. 기존 환경 NestJS 공식 문서에서 제공하고 있는 HttpModule을 이용해 외부 API를 호출하고 있다. https://docs.nestjs.com/techniques/http-module 3. Axios의 application/x-www-form-urlencoded 처리 과정 httpModule은 내부적으로 axios를 사용하고 있다. Content-Type을 application/..
도입 Node.js 12에서 16로 한번에 업데이트 적용후기 - 환경 세팅편에 이어 2번째 편이다. 배포 프로세스(무중단 배포 등)에 대해 자세히 다루긴 어렵지만 간단하게 어떻게 환경들을 맞춰나가고 진행을 해나갔는지만 적어보자. _무중단 배포와 관련해서는 앞으로 구름 블로그 또는 팀원으로 들어오시면 더 자세하게 알 수 있습니다!! _ 진행전 공유 앞서 우리 환경은 다음과 같았다. 제목 개발서버 배포서버 운영서버 ubuntu 18.04 16.04 18.04 python 3.7.2 3.5 3.5 gcc 7.4.0 4.8 4.8 node.js 12.xx 12.0x 12.xx npm 6.xx 6.xx 6.xx 1. python과 gcc 버전 올리기 올리게 된 이유는 관련된 dependency가 있는 node-g..
- Total
- Today
- Yesterday
- 클린코드
- 트랜잭션
- 개발프로세스
- 소프트웨어개발프로세스
- charset
- PresignedURL
- HTTP
- 디미터법칙
- 너디너리데모데이
- LTS 개선
- 개발기록
- 2022년 회고
- SSAFY 특화프로젝트 회고
- 필수단어
- JRE
- UI/UX
- AntPattern
- 점진적개선
- 콘웨이법칙
- SSAFY 퇴소
- 블로킹/논블로킹
- PUT vs POST
- 동기/비동기
- Content-Type
- 자바기초
- 디자인시스템
- nodejs 버전 관리
- application/x-www-form-urlencoded
- nodejs
- S3
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |