출근길에 우아한테크콘서트에서 김영한님이 발표하신 배달의민족 마이크로서비스 여행기를 보게 되었습니다. 말씀을 너무 쉽고 담백하게 하셔서 검색하던 중 인프런에 있는 스프링 강의를 보게 되었습니다. 이 글은 강의 홍보나 강의에 대한 요약이 목적은 아니고 이정표 느낌으로 강좌에 대한 제 느낌을 조금 적어보려고 합니다.
_____
일을 하며 자바, 스프링을 사용하고 있지만 이를 잘 쓰고 있는가에 대한 고민, 걱정을 항상 안고 있었다. 하지만 개념서를 보더라도 개념을 코드에 적용하는 게 쉽지 않을 뿐더러 맞게 이해하고 있는 것인지 확인하기도 힘들었다. 김영한님의 스프링 핵심 원리(기본편)은 아래와 같은 이유로 이러한 점을 해소해줄 수 있는 강의가 아닌가 한다.
- 스프링이 도입되게 된 배경을 설명한다. EBJ에 어떤 문제가 있었고, POJO란 무엇인지 개괄적인 설명을 들을 수 있다.
- 자바 코드로 요구사항에 맞게 코딩해보며 스프링이 왜 등장하게 되었는지를 직접 이해할 수 있다. 예로 자바의 가장 큰 장점인 다형성에 맞게 코딩했는데, SOLID[1]를 준수하지 못한다는 점[2]을 보여주며 이를 지키기 위해 어떻게 코드를 변경해야 하는지 보여준다.
- 라이브 코딩을 하는 과정에서 단위 테스트, 인텔리제이 단축키, 업계 용어 등 기타 실무에서 필요한 지식들이 쏠쏠히 등장한다.
특히 두 번째가 다른 강의와의 차별점인데, 직접 스프링의 핵심 개념[3]이 어떤 문제 의식으로부터 등장하게 되었는지 느낄 수 있다는 점이다. 초보 개발자들에게 개념적 지식들이 개념으로만 남지 않고, 간단한 코드로서 머리에 기억될 수 있다는 점에서 유익하다. 더욱이 그 예가 간단할지언정 실무에서 동떨어져 있지 않다면 이보다 더 좋을 수 있을까? 추가로 강의자가 추천한 책의 목록[4]을 아래 기입한다.
_____
1. SOLID 원칙은 로버트 마틴이 소개한 객체 지향 프로그래밍 및 설계의 다섯 가지 기본 원칙이다. 강의에서는 OCP 및 DIP를 특히 중시하며 설명한다.
2. 예제 코드는 저작권이 있을 수 있으므로 생략
3. 위의 예에 해당하는 스프링의 핵심 개념은 의존성 주입(DI)이다.
4. 추천 책 목록
댓글