객체지향
UI | Application | Data Base |
Controller | Service(+Entity) | Repository |
UI (Index.html) |
Request (요청) → ← Response (응답) |
Controller | Mapping (매핑) → ← Return (리턴) |
Service | Save (저장) → ← Get (불러오기) |
Repository (DAO) |
Entity → ← Entity |
DB |
스프링
입문과제 개선점
1. post나 get등의 함수이름은 그이름 자체가 동사이므로 동사를 사용하면안된다. 예시 create-post
2. http method의 종류중에는 post, get, put, delete 등이 있는데 이런것들 restful API라고 함. 한마디로 통신규약임
3. 한 매소드에 만줄이면 그 매소드가 에러가 났을때 만줄을 다 테스트 해야함으로 매소드를 잘게 쪼개자
4. 서비스에서는 최대한 조건문 비교문 사용하지말고 그객체 Entity에 처리를 하자.(비즈니스 로직을 넣지말자)
5. bad request는 400번때
6. 매소드의 리턴타입이 오브젝트 자체면 변경이 용의하나, 에러를 만들기도 용의하기 때문에 잘 생각해서 짜야한다.
7. 함수이름을 지을때 set이런걸 쓰지말고 부분변경일때는 change, 전체변경은 update를 사용하자.
8. 클래스만들때 일단 final 붙여서 써보고, 메소드짤때 리턴타입 없이 써보자
9. Entity에는 비즈니스로직이 들어감(처리하고, 비교하고 그런것)
10. 비밀번호는 게시판이므로 게시판한테 체크하는 로직을 줘야함 게시판에 책임을 다해야함.
11. Repository는 레이어드 아키텍처 보기
12. 클린코드를 한번보자.
13. 회사에선 절대 공부할수없다 체계를 여기서 잘잡아놔야한다.
입문과제 조건
- 아래의 요구사항을 기반으로 Use Case 그려보기
- 손으로 그려도 됩니다.
- cf. https://narup.tistory.com/70
- 전체 게시글 목록 조회 API
- 제목, 작성자명, 작성 내용, 작성 날짜를 조회하기
- 작성 날짜 기준 내림차순으로 정렬하기
- 게시글 작성 API
- 제목, 작성자명, 비밀번호, 작성 내용을 저장하고
- 저장된 게시글을 Client 로 반환하기
- 선택한 게시글 조회 API
- 선택한 게시글의 제목, 작성자명, 작성 날짜, 작성 내용을 조회하기 (검색 기능이 아닙니다. 간단한 게시글 조회만 구현해주세요.)
- 선택한 게시글 수정 API
- 수정을 요청할 때 수정할 데이터와 비밀번호를 같이 보내서 서버에서 비밀번호 일치 여부를 확인 한 후
- 제목, 작성자명, 작성 내용을 수정하고 수정된 게시글을 Client 로 반환하기
- 선택한 게시글 삭제 API
- 삭제를 요청할 때 비밀번호를 같이 보내서 서버에서 비밀번호 일치 여부를 확인 한 후
- 선택한 게시글을 삭제하고 Client 로 성공했다는 표시 반환하기
입문과제 깃허브
https://github.com/karlema/sparta
못한점
1. Use Case를 그려보지 못했다.
2. 프론트까지하면서 했어야했는데 못했다.
3. 처음부터 작성한게 아니고 항해메모장 프로젝트에서 변경해서 했다.
'스파르타코딩클럽(내일배움캠프)' 카테고리의 다른 글
스파르타코딩클럽 내일배움캠프 7주차 3일 (0) | 2022.12.14 |
---|---|
스파르타코딩클럽 내일배움캠프 7주차2일 (0) | 2022.12.13 |
스파르타코딩클럽 내일배움캠프 6주차 후기 (1) | 2022.12.11 |
스파르타코딩클럽 내일배움캠프 6주차 5일 (0) | 2022.12.09 |
스파르타코딩클럽 내일배움캠프 6주차 4일 (1) | 2022.12.08 |