Guham 팀빌딩 서비스 개발 과정 @Basic, Spring Validator, MVC 적용한 컨트롤러 테스트 Spring Security PasswordEncoder, LogIn, 프론트엔드 라이브러리 NPM 관리, Thymeleaf Fragments Spirng Security Principal 제어, Remember-Me 쿠키 OSIV(Open Session In VIew), Detached Entity Control Spring Security Authorized Test, RedirectAttributes @ModelAttribute 기본생성자가 필요한 경우 Security Context 유저 정보와 DB 유저 정보 동기화 SpringBoot + Ajax, CSRF Google SMTP, 서비스 추상화,Thymeleaf Context 연관관계 맵핑 이후 조회 쿼리 시 생각해야할 것 패키지 의존성(단방향 연관관계) 테스트 ArchUnit, TestContainers for JAVA Srping Event, Async QueryDSL 배운점 프로젝트 후기 JPA 단방향 연관관계로 서비스 기획, 필요할 때 양방향 연관관계 사용 JPA 조회 쿼리 시 원하는만큼 조회해 필요하지 않은 정보까지 조회하는 쿼리나 필요한 정보를 조회하지 못해 발생하는 추가쿼리(N+1) 발생 예방 트랜잭션의 범위와 영속성 컨텍스트의 범위의 차이 서비스에서 다른 서비스의 로직이 필요할 때 스프링 이벤트를 통해 패키지 의존성 분리 시간이 오래 걸리는 로직을 멀티 쓰레드를 사용해 요청 처리와 별도로 로직 분리 참고 인프런 - 스프링과 JPA 기반 웹 애플리케이션 개발(백기선) 강의