오늘 할 일
- LeetCode 데일리 문제 풀기
- Heart - 게시판 글 수정 및 삭제 이미지 처리 로직 작성하기
- 운동하기 - 웨이트 트레이닝
오늘 배운 것
LeetCode 데일리 문제 풀기
- 오늘의 문제: 59. Spiral Matrix II(https://leetcode.com/problems/spiral-matrix-ii/)
- 문제 조건
- 양의 정수 n이 주어지고, n x n 행렬을 1부터 n^2까지를 나선형 순서로 값을 채워라.
- 문제 해결 과정
- 어제 나온 문제와 비슷하다.
- 정사각행렬이기 때문에 n에 따라서 원소의 총 개수는 n^2이다.
- 1부터 n^2까지 순차적으로 값을 증가시키면서 R -> D -> L -> U 순서로 반복문을 수행하면 된다.
- 이번에는 정답의 반환 타입이 2차원 배열이기 때문에 2차원 배열을 만들어서 해보자
Heart - 게시판 글 수정 및 삭제 이미지 처리 로직 작성하기
- 오늘 작성해본 부분은 넘어온 이미지 파일이 없고, 기존 이미지가 존재하는 경우였습니다.
- 이 경우는 게시글에 포함된 이미지를 전부 삭제하고 싶다는 의미로 생각해서 기존에 있던 이미지를 모두 삭제 해주는 로직을 작성했습니다.
- 작성한 이후 제대로 동작하는 것을 확인한 후에, 문제를 발견했습니다.
- 만약 다른 경우, 이미지를 추가로 저장하고 싶거나 기존 이미지 중 일부를 변경하고 싶거나 기존 이미지 중 몇 개만 삭제하고 싶은 경우에는 어떻게 해야 할까요?
- 새 이미지가 파일 타입으로 넘어오게 되면 어떤 이미지를 삭제해야 하는지 알 수가 없습니다. 그래서 기존 이미지와 새로 넘어오는 이미지를 비교할 수 있는 것이 필요하다는 생각을 했습니다.
- 대체할 수 있는 방안들
- 그냥 게시글 수정에서 이미지가 넘어오면 기존 이미지를 모두 삭제하고 새로운 이미지만 남긴다. → 가장 단순하고 구현 난이도가 낮지만 원하는 수준의 기능은 아닙니다.
- 변경 또는 삭제해야 하는 이미지가 있으면 우선 스토리지에 저장한 후 기존에 남은 이미지들은 나중에 삭제한다. → 삭제할 사진을 알아낼 방법이 없어서 우선 제외했습니다.
- 게시글 수정 화면에 이미지 삭제 API를 함께 두어 삭제가 일어나면 S3와 DB에서 삭제하고, 실제 게시글 수정 서비스 로직에서는 이미지를 저장만 한다. → 이전에 프로필 이미지를 등록할 때, 요청이 많아지면 서버에 부하가 심해질 수 있는 우려때문에 사용하지 않은 방법이라 패스
- ✅ 게시글 수정 화면에서 이미지 목록을 쭉 보여주고, 이미지마다 X 표시를 붙여놓고 해당 버튼을 누른 이미지를 List 형태로 서버에 request할 때 함께 전송한 다음 해당 목록에 포함된 이미지는 제거해준다. 그 후에 넘어온 파일은 새로 저장해준다. → 가능하다면 현재로서는 가장 베스트인 방법인 것 같아서 시도해보려고 합니다.
운동하기 - 웨이트 트레이닝
- 오늘의 운동
- 벤치프레스 5 x 12
- 와이드 그립 시티드로우 4 x 12
- 사이드레터럴레이즈 4 x 12
- 스쿼트 5 x 12
- 크런치 4 x 12
느낀점
- 제가 엄청 싫어하는 유형의 문제인데 그래도 비슷한거 한 번 풀어봤다고 익숙해서 코드를 조금 수정하고 정답을 맞췄습니다. 역시 공부는 반복과 숙달인듯!!
- 게시판 이미지 기능이 구현하기 어렵다고는 했는데, 그래도 해봐야지요. 어떻게든 해내야지요. 별수있겠습니까 호호
- 운동을 더 꾸준하게 해야하는데, 그렇게 못해서 조금 스스로 부끄럽지만 그래도 운동을 할 수록 늘고 있는 것이 느껴집니다. 웨이트 꿀잼! 앞으로 더 자주 올리겠어요.
내일 할 일
- LeetCode 데일리 문제 풀기
- Heart - 게시판 글 수정 및 삭제 이미지 처리 로직 작성하기
- 원티드 프리온보딩
'TIL' 카테고리의 다른 글
TIL_20230512 (1) | 2023.05.12 |
---|---|
TIL_20230511 (0) | 2023.05.11 |
TIL_20230509 (0) | 2023.05.09 |
TIL_20230508 (0) | 2023.05.08 |
TIL_20230507 (0) | 2023.05.07 |