이 게시글에서는 "스프링 부트 - 핵심 원리와 활용 후기" 강의를 수강하면서 얻은 것들을 기록하려고 한다. 나중에 성장한 후에 현재의 나를 되돌아볼 수 있도록, 다른 글과는 다르게 두서없이 지금의 생각을 그대로 담아 작성할 예정이다.
평소 스프링 부트를 기본적으로 사용하였으나, 스프링을 단지 매우 쉽고 편리한 도구로만 인식하고 있었다. 때문에, 실제로 스프링이 제공하는 기능에 대한 깊이 있는 이해는 부족한 상황이었다. 특히, 설정과 관련된 부분에서 자주 답답함을 느꼈다.
프로젝트를 진행하며, Spring Batch와 같은 거대 프레임워크를 사용할 때 설정을 빈번히 수정했던 경험이 있으나, 당시 설정의 작동 원리에 대한 이해가 부족하여 관리에 어려움을 겪었던 기억이 있다.
또한, 인프라에 관심이 많았던 나는 jar 파일을 이용한 배포 경험이 있었으나, 스프링 시대에는 war 파일을 이용해 배포를 수행했을 것이라는 궁금증이 있었다. 강의에서 내장 서버에 대한 부분도 다루어준다고 하여, 수강을 결심하게 되었다.
김영한님의 강의는 진행 서사가 굉장히 좋다고 생각한다. war 파일을 이용한 배포 과정을 직접 경험하면서 불편함을 체감할 수 있었으며, 이를 통해 스프링 부트로의 전환 과정을 더 쉽게 이해할 수 있었다.
또한, 스프링 부트가 사용자를 위해 어떻게 자동구성을 제공하는지를 이해하게 되었고, 이를 바탕으로 [생각정리] JPA의 N+1 쿼리를 감지하는 라이브러리 제작 글에서 다룬 바와 같이 라이브러리를 직접 제작할 수 있게 되었다.
나는 지식을 습득하였으면, 지식을 이용하여 무엇이든 만들어보려고 노력하는 편이다. 무엇이든 만들어보아야지 진짜 내가 지식을 습득하였다고 생각하기 때문이다. 때문에 바로 JPA의 N+1 쿼리 감지기를 제작하기 시작하였으며, 정말 재미있게 만들고 있다. 이것 만으로 이 강의에서 얻을 것은 충분히 얻었다고 생각한다.
마지막으로, 평소 모니터링 시스템에 관심이 많아 스스로 구축해본 경험이 있었는데, 이번 강의에서 spring actuator의 다양한 기능을 알게 되어 매우 유익하였다. 또한, 모니터링에 대한 김영한님의 장애 대처 노하우를 습득할 수 있어서 매우 만족스러웠다.