본문 바로가기

TIL

20210802[항해 57일 차]

당신이 배를 만들고 싶다면,
사람들에게 목재를 가져오게 하고 일을 지시하고 일감을 나눠주는 일을 하지 말라.
대신 그들에게 저 넓고 끝없는 바다에 대한 동경심을 키워줘라.

- 생텍쥐페리 -
  • multer를 이용해 서버단에서 이미지 업로드하는 기능을 추가했다. 임시 저장에 대해서 어떤식으로 처리할지 생각해봤다.
  • 기존에 있던 스키마에 Boolean타입으로 temporary라는 document를 추가 하여 true면 게시판 내부 요소들을 보여줄 때 보여주지 않게 하고(작성시에만 불러올 목적) false에 해당하는 것은 원래 하던 것처럼 보여지게 하면 될 것 같다. 
  • 이미지 처리는 임시 저장의 경우 임시 저장 폴더를 따로 두고, 임시 저장 폴더에 우선 업로드 한다. 작성자가 글 작성 도중 새로고침 또는 강제종료를 할 경우 임시 저장된 폴더에 이미지가 남아있게 된다. 마찬가지로 temporary === 'true'인 경우로 해당하는 글이 DB에 저장되어있게 된다. 임시 저장 폴더에 업로드 된지 30일이 지나면 해당하는 이미지파일을 지운다든지해서 쓸모없는 이미지 파일을 처리하는 방법이 있을 것 같다. 임시저장 글 불러오기 후 작성을 다 하고 완료 버튼을 누를 때 원래 임시 저장 폴더에 있던 이미지파일은 영구보존 image저장 폴더에 옮겨지고(혹은 임시 저장쪽 삭제 후 영구보존 폴더에 업로드)하는 방식을 생각해봤다. 마찬가지로 이 때 temporary의 속성이 false로 바뀌게 된다.
  • 골치아파지는 것은 수정할 때 임시 저장을 추가할 경우로 생각되는데 막상 정리하고 보면 그리 다르지도 않아보인다. 지금은 머리가 아파서 수정할 때 임시 저장은 내일 마저 생각하기로 하려고 한다.
  • 만약 임시 저장 기능을 안 넣을 경우 프론트엔드 측에서 글 작성 중 이미지 업로드를 하면 이미지에 대한 내용을 불러와서 화면 상에 띄워주고 완료를 누를 때만 서버에 이미지를 저장하면 되는 방식이라 훨씬 간단할 거라 생각한다. 그래도 사용자 편의성은 임시저장이 있는 편이 좋아보이기 때문에 꼭 추가했으면 좋겠다. 가장 좋은 것은 변화가 생긴 후 멈추고 3초 후 자동 임시저장 한다든지 하는 기능인데 아직은 수동으로 임시저장 버튼을 눌렀을 때 밖에 구현하지 못할 것 같다.
  • tag를 추가할 때 "태그1, 태그2, 태그3"형태로 들어오는데 지금까지는 그냥 넣고 있어서 배열에 통째로 들어가 1개의 인덱스 밖에 없었지만 의도와 다르기 때문에 이제 tag.split(', ')을 하여 하나하나 나눠서 tag의 길이가 3이 되도록 바꾸었다. 진작 바꿨어야 됐는데 #를 사용해 태그를 입력한단 말도 있어서 좀 미뤘던 것 같다. 
  • 실시간 채팅기능에 대해서도 추가하고 싶은데 오늘 시간을 온전히 사용하지 못한 탓인지 거기까지는 해내지 못했다. 
  • 디자이너 분들을 포함한 회의에서 로고가 결정나고, 로그인 후 보여지는 메인 페이지에 대한 부분도 거의 완성됐다.
  • 기능적으로는 50%정도 구현된 것 같고, 프론트엔드 부분에서는 30% 정도 구현된 것 같다. 백엔드측에서 좀 여유가 있는 상황이라 채팅기능에 해당하는 부분을 프론트와 백엔드 전체 통틀어 다 구현하고싶은 마음이 있고, CI/CD와 자세한 권한 기능, DB최적화, 화상채팅기능, 문서 내보내기(백업 혹은 클라우드 연결), 이미지 처리 최적화, HTTPS 적용 등 도전하고 싶은 것들을 빠르게 도전하고, 성공하고 싶은 마음이 있다. 지금처럼 가면 우선 MVP는 기한내에 문제없이 제출가능 할 것으로 보인다.

'TIL' 카테고리의 다른 글

20210804 [항해 59일 차]  (0) 2021.08.05
20210803[항해 58일 차]  (0) 2021.08.03
20210801 [항해 56일 차]  (0) 2021.08.01
20210731 [항해 55일 차]  (0) 2021.08.01
20210730 [항해 54일 차]  (0) 2021.07.30