Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
TODO
삭제된 일기 복구 기능 추가 ⭐️⭐️
삭제된 일기를 복구하기 위해 삭제되는 일기를 보관하기 위한
deletedDiaries
를 만들었고<Long, String>
을 키와 값으로 사용했습니다.위 사항을
Diary
객체로 받을가에 대한 고민도 했으나,Diary
객체로 변경할 경우, 해당 객체를 사용하는 모든 코드에서 수정이 필요하다고 생각해서 삭제한 일기를 복구하는 과정에 있어서는Diary
객체를 받지 않았습니다. 또한, 삭제 과정에서 불필요한Diary
생성을 줄이고 삭제된 일기의 ID와 내용을deletedDiaries
에 저장하여 관리하는 방식을 선택했습니다.따라서 일기를 삭제하고, 복구할 때 복구하고 싶은 id를 입력하면, 원래 일기의 저장소로 일기가 복구됩니다.
일기 수정 일일 2회 제한 기능 추가 ⭐️⭐️
일기 수정을 한 사람이 하루에 2번 할 수 있는가 ? vs 각각의 일기 당 2번씩 수정 가능한가
를 두고 고민이 있었는데 후자에 대해 진행한 구현입니다.
각 일기가 수정시간과 수정횟수를 필드로 가지고, 유저가 일기를 수정할 경우 이를 증가시키는 방식입니다.
Application 종료 시에도 일기 저장 목록 유지되는 기능 추가 ⭐️⭐️⭐️
파일 시스템을 이용하는 방식으로 구현.
이모지 등을 1글자로 계산하는 기능 추가 ⭐️⭐️⭐️⭐️⭐️
이모지 등을 1글자로 계산하는 기능을 추가하기 위해서는 Grapheme Cluster 인식을 하기 위해 정규 표현식을 사용하는 방식을 선택했습니다. grapheme cluster를 세는 메서드와 grapheme cluster에서 이모지를 세는 메서드 두개를 구현하고 합하는 방식으로 구현할 예정입니다.
Grapheme Cluster 처리란 ?
유니코드에서 문자 하나로 인식되는 단위로, 사용자에게 하나의 문자처럼 보이는 모든 조합을 의미합니다.