You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
현재 프로젝트 삭제시에는 프로젝트 내 저장된 metadata 들의 original 이미지 파일들을 함께 삭제 시켜주도록 수정하였다.
그런데 metadata를 삭제할 때에는 original 이미지 파일을 삭제하지 않는다. 해당 이슈에서는 그 이유와 그 과정속에서 생길 수 있는 문제 그리고 그것을 해결할 방법에 대해 작성하겠다.
현재 상황
현재 구조 상 metadata row를 확인해 보면, image filename이라는 속성 값을 통해 해당 파일의 존재 여부를 확인하고 이를 가져오는 방식으로 진행된다. 즉 filename을 통해 실제 스토리지에 저장된 이미지 파일에 접근한다.
metadata 삭제 시 스토리지에 저장된 이미지 파일을 삭제하지 않는 이유
사용자가 이미지는 업로드 해두고, 메타데이터를 삭제하고 다시 생성 하는 등 수정 가능성이 빈번하게 있을 수 있다.
그렇기에 매번 원본 이미지를 삭제하고 다시 추가하는 것은 큰 overhead이다. 따라서 기존의 원본 파일 이미지를 올려 놓은 경우라면, 메타데이터를 삭제하고 다시 생성 하는 과정에서 image filename 값만 유지하면 스토리지에서 기존 파일 이미지를 그대로 가져올 수 있다.
문제점
사용자가 스토리지에 추가하려고 하는 이미지 파일의 filename이 이미 존재하는지 아닌지 확인할 수 가 없는 문제가 있다.
즉 이미 동일한 image filename 의 파일이 스토리지에 존재한다면, 'FileAlreadyExistsException' 이 발생할 수 있다.
따라서 이 오류에 대한 핸들링이 필요하다.
해결 방안
사용자가 스토리지에 image filename이 있는지 없는지 모를때는, 기존에 존재하는 이름의 파일을 삽입할 때에는 원본 파일을 덮어씌우는 방식으로 진행하려고한다.
추가적인 리팩토링 고려사항
더이상 접근 할 필요가 없는 이미지 파일들이 많아지면 리소스 낭비가 심해질 것이라고 생각한다.
흠.. 삭제후 몇일 이상의 접근이 없다면 자동으로 삭제해 주는 과정과 같은 처리가 필요할 것이라고 생각한다.
The text was updated successfully, but these errors were encountered:
내용
현재 프로젝트 삭제시에는 프로젝트 내 저장된 metadata 들의 original 이미지 파일들을 함께 삭제 시켜주도록 수정하였다.
그런데 metadata를 삭제할 때에는 original 이미지 파일을 삭제하지 않는다. 해당 이슈에서는 그 이유와 그 과정속에서 생길 수 있는 문제 그리고 그것을 해결할 방법에 대해 작성하겠다.
현재 상황
현재 구조 상 metadata row를 확인해 보면, image filename이라는 속성 값을 통해 해당 파일의 존재 여부를 확인하고 이를 가져오는 방식으로 진행된다. 즉 filename을 통해 실제 스토리지에 저장된 이미지 파일에 접근한다.
metadata 삭제 시 스토리지에 저장된 이미지 파일을 삭제하지 않는 이유
사용자가 이미지는 업로드 해두고, 메타데이터를 삭제하고 다시 생성 하는 등 수정 가능성이 빈번하게 있을 수 있다.
그렇기에 매번 원본 이미지를 삭제하고 다시 추가하는 것은 큰 overhead이다. 따라서 기존의 원본 파일 이미지를 올려 놓은 경우라면, 메타데이터를 삭제하고 다시 생성 하는 과정에서 image filename 값만 유지하면 스토리지에서 기존 파일 이미지를 그대로 가져올 수 있다.
문제점
사용자가 스토리지에 추가하려고 하는 이미지 파일의 filename이 이미 존재하는지 아닌지 확인할 수 가 없는 문제가 있다.
즉 이미 동일한 image filename 의 파일이 스토리지에 존재한다면, 'FileAlreadyExistsException' 이 발생할 수 있다.
따라서 이 오류에 대한 핸들링이 필요하다.
해결 방안
사용자가 스토리지에 image filename이 있는지 없는지 모를때는, 기존에 존재하는 이름의 파일을 삽입할 때에는 원본 파일을 덮어씌우는 방식으로 진행하려고한다.
추가적인 리팩토링 고려사항
더이상 접근 할 필요가 없는 이미지 파일들이 많아지면 리소스 낭비가 심해질 것이라고 생각한다.
흠.. 삭제후 몇일 이상의 접근이 없다면 자동으로 삭제해 주는 과정과 같은 처리가 필요할 것이라고 생각한다.
The text was updated successfully, but these errors were encountered: