
Spring에는 다양한 라이브러리가 있다.
그 종류가 너무 많고 기능도 제각각이라 학습하기가 너무 어렵다..
솔직히 말하면 예제를 보아도, 구조 설명을 봐도 이게 무슨 말인지 이해가 안된다.

요즘 알고리즘을 풀어보면서 느끼는 생각이, 예제만 통과되었다고 해서 그 코드가 정답이라는 보장이 없다는 것이다. 언제 어디서 버그가 터질지 예측하지 못한다.
그리고 그 버그가 발생하는 근본적인 원인은
이 3가지 경우라고 생각한다.
이와 관련된 여러가지 경험들이 있었는데,
문제에 대한 이해 부족이라 하면
코드에 대한 이해 부족이라 하면
프레임워크/언어에 대한 이해 부족이라 하면
등등이 있다.
한마디로, 일단 만들면서 배우는게 맞는데, 몰라서 만들기 무섭다.
위의 그림 처럼 날개가 아닌 목으로 날아가는 비둘기가 만들어질것 같다는 것이다.
그래서 이번 주제에 대해서는 다음과 같은 공부를 하고 난 후, 코딩을 할 것이다.

먼저, 자바 언어에 대해 알아보자.
출처 : 개구리책
대충 유명한 주제를 끌어다 썼다고 봐도 할말은 없다..
하지만 java언어를 재대로 써보는것이 처음이라 예제를 볼때 전체적인 그림이 그려지지 않는다.
마치 로봇을 조립할때 팔, 다리가 무엇인지는 알겠는데 어디다 끼우는지 모르는거같은 기분이 든다.

아래의 주재들은 Spring Framework reference 에서 참고했다.
site : https://docs.spring.io/spring-framework/reference/
주제의 선정에 대해서 설명을 하자면
사실, MVC를 Spring 그 자체라고 생각했었다. Nest.js에서도 MVC 모델을 썼었지만 Spring의 장점을 따왔다고만 생각했었다.
하지만 이번에 MVC는 디자인 패턴의 한 종류일 뿐이라는것을 알게 되었다.
자바/스프링이 처음 배우기에 정말 힘든 언어/프레임워크라는 말을 항상 들었는데 이렇게 실감나는적은 처음인거 같다. 특히나 spring은 위의 주제들에 공부하더라도 각각의 Annotation, SpringBoot 라이브러리들을 따로따로 배워야 한다는데 양이 정말 많은거 같다.
하지만 한번에 하나씩, 꾸준히 해보도록 하자.