이번 주차에서는 클론 코딩을 하게 되었다. 주제는 마켓컬리로 정해져서 마켓컬리 회원가입부터 시작해서 홈페이지를 둘러보고 코딩을 시작했다.
백엔드 입장으로서 가장 중요했던 점은 마켓컬리의 상품 정보를 가져오는거였다.
팀원 중 1명이 마켓컬리api를 통해 제품의 상세 정보를 가져올 수 있게하였고, 나는 상품마다 다르게 기입되어있는 No(넘버) 들을 카테코리별로 크롤링하여 리스트 형태로 전달하였다. 너무 많은 정보들을 다 가져올 필요는 없다고 생각되어 카테고리별 30개씩 대략 600개 정보의 상품을 가져왔고, 디비에 저장하여 프론트에 내려주었다.
크롤링 이외에 새로배운 기술은 이미지 업로드였는데, 백엔드에서 이미지 업로드를 할 때 주로 사용된다는 S3를 듣긴했지만 나는 로컬서버에 이미지를 업로드하면 클라우드 서버 보다는 용량에 더 자유롭지 않을까 하여 로컬서버에 업로드하는 법을 공부했다.
이미지 업로드까지는 무난했고 문제도 없었다, 하지만 이미지 저장 후 그것을 URL로 반환을 해주는데 있어 곤란한 점이 나왔다
스프링 부트에서는 타임리프를 통해 static에 있는 이미지를 렌더링하여 url 주소를 통해 브라우저에서 볼 수 있게 해주는데,
이미지가 새로 업로드 (동적리소스라 함) 되어도 타임리프가 그 이미지를 자동으로 렌더링 해주지 않았다.
이 것을 해결하기 위해서 사용하고 있는 에디터(인텔리제이)에 핫스왑 기능을 설정하여 서버 재부팅 없이 동적 리소스가 반영되도록 하였다.
그래서 URL을 반환받아 브라우저로 이미지를 볼 수는 있었지만, 결과적으로 해결하지 못했던 점은 url을 받자마자 열어도 이미지가 보이지 않고 새로고침을 해줘야 한다는 점이다.
문제를 해결하기 위해 구글링을 더 해보았지만, 해결하지는 못했다. 일단 이미지 업로드로 만족하고, 다음에는 S3를 써보려고 한다.
로컬 서버 업로드 시 URL 주소가 바로 활성화 되지 않는 점은 앞으로 시간이 나면 알아봐야 할 것 같다.
'항해 시절' 카테고리의 다른 글
https 공부 (항해 9주차 회고록) (0) | 2022.07.02 |
---|---|
Linux, Ubuntu,Docker 공부 (항해 8주차 회고록) (0) | 2022.07.02 |
첫 협업을 하면서 느낀점 (항해 6주차 회고록) (0) | 2022.07.02 |
CORS란 무엇인가 (항해 5주차 회고록) (0) | 2022.07.02 |
ORM,SQL,MVC란 무엇인가 (항해 4주차 회고록) (0) | 2022.07.02 |