2025/02 3

이미지 전송

1. 요약목적이미지 전송 원리 이해동기현재 제작하고 있는 프로젝트의 더 깊은 이해현 프로젝트에서는 이미지를 GCS에 저장하여 사용하고 있음해당 이미지 전송에 대한 이해도가 부족하다고 생각되어, 이미지 전송 과정을 공부하고자 함과정FE → BE로 이미지 전송하는 과정을 그리기2. FE요약통신 방법XMLXHLXMLHttpRequestAJAX데이터 형식MIME-TYPEContent-Typemultipart/*multipart/form-dataXML데이터 표기 방법 중 하나데이터 전송 시, xml 형식으로 데이터 정보 기술 가능예시 Harry Potter J.K. Rowling 1997  XHL비동기 통신 방법XML, JSON 등의 데이터를 주고받게 됨이점페이지 새로고침 없이 최신 정보로 업데이트※ 동기 / 비..

기타 2025.02.07

테스트 코드

https://tech.kakaopay.com/post/mock-test-code/1. 요약테스트 코드는 Mock을 스프링 빈으로 등록하여 사용한다.각 의존하는 객체는 실제 사용하는 것이 아닌, return 값을 미리 정해준다.2. 문제테스트 코드 작성 시, 의존하는 객체에 의해서 문제가 발생한다.아래 코드는 AuthService의 login 함수를 테스트하는 코드다.문제는 login 함수를 테스트 하기 위해서 DB에 데이터를 저장해야 한다.즉, AuthService는 UserRepository(DB 저장 객체)에 의존적이다.이와 같은 의존 객체가 많아질 수록, 테스트가 어려워진다.@SpringBootTestclass AuthServiceTest { private final AuthService a..

스프링 2025.02.05

스프링 - GCS 이미지 저장/덮어쓰기/삭제

목적GCS로 이미지 저장, 삭제, 수정 구현설명GCS는 Storage 객체를 통해 이미지 저장소(bucket)에 접근 가능Storage를 통해 이미지 저장 및 삭제 가능(수정은 불가)보완 계획GCS 이미지 등록을 비동기적으로 수행Storage 객체를 비동기적 또는 멀티 스레드 방식으로 해결 예정(현재는 ADMIN 관리자만 상품 등록이 가능하므로, GCS를 스프링 빈으로 선언해서 싱글톤 객체로 쓰고 있음) QnA)1. GCS 용어용어https://techblog-history-younghunjo1.tistory.com/27Bucket데이터 저장소Bucket안에 Bucket이 있을 수 없음각 Bucket 안에 각 데이터(이미지)를 저장 가능ObjectBucket 안에 있는 각 데이터구성 요소객체 데이터실제 ..

스프링 2025.02.03