전체 글192 100일차: Main-Project Day 7 (Redis, RefreshToken으로 AccessToken 재발급, 로그아웃) 벌써 100일째라니!! 시간 참 빠르다. 오늘은 코드에 많은 변경이 있었던 날이다. 오전에는 Request에서 User 식별자를 어떻게 가져올지에 대해 고민하느라 코드를 이리저리 뜯어보는데 시간을 보냈다. 예전에 나는 HandlerInterceptor를 사용해서 Request에서 memberId를 가져왔었는데, 팀원중에 한분은 ContextHolder에서 memberId값을 가져왔다. 그 방법이 더 간편한것같아서 (Interceptor는 경로를 다 지정해줘야했다.) 시도해봤는데 그랬더니 에러 처리에서 문제가 생겨서 일단 나중에 다시 시도해봐야할것같다. 그 외에 오늘은 로그인/로그아웃 관련 전체적인 작업을 진행했다. 로그인하고 발급한 RefreshToken을 Redis에 저장하고, RefreshToken을.. 2023. 7. 6. 99일차: Main-Project Day 6 (Refresh Token, Cookie, 인증 에러 처리) 현재 로그인, 인증부분을 구현하는중이다. 인증과정에서 토큰시간만료, 잘못된 토큰 등 에러가발생하면 OncePerRequestFilter를 상속받은 필터를 통해 에러를 기록하고 AuthenticationEntryPoint를 구현한 클래스에서 에러 처리를 해주었다. (이전글 참고) 확실히 한번 해봤던 부분을 다시 해보니 개념이 좀 더 명확해지기도 했고, 중복되는 부분을 제거하고 더 간결하게 코드를 작성할 수 있었다. 2023.06.22 - [부트캠프 개발일기/Pre-Project] - 90일차 - Pre-Project Day 10-1 (인증 에러 처리: AuthenticationFailureHandler, AuthenticationEntryPoint) 그리고 오후에는 프론트엔드 담당자분이 보안과 관련해서 .. 2023. 7. 5. 98일차: Main-Project Day 5 (회원가입, 로그인) 오전까지 프로젝트 설계 및 개발환경 세팅을 마무리하고 각자 맡은 부분 구현에 들어갔다. 이전 프리프로젝트에서 작성했던 것과 거의 유사한 코드였으나 버전세팅이나 필드명이 바뀌면서 몇가지 오류가 발생했다. 1. Spring Security 자동 구성 비활성화 코드 작성에 앞서, Spring Security 의존성을 추가해두었으나 인증 부분을 구현하지 않은경우 다른 코드를 작성하고 테스트할 때 인증으로 인해 결과를 확인하기 어려울 수 있다. 이때 간단하게 Security 자동 구성 기능을 꺼두는 방법이 있다. 아래와 같이 애플리케이션에서 exclude = SecurityAutoConfiguration.class을 추가하면 된다. @SpringBootApplication(exclude = SecurityAuto.. 2023. 7. 4. 97일차: Main-Project Day 4 (ERD, API 명세서, 업무분장) 지난 토요일에 멘토링받은 내용을 바탕으로 ERD를 수정하고 거기에 맞춰서 API 명세서, 칸반(이슈) 등록, 업무분장을 정했다. 1. ERD 우리 프로젝트는 커스텀 제품 구매를 메인 기능으로 가지고 있다. 회원가입 -> 로그인 -> 제품 / 가게 리스트 확인 -> 제품 커스텀 -> 장바구니 추가 -> 주문 의 흐름으로 사용자 서비스가 제공되는데 이에 따라 엔티티 설계를 마무리 했다. 프로젝트 기간을 고려해 구매자 입장에서의 메인 기능만 우선적으로 구현하기로 했다. 시간이 되면 프리프로젝트에서 해보지 못했던 테스트, 문서화를 적용해 보고 혹시 더 여유가 된다면 기능을 추가하고자 한다. 아래 구조는 현재까지 완성된 버전으로, 이 내용으로 코드를 작성하되 필요하면 변경될 수 있다. 2. API 명세서 사용자 .. 2023. 7. 3. 96일차+@: 멘토링, 개인회고 조금은 긴 글이 될 것 같다. 메인 프로젝트가 프리 프로젝트와 다른 부분 중 하나가 '멘토링'이 있다는 점이다. 프리 프로젝트는 스택오버플로우 사이트를 클론해오는 과정이었기 때문에 해야 할 일들과 구현해야 하는 기능이 명확히 정해져 있어서 팀원들끼리 얘기를 통해서도 어느 정도 형태를 잡을 수 있었다. 반면 메인 프로젝트는 처음부터 모든 과정을 진행해야 하기 때문에 아무래도 어려운 부분들이 있었다. 마치 어제 ERD 구조를 짜면서 어떤게 더 좋을까? 고민했던 것처럼...🫠 오늘 멘토링을 하면서 그런 부분들을 짚어주시는 걸 보며 확실히 현직자분들은 다르구나 느낄 수 있었고 앞으로도 많은 부분을 배울 수 있을 것 같아서 기대가 된다. 프론트엔드, 백엔드 멘토님이 한분씩 배정이 되었는데 두 분 다 현직자 분들이.. 2023. 7. 1. 96일차: Main-Project Day 3 (ERD) 벌써 금요일이 됐다. 메인 프로젝트 시작한 지 이제 3일 차인데 느낌은 거의 일주일을 꽉 채워서 쓴 기분이다. 오늘은 프론트엔드 / 백엔드로 나뉘어서 각자 작업에 필요한 부분에 대한 작업을 시작했다. 백엔드 쪽은 ERD와 API 명세서 작업을 시작했다. 현재까지 작성된 요구사항 정의서를 바탕으로 회원, 가게, 제품 등 필요한 데이터를 테이블로 정의하고 필요한 필드, 연관관계 등을 추가했다. 처음 데이터 구조를 잡는 작업이다 보니 팀원들 다 같이 ERD Cloud를 통해 작업을 했는데 그 과정에서 다른 사람들은 어떻게 생각하는지 알 수 있어서 좋았고 다양한 방법으로 구현이 가능하다는걸 다시 한번 느낄 수 있었다. 나는 '해당 속성은 필드값으로 넣으면 되지 않을까?' 생각했던 부분을 누군가는 '별도의 테이블.. 2023. 7. 1. 이전 1 ··· 9 10 11 12 13 14 15 ··· 32 다음