본문 바로가기

전체 글191

23.07.13 기존에 만들어놨던 blog에 글 좋아요와 댓글 좋아요 기능, 예외처리를 추가해보기로 하자. 우선 좋아요 기능을 추가하기 전에 erd와 api 부터 수정한다. 기본 필수 구현사항은 강의를 따라했더니 큰 어려움 없이 구현에 성공했다. 추가 기능을 구현하기 위해 제안 추가 기능 목록을 보던 중, 대부분이 이미 강의에서 진행하거나 이전 프로젝트에서 진행한 사항이라 당장 공부에 큰 도움이 되지 않을 것 같은 것들은 넘기고, Refresh Token과 swagger는 생소한 개념이라 따로 검색해서 공부해보고 적용을 생각해보려 한다. Refresh Token은 Access Token의 단점을 커버하기 위한 개념인데, Access 토큰은 만료 기간을 짧게 하면 사용자의 잦은 로그아웃을 유발하고, 길게 하면 탈취 당했을.. 2023. 7. 13.
23.07.12 통합 테스트 단위 테스트는 각 모듈이나 클래스에 대한 세심한 테스트가 가능하지만 모듈간의 상호 작용 검증은 할 수 없다. 이를 위해 두 개 이상의 모듈이 연결된 상태로 테스트하는 것이 통합 테스트다. 모듈 간의 연결에서 발생하는 에러를 검증할 수 있다. 단위 테스트 시 spring은 작동하지 않는데, @SpringBootTest 어노테이션을 통해 테스트 시 스프링을 작동시킬 수 있다. 즉, Spring IoC/DI 기능, Repository를 사용해 DB CRUD가 가능 유저별 api 요청 시간을 조회하는 기능을 추가하기 위해, Scratch 파일을 통해 알아보려고 한다. intellij > File > Scratch > Java 를 통해 만들고 아래와 같이 만든다. 생성하면 파일 리스트 최하단에 위치한.. 2023. 7. 12.
23.07.11 테이블 설계 옵션 카카오 User 를 위한 테이블 (ex. KakaoUser) 을 하나 더 만든다. 장점: 결합도가 낮아짐 성격이 다른 유저 별로 분리 → 차후 각 테이블의 변화에 서로 영향을 주지 않음 예) 카카오 사용자들만 profile_image 컬럼 추가해서 사용 가능 단점: 구현 난이도가 올라감 예) 관심상품 등록 시, 회원별로 다른 테이블을 참조해야 함 일반 회원: User - Product 카카오 회원: KakaoUser - Product 기존 회원 (User) 테이블에 카카오 User 추가 장점: 구현이 단순해짐 단점: 결합도가 높아짐 폼 로그인을 통해 카카오 로그인 사용자의 username, password 를 입력해서 로그인한다면?? 단위 테스트 버그는 발견 시간이 늦어질수록 비용이 급.. 2023. 7. 11.
23.07.10 심화주차에 대한 주가 시작되었다. 팀 이름은 남녀노소이고, 어진님과 희열님 같이 이미 같이 프로젝트를 진행해봤던 분들이 계서서 마음이 편하다. 이번주차 부터는 페어프로그래밍이라는 새로운 시스템을 도입해보려 하는데, 페어를 짜서 그날 각자의 코딩을 서로 점검해주는 방식이다. 오늘 페어는 어진님이여서 스터디로 대체할 생각이다. 이제 본격적으로 심화 주차 강의를 들어보자. 이번 주차에 배울것 회원가입을 편리하게 해주는 OAuth 에 대해서 학습하고 카카오 로그인을 적용해 봅니다. 테스트의 종류와 필요성에 대해 학습하고 단위 테스트와 통합 테스트를 적용하며 버그를 사전에 발견할 수 있는 방법을 체득합니다. JUnit 으로 테스트 코드를 짜고 Mockito 를 통해 테스트용 객체를 만들며, 다양한 테스트 코드를 .. 2023. 7. 10.