/////
Search

2022년 11월 30일 수요일 16시

참여인원

곽철민, 김지수, 이연재, 장서현, 조문주, 이도현

피드백 사항

<흥미로웠던 부분>

인증과 인가라는 개념을 처음 배워서 로그인하는 기능을 만들어보고 토큰을 발행했던 것과 예외처리하는 부분이 흥미로웠다.
인증과 인가, 접근 주체에 대해 알아보았고, 어제 강의를 통해 인증이 실행되는 과정에 대해 자세히 공부할 수 있어서 좋았다. 처음에는 클래스에서부터 헤맸었는데, 구현은 별개라지만 어느새 이진 트리와 재귀의 원리를 이해하고 있어서 개인적으로 뿌듯했다.
JPA를 쓰면 MySQL 워크벤치를 따로 안켜도 된다는 부분이 흥미로웠다.
아직 잘 이해는 안가지만 토큰이 흥미로웠다.

<새롭게 알게 된 점>

hospital과 review를 양방향 매핑하면서 계속해서 참조하는 순환 참조 문제가 났었는데 부모 쪽 엔티티 클래스에 @JsonManagedReference 어노테이션을 붙이고 자식 엔티티 클래스에는 @JsonBackReference 어노테이션을 추가해주면 된다는 걸 새롭게 알게됐다.
Service 메서드에 구현한 로그인 메서드를 파악하면서, 토큰이 발행되기 위한 조건들에 대해 공부할 수 있어서 좋았다. 그러나, 아직 강의에서 Security Login의 전체적인 흐름을 배운 것은 아니기 때문에 UsernamePasswordAuthenticationFilter와 같은 부분은 더 이해가 필요할 것 같다.
예외 처리는 여러 클래스에서 할 수 있는데 매번 예외처리를 서비스 로직에서 각각 해주는 것 보다는, 이에 대한 것들을 Exception과 관련한 클래스들에 대해서 처리를 위임해주는 것이 AOP의 취지이자 핵심인데, 이에 대한 느낌을 바로 잡을 수 있어서 매우 좋았다.
jwt 인증, 토큰: 인증 개념과 장단점, 돌아가는 원리 + JWT 구조를 알게 됐다.
Optional 클래스가 잘 이해 안 돼서 따로 찾아봤는데 NullPointerException을 유발할 수 있는 null을 직접 체크하지 않아도 된다는 것을 알게 됐고 메소드의 반환 값이 null이 아니라면 사용하지 않는 것이 좋다는 것도 알게 됐다.
get() 메소드를 사용하면 Optional 객체에 저장된 값에 접근할 수 있다는 것을 알게 됐다.

<힘들었던 부분>

순환참조문제가 DTO를 만들어서 하면 괜찮다고 해서 DTO를 만들었는데 계속 순환참조가 돼서 힘들었다.
Spring Security를 하면서 인증과정의 흐름을 아직 다 배우지 않아서 그런지 많이 헷갈려서 힘들었다.
SpringBoot Security는 전체적으로 어려웠다. join과 login 기능 구현은 강사님 코드를 따라치며 에러 없이 잘 했지만 나중에 내가 혼자 짤 수 있을지는 잘 모르겠다.
TDD는 외워서 되는것도 아니라서 너무 어려웠고 무엇을 검증할지 생각해야하는데 아직 잘 떠오르지 않아서 어려웠다.
아직 스프링 숙지가 안되어 있어서 스프링 시큐리티 코드를 짜도 실행 시 흐름이 이해되지 않는 부분이 있어서 힘들었다.
비슷한 맥락으로 JPA 매핑도 아직 잘 이해가 안간다.
수업시간에는 계속 코드를 따라치느라 바빠서 수업 끝나고 나서 하나씩 찾아보면서 복습을 했는데 이해하기 힘들었다. 흐름을 이해하는게 아니라 외워서 하려는데 점점 양이 많아지니까 그것도 힘들었다.

<노력해야 할 점>

이번에 Map, Reduce 같이 자바의 기초부분을 잘 모르고 쓰고 있었던 것을 알게 되어 진도만 나가지 말고 기초적인 부분들도 잘 정리를 해둬야 겠다고 생각했다.
JWT, 세션, 쿠키의 개념과 차이점, jpa 지연로딩에 대해서 더 공부해야 할 것 같다.
스프링 복습과 주요 어노테이션을 재정리해야 할 것 같다.
컬렉션 프레임워크, Map reduce 등 자바 기초-심화를 다시 복습해야 할 것 같다.
흐름 위주로 공부를 해야할것 같다.
stream 잘 모르겠어서 다시 복습해야 할것 같다.