Genie의 Java 개발 공부와 일지를 기록하는 아카이브 공간 Develop Study/Spring38 (24.06.14)[9주차] Servlet 객체 활용하기 AOP 관점 지향 프로그램에 있어서 부가기능 에서 요청 또는 응답의 정보를 객체화 해서 관련 정보를 얻을 수 있는 방법을 찾아보다가 좋은 방법으로 Servlet 객체를 직접 활용하는 방법을 찾아 공부하면서 정리를 했다.Spring에서 Servlet 객체 활용하기AOP 에서 "부가기능" 으로 모든 Controller가 실행되기 전, Controller에게 요청 Request 된 HTTP Method와 URL 을 log로 찍고 싶은 기능을 넣어야 할 때 사용지금까지 알 고 있는 것은 Tomcat에서의 Servlet - DispatcherServlet이 Controller 패턴 방식으로 API를 요청하는 것을알 고 있었음 그렇다면, 그렇게 작동될 때 전달되는 여러 요청들의 정보를 객체로 전달 하고 있지 않을까.. 2024. 6. 14. (24.06.13)[9주차] Spring 심화 강의 02 (마무리) Spring 심화 강의와 학습을 진행하면서Spring AOP, Aspect Oriendted Programming 과 API 에서의 Exception Handling에 대해서공부하면서, 나의 말로 정리를 하려고 했다. 추가적으로 개인 과제를 진행하면서 더 파고들면서 분석해야하는 부분이 있다면 앞으로 차례로 정리를 할 것 Spring 심화 강의 간단정리더보기Spring AOP, Aspect Oriented Programming관점 지향 프로그래밍핵심기능/ 부가기능 관점을 기준으로 묶어서 프로그래밍하는 방식모든 핵심기능에 똑같은 부가기능을 다 붙여서 수정시키기엔 많은 리소스를 낭비할 수 없음ex) Controller 핵심기능을 사용자가 사용하는 시간을 모두 트래킹해서 다 더하려는 부가기능을 만드려면 원래는 .. 2024. 6. 13. (24.06.12)[9주차] Spring 심화 강의 01 Spring 심화 학습이 시작되면서 OAuth 간편로그인 , 단위테스트&통합 테스트, Spring AOP, API 예외처리를 진행하게 된다. 강의 내용이 양은 적지만 새로운 개념을 적용을 해야하고 어떠한 구조 및 프레임워크에 관한 내용에 대해 핵심과 이론을 짚어가면서 진행을 하고 있기 때문에 조금 시간이 걸리더라도 학습을 한 내용을 나만의 언어로 다시 외우고 정리 Spring 심화 강의 간단정리더보기OAuth사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방형 표준HTTP 기반의 보안 프로토콜애플리케이션에게 모든 권한을 넘기지 않고 사용자 대신 서비스를 이용ex) 구글 .. 2024. 6. 12. (24.06.07)[8주차] Spring Data의 Paging & Sort 정리 팀 과제에서 Feed 즉 게시물을 CRUD 기능 구현을 담당했기 때문에, 조회에 해당하는 부분 중 페이징을 할 수 있는 부분에 대해 생소하기도 하고, 필수적이라 반드신 많이 사용될 것이라고 생각하여 스스로 코드를 짜보면서 학습Spring Data의 Paging & Sort단순히 DB 에선 데이터를 불러와 정렬하는 방식을 Paging을 통해서 한 페이지당 특정 사이즈이 데이터를 불러오기 & 정렬하는 기준과 정렬순서를 설정할 수 있는 기능을 추가하기 위해 정리Sort.Direction direction = isAsc ? Sort.Direction.ASC : Sort.Direction.DESC;Sort sort = Sort.by(direction, sortBy);Pageable pageable = PageRe.. 2024. 6. 7. (24.06.05)[8주차] Response용 DTO 활용 팀 과제를 진행하기 전 필수적으로 알아야 하고, 협의된 내용에 관하여 좋은 디자인이라고 생각 JSON 타입으로 상태코드, 메시지, 여러 타입의 데이터를 Client에게 응답이슈return ResponseEntity.status(HttpStatus.OK).body(responseDto);{message : "게시물 조회가 완료되었습니다!",statusCode : 200,data : { login_id : “qlenf1234”, username : “김비둘”, email : “ggumi@gamil.com”, user_Info : “비둘깁니다.” }}Java Spring 환경에서 ResponseEntity를 통해서 특정 Dto를 Body로 했을 때, body 부.. 2024. 6. 5. (24.05.31)[7주차] Spring Security Filter에서의 Password Encoder 과제 중, 회원가입과 로그인 기능 가운데에서 JWT를 활용할 때, 이를 인증, 인가를 위한 방법으로 Spring Security를 사용할것이니 아닌지에 대한 명확한 구분점이 없어User의 username과 password 중 password가 평문으로 DB에 저장한 부분에 관하여 Spring Security와의 충돌에 관하여 해결한 나름의 방법을 정리했다. 실무에서는 지양하는 방법이지만, Spring Security의 AuthenticationManager의 작동 위치와 방법을 다시 복습하면서 점검할 수 있었다.Spring 숙련 개인 과제 주의할 점 정리 Server DB의 User Entity에 Password가 평문일 때의 Spring Security의 오류 분석하기이슈회원가입한 비밀번호가 로그인시 .. 2024. 5. 31. (24.05.30)[7주차] Access Token과 Refresh Token 구현 JWT Access Token과 Refresh Token어제 정리한 내용을 기반으로 내 자신 나름대로 Spring Security를 사용하지 않고, 코드를 짜려고 했고 스스로 코드를 분석하고자 한다.작동하는데는 이상이 없고, 후에 반드시 변경점을 재포스트 할 수 있도록!기존 JWT 활용 로그인 환경에서 Access Token / Refresh Token 구현 해보기Spring Security (Authentication Filter, Authorization Filter 등)을 사용하지 않고 Controller - Service - Repository 구조에서 실행될 수 있도록 구현로그인 진행할 때만 Filter를 사용할 수 있도록 세팅 public JwtAuthenticationFilter(JwtUt.. 2024. 5. 30. 이전 1 2 3 4 5 6 다음