
Spring Security
스프링 프레임워크의 보안을 위한 프레임워크
Spring Security 는 적용시
별도의 Spring Security 의 필터 체인들이 적용되며 필터 내 검별을 통해
보안 요소들을 적용한다
생각보다 사용하는 것만 익숙해지면 어렵지 않은 것 같은데,
세세하게 파면 팔수록 생각해볼게 늘어나고 지능이 점차 하락함을 체감할 수 있었다
토이 프로젝트가 없었으면 뭔가 흐름을 이해하기 어려웠을 것 같다
Interceptor, AOP
인터셉터는 컨트롤러의 전후를 가로채어 처리하는 컴포넌트
AOP는 관심사를 분리하여 횡단 관심사와 핵심 관심사로 나누는 프로그래밍 방식
이 전에 한번 정리해 둔 개념이기도 했고, 인터셉터는 활용을 해봐서 더 학습이 빨랐다
Test Code
어떤 코드의 결과를 예상하여 동작이 올바른지 검사하는 방법
개발자로서 얼마나 잘 짰는지를 체감하게 해주는 부분이 테스트 코드라고 생각한다
쉽게 테스트 되는 코드가 있고 아닌 코드가 있고, 판별하기도 어려운 코드가 있으니..
코드의 테스트로 작동을 보장하는 것 자체를 많이 개인적으로 원했어서
시큐리티 다음으로 가장 유념하며 공부한 내역이다
과제 수행
이번 리팩토링 및 오류 중점 과제가 있었는데, 제일 어려운 부분은 테스트 코드였다
ArgumentResolver 나 AOP, Intercepter, JPQL 의 N+1 문제 등
왜 발생하고 왜 써야하고 어떻게 해야할지는 어느정도 알수 있었는데
테스트 코드는 스스로 코드에 답을 줘서 끼워맞추는 과정이 반복되다보니
이게 테스트가 되는건지 그냥 답안지 보고 적는 느낌도 나고, 내가 잘못 짜고 있는건지
계속 헷갈리는 기분이 들었다
통과는 되니 여러번 반복 수행을 하긴 했는데 뭔가 좀 석연찮은 부분이 있었다
그러다보니 컨트롤러나 엔티티, 레포지토리의 단위테스트, 통합테스트는
작성하지 못했는데 토이 프로젝트에 하나씩 작성하며
내가 과연 제대로 작성할 수 있는지 알아봐야겠다
링크 제출 후 다시 보고 있는데, 코드 하나가 쓰임이 편의성 때문인가 하고
냅둔 코드가 있었는데 영속 상태로 만들지 않고 있음을 깨달았다
등잔 밑이 어둡다, 보는 눈을 좀 더 길러야 겠다