-
HOW TO 개발자님 이 상품 이미지 이상해서 좀 내릴께요카테고리 없음 2020. 4. 16. 13:11
앞서 POST, GET, DELETE에서 어떤 정보를 갖고 오는지 간단히 이야기를 했는데, 쇼핑몰에는 고객의 개인정보, 상품정보, 배송정보가 모두 있습니다.
MR.다마고치가 물건을 온라인 커머스에서 구매했고 현재 배송중인 경우에 커머스에서 필요하거나 사용되고 있을 정보는 무엇이 있을까요?
우선 PM 다마고치의 개인 식별 코드, 집 주소, 연락처, 개인 정보, 결제 정보, 구매이력, 상품 정보, 구매금액이 고객 정보 테이블에 있을 수 있고 PM 다마고치가 산 상품에 대해 상품코드, 제조사, 단가, 분류, 그리고 물류 관련 정보가 있을 수 있습니다. 또 배송 테이블에는 배송 식별 코드와, 배송사, 집하지(창고), 출발여부, 배송자 연락처 등이 표시되어 있을 수 있습니다. 이렇게 많은 데이터들이 온라인 커머스에서 쓰이는데 그중 개인정보는 특히 보안이슈가 있어서 서버가 꼭꼭 잘 숨겨두고 있을 수 있습니다.
그런데 한 사람이 아니라 수십 명의 사람이 이런 데이터를 실시간으로 조회하게 되면 서버의 부담이 커집니다. 그래서 어떤 데이터들은 클라이언트에 임시저장해서 서버를 거치지 않고도(네트워크 없이도) 빠르게 "데이터 베이스"에 접근할 수 있게 됩니다.
대표적으로 MR 다마고치에 글을 쓰기 위해 티스토리 페이지를 열고, 확인 버튼을 누르면 저장되었던 PM다마고치 아이디와 비밀번호가 입력되어 자동으로 로그인이 됩니다. 이렇게 서버에 접속하면 저장되었던 클라이언트의 문자 정보를 이용하는 것을 쿠키(Cookies)라고 합니다. 물론 이 정보도 너무 많으면 내 컴퓨터/모바일 기기의 네트워크 속도를 느리게 해서 가끔 지워줘야 합니다.
쿠키는 자동문처럼 연결되면 열리기 때문에, 로컬 저장소가 있습니다. 이 것은 키 값을 쌍으로 제공하여 좀 더 안전하고 직관적이며 더 많은 정보를 저장할 수 있습니다. 세션 저장소는 탭을 열고 닫는 나의 행동이 끝날 때까지만 데이터를 저장합니다. 이외에 Indexd DB 같은 것이 있습니다. 이런 친구들도 CRUD 문법을 사용해서 만들고 수정하고 불러오고 삭제할 수 있습니다.
MR 다마고치의 생각으로는 아래처럼 JSON을 통해 객체화되어서 고객 정보가 클라이언트에 저장될 수도 있는 것 같습니다. 그런데 부족함은 있습니다. 더 알게 되면 더 수정할께요
JSON은 순서쌍으로 객체를 만드는데,
{ 2 "이름": "홍길동", 3 "나이": 25, 4 "성별": "여", 5 "주소": "서울특별시 양천구 목동", 6 "특기": ["농구", "도술"], 7 "가족관계": {"#": 2, "아버지": "홍판서", "어머니": "춘섬"}, 8 "회사": "경기 수원시 팔달구 우만동" 9 }
PM 다마고치가 풀어야 하는 문제 중에서 상품 아이콘 이미지가 안뜨거나 기본으로 뜨는 문제가 있는데, 이런 이야기를 들었습니다.
“아 그게 서버에서 이미지 URL을 보내줘야 하는데, API가 미완성인 것 같아요. JSON에 아이콘 URL만 빠져있네요.. 클라는 URL이 안 오면 기본값이 뜨게 해놨어요. 근데 제가 임의로 만들어서 좀 이상하게 보일 겁니다.”
그래서 뜯어보면 API가 미완성이어서 이미지 URL이 오지 않습니다. 그래서 객체로 저장되어 있는 상품에 대한 정보에
아이콘 URL 주소가 없습니다. 개발자가 기본적으로 이미지 URL이 안오면 기본 이미지가 공통으로 보이게 하였는데,
당장 할 수 있는 것은 기본 이미지라도 웹 개발자에게 이야기해서 좀 더 좋은 것으로 빠르게 교체하는 것 입니다.
PM은 문제를 찾고 해결하는 일을 합니다. PM 다마고치도 이제 서버, 클라이언트 구조에 대해 조금은 이해가 된 것 같습니다.