# 지현님 수업 # 공지사항 - Realworld - [Todo list 만들기는 이제 그만, 우아한 형제](https://techblog.woowahan.com/2672/) - [API 스펙](https://realworld-docs.netlify.app/docs/specs/backend-specs/introduction) - [데모페이지](https://demo.realworld.io/#/) - 테스트 == 구현 코드 (동등한 레벨) - PR 리뷰 -> 핑퐁 - 기술 스택 - Spring Boot - MyBatis - Spring MyBatis - Java 11 - Git 강의 - https://opentutorials.org/course/3840 - https://opentutorials.org/course/3843 # 20240215 5회차 ## 과제 - https://realworld-docs.netlify.app/docs/specs/backend-specs/endpoints/#feed-articles # 20240201 4회차 ## 과제 - unfavorite article (https://realworld-docs.netlify.app/docs/specs/backend-specs/endpoints/#unfavorite-article) - list articles (https://realworld-docs.netlify.app/docs/specs/backend-specs/endpoints/#list-articles) # 20240125 3회차 ## 과제 - favorite article (https://realworld-docs.netlify.app/docs/specs/backend-specs/endpoints/#favorite-article) - unfavorite article (https://realworld-docs.netlify.app/docs/specs/backend-specs/endpoints/#unfavorite-article) # 20240118 2회차 ## 인덱스 - UNIQUE(follower_id, followee_id) == INDEX(follower_id) - INDEX(followee_id) - INDEX(follower_id) ---> 스토리지 낭비 - INSERT -> 비동기 INDEX 생성 - INDEX 많을수록 디비 리소스 많이 사용해요 ## 과제 - unfollow api (https://realworld-docs.netlify.app/docs/specs/backend-specs/endpoints/#unfollow-user) - favorite article (https://realworld-docs.netlify.app/docs/specs/backend-specs/endpoints/#favorite-article) - unfavorite article (https://realworld-docs.netlify.app/docs/specs/backend-specs/endpoints/#unfavorite-article) # 20240111 1회차 ## 유의사항 - follow, unfollow 하시면서 (following: true or false) 구현하기 ## 과제 - follow api (https://realworld-docs.netlify.app/docs/specs/backend-specs/endpoints/#follow-user) - unfollow api (https://realworld-docs.netlify.app/docs/specs/backend-specs/endpoints/#unfollow-user) # 20230923 9회차 ## 유의사항 - 서비스 테스트 하나만 - follow, unfollow 하시면서 (following: true or false) 구현하기 ## 과제 - 리뷰 반영 - follow api (https://realworld-docs.netlify.app/docs/specs/backend-specs/endpoints/#follow-user) - unfollow api (https://realworld-docs.netlify.app/docs/specs/backend-specs/endpoints/#unfollow-user) # 20230916 8회차 ## 유의사항 - service 테스트 딱 메소드 하나만! ## 과제 - comment 삭제 api (https://realworld-docs.netlify.app/docs/specs/backend-specs/endpoints/#delete-comment) - article의 comment 조회 api (https://realworld-docs.netlify.app/docs/specs/backend-specs/endpoints/#get-comments-from-an-article) - follow api (https://realworld-docs.netlify.app/docs/specs/backend-specs/endpoints/#follow-user) # 20230906 7회차 ## 유의사항 - 쿼리 테스트 무조건! - service 테스트 딱 메소드 하나만! - Github actions 어떻게...? ## 과제 - article 조회 api (https://realworld-docs.netlify.app/docs/specs/backend-specs/endpoints#create-article) - comment 생성 api (https://realworld-docs.netlify.app/docs/specs/backend-specs/endpoints/#add-comments-to-an-article) - comment 삭제 api (https://realworld-docs.netlify.app/docs/specs/backend-specs/endpoints/#delete-comment) # 20230816 6회차 ## 과제 - article 생성 api (https://realworld-docs.netlify.app/docs/specs/backend-specs/endpoints#create-article) - slug 스스로 판단 - 수정, 삭제 api 는 테스트 작성해야 해요! - article 수정 api (https://realworld-docs.netlify.app/docs/specs/backend-specs/endpoints#update-article) - article 삭제 api (https://realworld-docs.netlify.app/docs/specs/backend-specs/endpoints#delete-article) # 20230726 회차 아님 ## 과제 - 사용자 정보 업데이트 api 리뷰 반영 및 머지 - logback (나) - article 생성 api (https://realworld-docs.netlify.app/docs/specs/backend-specs/endpoints#create-article) - slug 가 무엇인지 파악하는게 중요해요! - slug가 중복 되지 않도록 해야 합니다! # 20230712 5회차 ## 과제 - 사용자 정보 업데이트 api (https://realworld-docs.netlify.app/docs/specs/backend-specs/endpoints#update-user) - logback (나) - 로그인 api, 내 정보 가져오기 api 마무리 -> 핑퐁 -> 머지 # 20230705 4회차 ## 과제 - Git 강의 - 로그인 api (https://realworld-docs.netlify.app/docs/specs/backend-specs/endpoints#authentication) - 내 정보 가져오기 api (https://realworld-docs.netlify.app/docs/specs/backend-specs/introduction) - 사용자 정보 업데이트 api (https://realworld-docs.netlify.app/docs/specs/backend-specs/endpoints#update-user) # 20230628 3회차 ## 과제 - 회원가입 api 마무리 - 쿼리 로그 출력 - 에러 코드 # 20230614 2회차 # 20230607 1회차 ## 과제 - Exception handling (@RestControllerAdvice, @ExceptionHandler, ErrorCode(Enum), BusinessException) - 참고: https://cheese10yun.github.io/spring-guide-exception/ - 회원 가입 API - DB mapper 설정 필요함 -> https://mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/ - 회원 인증의 경우엔 Authorization: Token 1, Token 2 사용자 id(PK) 값을 넣는걸로 함 - 인증은 나중에!