[AWS] S3 이미지 저장/조회/리사이징 전략
·
DevOps/AWS
📕 목차1. 개요2. 저장3. 조회4. 리사이징5. 기타6. 결론1. 개요 📌 계기 [NCP] Cloud Function으로 Object Storage presigned url 발급📕 목차 1. 개요 2. Sub Account API Key 발급 3. Cloud Function & API Gateway 4. 실행 1. 개요 📌 presigned url Object Storage(= AWS S3)는 일반적으로 누구나 접근해서 수정 가능하면 안 된다. 그렇다면 권한 인증을 받jaeseo0519.tistory.com이전에 Naver Cloud에서 제공하는 Object Storage를 사용하면서 presigned url을 사용한 적이 있었다.해당 방식을 통해 사진을 저장하고 조회하는 기능을 구현할 수는 ..
[Github Actions] 태그 생성 및 릴리즈 자동화 후 배포 파이프라인 작동
·
Computer Science/Git & Github
📕 목차1. 설계2. 태그 생성 및 릴리즈 자동화3. 배포 workflows 호출1. 설계 📌 고려 사항멀티 모듈 아키텍처로 구성된 프로젝트를 진행하던 중, 드디어 Application 영역의 도메인이 하나 더 추가가 되었다.기존의 CD 파이프라인은 external-api 모듈만을 타겟팅하여 빌드하고 있었는데, 이 방식은 현재 작업한 내용이 Socket, Admin, Batch 모듈과 관련한 작업이라면 문제가 발생할 수밖에 없었다. 그래서 CD 파이프라인을 분리하기 위해 git tag를 활용하는 것이 가장 안전하다고 판단했다.하지만 태그는 혼자서 하는 프로젝트에서 조차 휴먼 에러가 쉽게 발생할 수 있는 것 중 하나인 것을 이미 경험해봐서 알고 있었다.또한 작업 후에 태그를 push하고 릴리즈를 반영하..
[Spring Boot] TDD에선 왜 실패하는 테스트 코드를 먼저 작성할까?
·
Backend/Spring Boot & JPA
📕 목차1. TDD의 목적2. TDD와 클린 코드3. 참고 자료1. TDD의 목적 📌 개요TDD를 공부하기 위해 자료를 찾아보면 가장 쉽게 볼 수 있는 내용이 TDD의 리듬과 F.I.R.S.T에 관한 내용이다. ✒️ TDD의 리듬1. Red: 실패하는 작은 테스트를 작성하라. 처음에는 컴파일조차 되지 않을 수 있다.2. Green: 빨리 테스트가 통과하게끔 한다. 이를 위해 어떠한 죄악을 저질러도 좋다.3. Refactoring: 일단 테스트를 통과하게만 하는 와중에 생긴 모든 중복을 제거하라. 그런데 이상하지 않은가?어째서 프로덕션 코드보다도 테스트가 선행되며, 개발자가 실패할 것을 뻔히 아는 빨간 줄을 마주보게 만들까? 테스트 코드를 먼저 작성한다는 것은 무엇을 의미하며, 테스트 코드의 목적이 대..
[Spring Boot] 범용성을 고려한 QueryDsl Custom Repository
·
Backend/Spring Boot & JPA
📕 목차1. 개요2. ExtendedRepository3. QueryDslUtil4. Test Case5. 실제 사용 사례1. 개요 📌 기존 방식의 문제점 Spring Data JPA :: Spring Data JPAOliver Gierke, Thomas Darimont, Christoph Strobl, Mark Paluch, Jay Bryant, Greg Turnquist Copies of this document may be made for your own use and for distribution to others, provided that you do not charge any fee for such copies and further provided thatdocs.spring.ioJPA m..