본문 바로가기
스터디/리얼 월드 스터디 회고

리얼 월드 스터디 회고 - 7

by 딱구킴 2023. 1. 8.

이번주는 댓글 구현이라, 구현 자체는 어렵지 않았다.

그래도 아주 핵심적인 이야기가 오고갔는데, 너무 스프링 시큐리티에 매몰되어 “기본을 놓치고 있지는 않은지” 에 대한 내용이었다.

해당 내용에 대해, 나의 몇 가지 반성 포인트가 있다.

반성 포인트

  • @SpringBootApplication 애노테이션의 원리를 설명할 수 있는가?
    • 대답은 No다. 큰 그림과 무슨 역할을 하는지는 알지만, 얘가 어떻게 동작하는지는 설명할 수 없다는게 내 현 주소였다.
  • Spring, SpringBoot의 기본적인 아키텍처를 알고있는가?
    • 정말 기본적인 아키텍처만 알고있다(누구나 배우는 그런 아키텍처). CGLib, JDK 다이나믹 프록시 등 AOP 관련 내용은 잘 알지 못한다. 이 부분은 리플렉션이 관여되어 있을 것이므로, 리플렉션부터 알아봐야 될 것 같다.
  • DB는 스프링이랑 어떻게 연관이 되어있는가?
    • Jdbc가 어떤식으로 관여하는가? dataSource가 무엇인지, Driver가 무엇인지는 알아도 어떻게 동작하는지는 모른다. 알아보도록 하자. (큰 그림만 안다.)
  • Java에 대해서는 얼마나 알고있는가?
    • 문법적인 측면이 아니다. JVM, GC, 자료구조, 리플렉션… 등의 원리나 구현 방식을 제대로 파악하고 있는가?라고 누가 묻는다면 제대로 대답하지 못할 것 같다. 이들이 어떻게 연관되어 어떻게 동작하는지를 제대로 파악하도록 하자.
    • 각각의 원리는 알고 있지만, 연관된 원리를 알려고 하지 않았던 것 같다. 이를 알아가보도록 하면 좋을 듯 하다.

따라서, 다양한 주제들 중에서 연관된 주제들을 하나의 주제로 하여 매 주 토론을 하기로 했다. (구현은 3일 간격으로 스프린트를 하게 될 듯 하다. 토론은 일주일!)

 

대략적으로 크게 정해진 주제는 다음과 같다.

- OOP
    - SOLID
    - 디자인 패턴
- Java
    - JVM .. JRE … JDK … GC
    - 함수형 패러다임
    - 얕은 복사 VS 깊은 복사
    - 불변 객체
    - 자료구조가 어떻게 구현되어있는가?
- Spring
    - 기본적인 아키텍처
- DB ← 스프링이랑 어떻게 연관이 되어있는가?

마무리

  • 다음주 토론 주제는 리플렉션의 원리(JVM)이다.
  • 리플렉션이 동작하는 원리를 파악 해보도록 하기로 했다. 이를 토론 주제로 삼아 토론을 수행할 계획이다.

 

각 요소에 대한 공부는 꾸준히 수행 중이나, 각 요소들이 서로 어떻게 협력하는지는 파악하려고 하지 않았던 것 같다. 서로가 필요성을 깨닫고, 이를 실천하게 되는 이러한 과정들이 참 소중한 것 같다.

댓글