본문 바로가기
프로그래머스 데브코스/회고

[데브코스] Spring 3주차를 마치며

by 7533ymh 2022. 5. 2.

기본적인 Java, 데이터베이스 학습 주차를 마치고 본격적으로 Spring에 대해 배울 수 있었다.

이전 학교 프로젝트에서 스프링 부트를 사용해보긴 했지만, 그때는 그저 입문 강의 하나 듣고 개발했던 거라 스프링이 어떻게 동작하고 왜 사용하는지에 대해선 제대로 알지 못한 상황이었다.

그래서 처음 배우는 마음을 가지고 학습하며 하나하나씩 나의 것으로 만들기 위해 노력했다. 사실 배우면 배울수록 내가 사용했던 건 스프링이 아니었다는 것을 느끼며 부끄러웠었다. 😂


1주차

간단히 주차 별로 배운 것을 말해보자면 1주 차에는 스프링의 전반적인 원리와 사용법에 대해 익힐 수 있었다.

IoC부터 시작해서 DI, 컴포넌트 스캔 등 스프링의 핵심 원리와 더불어 Profile, Logging 등 여러 개념을 배울 수 있었다.

5일이라는 짧은 기간 동안 여러 개념을 배우다 보니 완벽하게 이해하기 보단 큰 그림을 그리며 이해하고 후에 좀 더 학습하고 정리하며 완벽하게 이해하고자 하였다.


2주차

2주 차에는 스프링 테스트, JDBC, AOP에 대해 학습하였다. 이때까지는 단위 테스트만 많이 짜보았는데 Mock 테스트와 통합테스트와 같이 여러 테스트 방식과 사용법에 대해 익힐 수 있어 좋았다.

또한, 학교 프로젝트에서는 Mybatis를 사용하여 개발을 하였던 데 다중 DB를 사용하려 했지만, 당시에는 그저 properties 파일에 DB정보를 기재하는 것밖에 몰랐기에 많은 어려움을 겪었다. 어찌어찌 해결은 하였지만 한 번씩 DB 연동이 안 되는 버그가 발생하여 고치려고 하였지만, 프로젝트 기간 때문에 그러면 안 되지만 그냥 무시하고 넘어갔었던 경험이 있다.

이러한 경험은 사실 스프링에서의 DataSource 방식에 대해 이해하지 못해서 나온 결과였고 해당 주차를 학습하며 당시 왜 그러한 버그가 생기게 되었는지 이해할 수 있었고 프레임워크를 잘 사용하는 것도 중요하지만 내부 원리에 대해서 이해하는 것이 더 중요하다는 것을 느낄 수 있었다.


3주차

3주 차에는 SpringMVC의 전반적인 내용을 학습하였다. SpringMVC를 학습하며 웹 기술이 어떻게 이루어져 있고 어떻게 동작하는지에 대해 알 수 있었고 Servlet부터 시작하여 DispatcherServlet, REST API, CORS 등을 배울 수 있었다.

3주 차는 제일 어렵게 느꼈던 주차였다. 본격적으로 Web에 대해 들어가다 보니 나의 얇은 네트워크, Web 개념들이 발목을 잡아 이해가 잘 안되었다. 그래도 강의를 보고 정리함으로써 어느 정도 큰 그림을 그릴 수 있게 되었다.

또한, 하나하나씩 설정해주었던 코드들을 Spring Boot의 AutoConfiguration을 적용하며 어떻게 바뀌는지를 알 수 있어 좋았다. 이전에는 그저 properties 파일에 DB 정보를 입력하던가 Json을 반환하던 것을 Spring에서는 어떤 원리를 통해 구현되는지를 하나씩 구현해보고 이것을 AutoConfiguration을 통해 바꿔봄으로써 더욱 확실히 개념을 잡을 수 있었다.


아직 부족하지만 만족할만한 3주

3주 차에 걸쳐 방대한 Spring에 대해 학습할 수 있었다.

아직 Valid나 트랜잭션 등 학습해야 할 것이 많지만 Spring에 대해 큰 그림을 그렸다는 것만으로도 만족할만한 기간이었다.

사실 이해하느라 주차 별 과제도 밀리고 힘들었지만 그만큼 많이 성장했던 주차가 아니었나 싶다.

그렇지만 여기서 만족하지 말고 하나씩 다시 되짚어보며 학습해야 하는 것은 변함없다. 😄

요번 주차부터터 개인 프로젝트를 진행하게되는 데3주 동안안 배웠던 것들을 모두 녹아내며 만들고 싶다.

'프로그래머스 데브코스 > 회고' 카테고리의 다른 글

조금 이른 2022 회고  (3) 2022.12.18
[데브코스] 계산기 과제를 마치며  (0) 2022.04.03

댓글