작성
·
448
·
수정됨
0
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)
[질문 내용]
안녕하세요. 본 강의를 수강중인 학생입니다.
외부 데이터베이스 대신 데이터를 보관하는 역할을 ItemRepository 클래스의 map이 하고있다는 것은 이해했습니다.
만약 mysql같은 외부 데이터베이스에 이미지를 저장하고 싶다면 ItemRepository 클래스를 수정하는게 맞나요?
강의 로직에서 이미지를 업로드하면 map과 로컬 저장소에 저장되는데 이때 map은 저장되는 setID가 URL에서 /items/{Id}로 표현되는 것 말고는 무슨 역할인지 잘 모르겠습니다. 업로드한 이미지를 보여주는 것에 관여를 하나요?
그리고 로컬 저장소인 폴더없이 map으로만 이미지를 웹에서 보여줄 수 없나요?
답변 1
0
안녕하세요, 김재민 님! 공식 서포터즈 codesweaver 입니다.
1. 이미지를 바이너리로 데이터베이스에 저장하는 것은 가능은 하나, 일반적으로 권하지 않는 방법입니다. :) 바이너리 문자를 담을 수 있도록 Item 클래스 등을 조절해야 합니다.
2 어떤 아이템을 고유하게 구별할 수 있는 키 역할을 합니다. 관계형 데이터베이스에 데이터를 저장/관리 할 땐 그 데이터를 구분할 수 있는 식별키를 발급합니다. 지금은 메모리에 임시로 저장하는 것이긴 하나, 역시 데이터를 구분할 수 있는 구분자가 필요하고 이 역할을 sequence 필드가 하고 있습니다.
3 업로드한 이미지를 웹에서 보기 위해선 서버 어딘가에 저장 해야 합니다. 그게 디스크(HDD, SSD) 일 수 있고 메모리 일 수 있습니다. 메모리에 이미지를 넣는다면 디스크를 이용하지 않고 말씀하신 기능을 구현할 순 있습니다. 그러나 역시 권장하지 않는 방법입니다.
감사합니다.