2024. 1. 2. 20:24ㆍTIL
레벨 3과 4를 실현해볼려고 구현해야할 것들을 천천히 읽어보면서
이건 이렇게하고, 저건 저렇게하고 하는식으로 생각을 좀 해봤다.
🏁 STEP 3 (추가구현 기능) 할 일 작성, 수정, 할 일 목록 api에 추가 기능을 만들어주세요.
- 할 일 목록 api에 작성일을 기준으로 오름차순, 내림차순 정렬하는 기능을 추가하기
- api를 요청할 때 정렬 기준(오름차순, 내림차순)을 포함하기
- 정렬 기준을 통해 정렬한 할 일 목록 반환하기
- 할 일 목록 api에 작성자를 기준으로 필터하는 기능을 추가하기
- api를 요청할 때 작성자 이름을 포함하기
- 작성자 이름이 일치하는 할 일 목록 반환하기
- 할 일 작성, 수정 api에 validation을 추가하기
- 할 일을 작성하거나 수정할 때, 할일 제목이 1자 이상, 200자 이내인지 검사하기
- 할 일 본문이 1자 이상 1000자 이하인지 검사하기
- 조건을 충족하지 않는다면 기능 실패 응답하기
스텝3은 이렇게 3개만 하면 된다.
먼저
1번 오름차순 내림차순 정렬
나는 할일 카드와 할일 리스트 패키지를 분리해놨는데, 작성 날짜를 할일 카드쪽에 적용해놨다.
우선 할일 리스트쪽에도 작성날짜가 적용되도록 손보고(카드쪽 작성날짜는 그대로 둘지 없앨지 고민중)
작성날짜 기준으로 오름차순 내림차순 적용하는건 sortedArray(작성날짜)를 이용하면 쉬울것 같다.
2번 할일목록 api에 작성자 기준으로 필터링
이는 할일 목록을 불러올때 작성자 이름을 인자로 받고 같은 이름을 가진 할일들을 쭈욱 가져오면 될것 같다.
3번 작성 수정에 글자 제한 걸기
이것도 if문을 사용하면 될것 같고 크게 어려워보이진 않는다. dto쪽도 손보면 좋을것 같다.
기능실패도 Exception을 따로 만들어두면 될것 같다.
🏁 STEP 4 (추가구현 기능) 과제가 일찍 마무리되었다면 아래의 내용도 진행해보세요.
- 할 일 카드 목록 api의 응답에, 연관된 댓글 내용을 추가해주세요.
- 할 일 목록과 댓글 목록을 효율적으로 가져와서 매칭하려면 어떻게 해야 할까요?
- N + 1 query 문제 알아보기
- 할 일 카드 목록 api에 pagination 기능을 추가해주세요.
- 사용자가 많아져서 할 일 카드가 너무 많아지면 어떤 일이 벌어질까요?
- offset 기반 pagination과 cursor 기반 pagination에 대해 알아보기
- 회원가입, 로그인 기능을 추가해주세요. 로그인 한 사용자가 자신의 할 일, 댓글만 수정, 삭제할 수 있게 해주세요.
- 인증, 인가에 대해 알아보기: 요청한 사용자가 누구인지, api를 호출할 권한이 있는지를 어떻게 알 수 있을까요?
- basic authentication과 bearer authentication에 대해 알아보기
- basic auth에 비해 token 기반 auth가 가지는 장점이 무엇일까요?
음 여기서부터는 좀 헷갈리기 시작한다.
일단 로그인기능은 강의영상을 보며 따라하면 만들기는 쉽겟지만 페이지네이션은 내가 직접 독학해야하고
할일목록,댓글을 효율적으로 가져와서 매칭한다는게 이해가 잘 안된다.
원투매니, 매니투원이나 포리너 키 얘기를 하는건지 살짝 헷갈린다.
오늘의 한마디 : 우선은 스텝3부터 완료하고 봐야겠다.
'TIL' 카테고리의 다른 글
20240104 (목) 코딩일지 (2) | 2024.01.04 |
---|---|
20240103 (수) TodoApp 스텝3 (1) | 2024.01.03 |
20231229 (금) 금요일TIL (1) | 2023.12.29 |
20231228 (목) TodoApp 완성 (1) | 2023.12.28 |
20231227 (수) TodoApp 막바지 (2) | 2023.12.27 |