스프링 시큐리티 - Spring Boot 기반으로 개발하는 Spring Security

 

스프링 시큐리티 - Spring Boot 기반으로 개발하는 Spring Security - 인프런 | 강의

초급에서 중.고급에 이르기까지 스프링 시큐리티의 기본 개념부터 API 사용법과 내부 아키텍처를 학습하게 되고 이를 바탕으로 실전 프로젝트를 완성해 나감으로써 스프링 시큐리티의 인증과

www.inflearn.com

 

 

부트캠프를 마치고  신입 개발자로 첫 회사에 입사하게되었다. 3개월이 지나고 백엔드 업무와 회사의 코드컨벤션이 익숙해졌을 쯤 1년뒤 2년뒤는 적어도 지금과 달라져야한다는 생각이 많이들었다. 특히 나와 실력차이가 많이 나는 팀장님을 보면, 한 없이 내가 작게 느껴지고 1년뒤에는 현재의 팀장님 실력만큼은 따라잡아야지 라는 생각을 가지고 인프런 강의를 듣게되었다. 

서론이 너무 길었지만 스프링 시큐리티  Spring Boot 기반으로 개발하는 Spring Security 강의를 듣게된 계기가 1년뒤  팀장님 실력만큼은 따라잡아야지 라는 생각과 오늘의 나는 어제보다 실력이 늘었다라고 느끼기엔 힘들지만  1~2년뒤는 실력이 늘었다라는 지표를 얻고 그것을 느끼고 원동력이 되고싶은 생각에 강의를 듣게되었다.

 

 

힘들었던점

이 강의는  spring security 5.7이후 WebSecurityConfigurerAdapter가 deprecated 된 후의 강의가 아닌 이전에 강의 이기 때문에 WebSecurityConfigurerAdapter를 상속받아서 기능을 구현했다.

나는 이 때 개발자라면, 최신버전을 사용해서 기술을 배워야한다고 생각했기에 그리고 오만하게도 나는 가능할 거라고 생각했다.

그래서  WebSecurityConfigurerAdapter를 사용하지않고 spring security 5.7이후 버전으로 진행하다보니 마이그레이션이 너무 힘든 부분이 있었고 막히고 에러가나며, 벽에 붙히였고 결국은 WebSecurityConfigurerAdapter를 사용해서 강의와 같게 진행을 했다. 

그러니 스트레스도 적어지고 강의진도를 빠르게 진행할 수 있었다. 나는 이 경험으로 강의를 새롭게 마이그레이션하면서 진행하는 것도 좋지만.... 그 기술이 익숙해지기전에는 강의를 먼저 그대로 받아드리고 이 후 마이그레이션하는 방법도 좋다고 생각이들었으며, 오히려 지름길이라 생각이 들었다.

 

 

 

기술내용 외에 배우게된 내용

  이 강의는세션으로  spring security를 구현하는 내용에 초점이 맞춰져있다. 나는 스프링시큐리티에 대해서도 많이 배웠지만 다른사람(정수원강사님)은 자바라는 그리고 스프링을 어떻게 생각하고, 사용하고, 느끼고있는지 알게된 것 같다. 사실 이 표현이 맞는지도 잘모르겠지만...

   나는 개발을 implements보다는 extends를 많이 쓰기도하고  그것도 대부분 DTO에 같은변수들을 반복작성하지 않기위해 사용하기 때문에 Override 하는 행위를 하지 않았다.  하지만 스프링 시큐리티는 대부분 implements하거나 extends해서 구현하거나 상속받아서 Override 를 많이 한다.  

Override 해서 기존에 있는 로직을 재정의해 로직의 흐름을 컨트롤할 수 있다는 관점에서 나는 매우 신선하게 다가왔다. 기억이 많이 남은 부분은 메소드단위의 인가는 기술적으로 실시간 적용시킬 수 없다고(강의 촬영기준)  Override해서 실시간으로 적용할 수 있도록 구현걸 보고 충격을 받았다. 

나는 이 계기로 어려움에 직면했을 땐 여러 해결방법중 Override로 해결할 수 있는 방법은 하나 얻은 것이다.

 

 

 

아쉬운점

첫번째
세션별로 브랜치를 나눠 푸시를 해놓고 있지만 이 방식을 중간부터 시작하게 되어서 날라간 나의 자료가 많이 있다.

 

두번째
섹션별로 강의를 듣는데 해당 섹션의 내용을 README.md로 작성한다. 하지만 작성한다고 하지만 그 섹션에 로직이 추가되고 삭제되었는지에 대한 내용만 들어가 있어고 내가 이 강의에서 느낀점이나 어려운점, 배운점 등 해당 섹션에 대한 나의 생각이 들어가 있지않아서 너무 아쉬웠다. 강의에 대한 아쉬운점이 아닌 나의; 아웃풋에 대한 아쉬운 점을 많이 느끼게 된 것 같다. 

 

 

 

앞으로

아쉬운점에서 얘기 했듯이 이후 강의는 섹션별로 브런치를 나눠 해당 섹션에서 무엇을 생각하고 느꼈는지 작성하고 이렇게 강의 한번으로 끝나는게 아니라 사이드프로젝트로 배운 내용을 적용시키며, 최신버전으로 마이그레이션하는 시간을 가져 좀 더 이해도를 높이는 방향으로 아웃풋을 쌓아가려고한다.

이 정도의 긴 글을 내 생각만으로 글을 쓰는건... 처음인것 같다. 내 생각을 표현하며 글의 완성도를 높히는게 이렇게 어려운지 한번 더 깨달았다. 책을 많이 읽어야지... 

 

 

 

 

 

복사했습니다!