오늘은 프로젝트 마감날이다. 오늘은 다른 거 없이 프로젝트 발표에 집중했으며
주말 동안 한 내용은 다음과 같다.
1. PostFile 테스트
2. 프로젝트 마무리
1. PostFile 전반적인 코드 구성은 완료하고 테스트를 진행하는 첫 관문에서 문제가 발생했다. s3에 파일을 입력하는 과정에서 파일이 하나만 저장되는 현상이 있었는데 찾아보니 파일을 리스트 체로 넘기는 과정에서 for문으로 파일리스트에 있는 파일 하나하나 이름을 생성할 때 randomUUID를 생성하는데 그것을 for문안에 넣어서 이름을 생성해서 하나하나 입력을 해줘야 하지만 다시 뒤적뒤적해 보니 밖에 있어서 하나만 저장되는 결과였다. 참으로 하찮은 실수를 했지만 해결해서 다행이었다.
다음은 s3에 있는 파일을 삭제할 때 발생하는 문제이다. 테스트를 하는 과정에서 파일 삭제를 요청했을 때 JPA DB에서는 삭제가 정상적으로 진행됐지만 문제는 s3에 있는 파일이 삭제가 안 돼서 여러 블로그를 찾아가면서 방법을 시도했다. 제일 문제 되는 부분은 s3파일 경로를 잘못입력해서 삭제가 안 되는 줄 알고 구글링을 하면서 수정을 거듭했지만 생각해 봐도 문제가 없는 것 같아서 s3의 권한문제인 것 같았다.
바로 확인을 했을 때 아니라 다를까 수정권한이 잠겨 삭제가 되질 않았던 것이다. 그래서 바로 구글링을 하면서 s3의 버킷정책에서 delete 정책을 추가하고 다시 진했는데도 삭제가 진행되질 않아서 고전하고 있던 와중에 다른 팀원분이 오셔서 IAM부분에 있는 AWS정책에 있던 권한을 삭제하면 된다고 알려주셔서 바로 해당 부분을 삭제하고 테스트 진행했더니 바로 삭제가 되면서 해결했다.
마지막으로 update테스트를 진행했는데 update는 기존에 있던 post의 s3이미지 url에서 입력한 url 중에 일치하지 않는 url만 삭제하고 추가된 파일은 s3 url로 변경해서 추가하는 방식으로 진행하고 있었는데 s3는 정상적으로 작동했으나 JPA PostFileRepository에서 정상적으로 삭제가 되질 않아서 원인을 한참 찾았지만 첫날은 허탕을 쳤고 다음날에 30분 만에 해결했다.
양방향으로 해놓고 PostFileRepository에 직접적으로 접근해서 삭제를 진행하고 post에 그 정보를 저장했는데 문제가 PostFile에서 삭제처리를 한 후에 파일을 추가하는 과정을 할 때 삭제가 진행된 포스트를 저장했어야 했는데 그냥 다른 포스트를 저장해서 다시 복구가 되고 추가만 됐던 것이었다.
따라서 전반적으로 구조를 개편했고 직접 접근해서 삭제하는 게 아니라 해당 post객체에 접근해서 삭제처리하고 남은 리스트를 저장하고 파일 추가를 진행한 리스트를 넣어서 post를 저장시켜 변경사항을 PostRepository 저장했다. 이렇게 하면 양방향이기 때문에 PostFileRepository에도 변경사항이 저장된다. 이렇게 해서 모든 PostFile에 대한 테스트 및 FIx과정을 완료했다.
2. 프로젝트를 마무리하며 21부터 27일까지 프로젝트를 진행하면서 매일 아침 9시부터 새벽 1시까지 코드를 짜느라 무리를 많이 했는데 투자한 만큼 얻어간 부분이 많아서 후회는 없는 프로젝트였다. 몸은 많이 피곤했지만 내가 맡은 파트의 기능을 문제없이 정상적으로 구연했고 진행하는 과정에서 그동안 블로그에 썼던 고민들 및 해결한 오류들을 보면서 한 단계 성장한 것 같아 다음 프로젝트에는 더 퀄리티 좋은 코드를 작성할 수 있을 것 같다.
'내일 배움 캠프' 카테고리의 다른 글
2023-11-29 (1) | 2023.11.29 |
---|---|
2023-11-28 (0) | 2023.11.28 |
2023-11-24 (1) | 2023.11.25 |
2023-11-23 (0) | 2023.11.23 |
2023-11-22 (1) | 2023.11.22 |