본문 바로가기

항해 시절

클론 코딩 (항해 7주차 회고록)

728x90
728x90

이번 주차에서는 클론 코딩을 하게 되었다. 주제는 마켓컬리로 정해져서 마켓컬리 회원가입부터 시작해서 홈페이지를 둘러보고 코딩을 시작했다.

백엔드 입장으로서 가장 중요했던 점은 마켓컬리의 상품 정보를 가져오는거였다.

팀원 중 1명이 마켓컬리api를 통해 제품의 상세 정보를 가져올 수 있게하였고, 나는 상품마다 다르게 기입되어있는 No(넘버) 들을 카테코리별로 크롤링하여 리스트 형태로 전달하였다. 너무 많은 정보들을 다 가져올 필요는 없다고 생각되어 카테고리별 30개씩 대략 600개 정보의 상품을 가져왔고, 디비에 저장하여 프론트에 내려주었다.

크롤링 이외에 새로배운 기술은 이미지 업로드였는데, 백엔드에서 이미지 업로드를 할 때 주로 사용된다는 S3를 듣긴했지만 나는 로컬서버에 이미지를 업로드하면 클라우드 서버 보다는 용량에 더 자유롭지 않을까 하여 로컬서버에 업로드하는 법을 공부했다.

이미지 업로드까지는 무난했고 문제도 없었다, 하지만 이미지 저장 후 그것을 URL로 반환을 해주는데 있어 곤란한 점이 나왔다

스프링 부트에서는 타임리프를 통해 static에 있는 이미지를 렌더링하여 url 주소를 통해 브라우저에서 볼 수 있게 해주는데,

이미지가 새로 업로드 (동적리소스라 함) 되어도 타임리프가 그 이미지를 자동으로 렌더링 해주지 않았다.

이 것을 해결하기 위해서 사용하고 있는 에디터(인텔리제이)에 핫스왑 기능을 설정하여 서버 재부팅 없이 동적 리소스가 반영되도록 하였다.

그래서 URL을 반환받아 브라우저로 이미지를 볼 수는 있었지만, 결과적으로 해결하지 못했던 점은 url을 받자마자 열어도 이미지가 보이지 않고 새로고침을 해줘야 한다는 점이다.

문제를 해결하기 위해 구글링을 더 해보았지만, 해결하지는 못했다. 일단 이미지 업로드로 만족하고, 다음에는 S3를 써보려고 한다.

로컬 서버 업로드 시 URL 주소가 바로 활성화 되지 않는 점은 앞으로 시간이 나면 알아봐야 할 것 같다.