본문 바로가기 메뉴 바로가기

세상엔 배울 게 많다

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

세상엔 배울 게 많다

검색하기 폼
  • 분류 전체보기 (34)
    • 회고록 (6)
      • Daily (4)
      • Yearly (2)
    • Problem Solving (3)
      • 개발일기 (0)
      • 작업일기 (3)
    • CS (23)
      • Client (6)
      • Server (3)
      • JAVA (2)
      • Infra (2)
      • Software Engineering (8)
    • ETC (2)
  • 방명록

CS (23)
PUT vs PATCH

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를 수..

CS/Client 2023. 10. 13. 00:26
S3에 올린 데이터를 기간이 지나고 난 뒤 자동삭제 하는 방법

들어가며, AWS S3에 올린 객체가 특정 날짜에 삭제되거나 몇일이 지나 삭제가 됐으면 좋겠다고 생각할 때가 있다. 이 경우 어떻게 해야 되는지 살펴보자 1. S3 Bucket LifeCycle Rule을 설정 S3 LifeCycle Rule은 객체 자체에 Rule을 설정할 수 없어 Bucket 단위로 설정이 가능하다. batch 작업으로 유저가 등록한 파일을 자동 제거하는 규칙을 설정한 rule이 있다. 생명주기 이름을 기입한다. 규칙 범위를 선택한다. 하나 이상의 필터로 이 규칙을 범위 제한 버킷의 모든 객체에 적용 필터 유형 설정 객체 태그 추가 객체 크기 제한 가능 수명 주기 규칙 작업 설정 스토리지 간 현재/이전 버전 이동 객체에 현재 버전 만료 설정하고 싶은 기간의 일 수를 기입합니다. ex)..

CS/Infra 2023. 10. 9. 13:23
S3에서 Presigned URL 사용하기

Presigned URL 적용 이전까지 일반적인 파일 업로드 상황 서비스에서 이전까지 S3와 관련된 SDK를 통해 stream이나 메모리에 올려둔 파일을 업로드 했다. 이 경우에는 다음과 같은 단점이 존재하게 된다. 서버에서 파일업로드 외에도 다양한 API 작업을 수행할텐데 파일업로드에 리소스(메모리, CPU)를 사용하게 된다. Network Traffic 비용이 서버로 이동할 때, AWS로 전달할 때 2중으로 쓰인다. (AWS 등의 정책에 따라 무료일 수 있다.) Presigned URL은 어떤 일을 하나? 미리 서버에서 파일이 업로드 될 것을 예상하고 params를 가지고 있는 URL을 하나 생성한다. URL을 Client에게로 전달해 유저가 직접 AWS로 파일 업로드 or 다운로드를 가능하도록 조치..

CS/Infra 2023. 10. 9. 13:22
URLSearchParams를 사용하자

velog 블로그에서 tistory로 이전한 데이터 입니다. 도입 옛날에 작성된 코드를 보면 아래와 같이 처리된 코드들이 있다. function query({name,address,phone}) { let arr = []; name && arr.push(`name=${name}`); address && arr.push(`address=${address}`); phone && arr.push(`phone=${phone}`); arr = arr.join('&'); return axios.get(`${URL}/user?${arr}`); } 의도한 결과는 잘 나올것이다. 하지만 최근에는 URLSearchParams를 사용하면 쉽게 해결할 수 있다. 사용법 function query({name,address,ph..

CS/Client 2023. 10. 8. 15:26
URL 쿼리 파싱은 어떻게 할래?

velog 블로그에서 tistory로 이전한 데이터 입니다. 2020-12-2 도입 네이버 FE 면접에서 url query를 파싱하는 방법에 대해 물어봤던 적이 있다. 아마 뛰어난 분들은 잘 하시겠지만 간단하게 만드시는 분들도 많을 것이다. 당시에 나는 어떻게 했을까? 내 풀이 문제 예시: key=123&name=djlee&address=suwon 결과 : {key: "123", name: "djlee", address: "suwon"} function queryParsing(str) { const result = {}; const arr = str.split('&'); arr.forEach(sub => { const [key,value] = sub.split('='); re..

CS/Client 2023. 10. 8. 15:25
package.json에 있는 command 왜 '--'를 넣을까?

velog 블로그에서 tistory로 이전한 데이터 입니다.2020-12-01 도입 npm run test -- --findRelatedTests [$filename]위 코드처럼 husky를 통해 eslint와 테스트를 자동화하는데에 주로 사용을 하는데 lint-staged를 사용하는데 있어서 왜 command에 '--'를 넣을까 의문이였다. 용도 '--' 설명은 다음과 같이 나와 있다. The standalone -- is *nix magic for marking the end of options, meaning (for NPM) that everything after that is passed to the command being run, in this case jest...

CS/Server 2023. 10. 8. 15:24
이전 1 2 3 4 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
  • djunnni github
TAG
  • application/x-www-form-urlencoded
  • 소프트웨어개발프로세스
  • charset
  • SSAFY 퇴소
  • PresignedURL
  • 너디너리데모데이
  • SSAFY 특화프로젝트 회고
  • 필수단어
  • 트랜잭션
  • PUT vs POST
  • 동기/비동기
  • 자바기초
  • HTTP
  • 클린코드
  • 개발프로세스
  • LTS 개선
  • 개발기록
  • 점진적개선
  • AntPattern
  • 블로킹/논블로킹
  • UI/UX
  • 디미터법칙
  • 2022년 회고
  • JRE
  • nodejs
  • 콘웨이법칙
  • 디자인시스템
  • Content-Type
  • S3
  • nodejs 버전 관리
more
«   2025/07   »
일 월 화 수 목 금 토
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 31
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바