본문 바로가기

회고

11월 26일 회고

Keep - 잘하고 있는 점. 계속 했으면 좋겠다 싶은 점


Keep1 - JVM 공부

 프리코스에서 자바에 대한 기본기가 많이 부족하다는 것을 느꼈다. List, Collection, equals 등의 개념이 대표적이었는데, 내가 무언가를 잘 알지 않는 상태에서 사용하는 것은 프로그램에 좋지 않은 영향을 미칠 것이라 생각했다.

 

 자바에 대해 깊게 알아야 Spring 을 더 잘 할 수 있다고 생각해 JVM 에 대해 공부했다. JVM 을 공부하며 자바 프로그램의 실행 과정, 실행 중 동작, GC 의 수행 과정을 알 수 있었다. 아직 JVM 을 전부 공부한 것은 아니다. JVM 은 생각보다 복잡하고 어려운 개념이었다.

 

 JVM 을 계속해서 공부하며 순수 자바에 대한 이해도를 쌓아가고자 마음먹었다.

 

 

Keep2 - CS 공부 (프로세스, 쓰레드)

 JVM 을 공부했던 이유와 마찬가지로, 프로그램을 동작시키면서 프로세스와 쓰레드에 대해 잘 모르면 안된다고 생각했다. 컴퓨터 공학의 가장 기초 지식이라 생각했고, 이미 어느 정도 알고 있는 지식이 있었지만 다시 공부를 시작했다.

 쓰레드에 대해 공부하는 과정에서는 이해를 돕기 위해 Spring 의 쓰레드 풀에 대해서도 함께 공부했다.

 

 

 

Problem : 뭔가 문제가 있다 싶은 점. 변화가 필요한 점


Problem1 - Spring Boot 에 대한 이해

 Spring Boot 를 사용해 프로젝트를 한 경험도 있고 현재도 계속해서 공부중이지만, Spring Boot 에 대한 이해가 많이 부족하다는 것을 느낀다. Bean 의 생성과 관리, AutoConfiguration 등 모르는 개념이 많다.

 그렇다 보니 코드를 작성할 때 고려할 수 있는 점이 제한적이다. 내 코드가 정확하게 어떤 영향을 미치는지 알 수 없고, 내가 아는 선에서만 최적화를 하고 고민할 수 있다.

 이 문제를 해결해야 한다.

 

 

 

Try : 잘하고 있는 것을 더 잘하기 위해서, 문제가 있는 점을 해결하기 위해서 시도해 볼 것들


Try1 - CS 공부 (프로세스, 쓰레드 깊게 이해하기)

 아직 프로세스와 쓰레드에 대해 깊게 이해하지 못했다. 프로세스와 쓰레드를 더 공부하며 실제 내 프로그램 관점에서 생각해 볼 예정이다.

 

 

Try2 - Spring Boot 공부 (AutoConfiguration, Bean)

 Spring 의 Bean 의 생성부터 관리, AutoConfiguration 에 대해서 공부할 예정이다. 아직 공부하지 않았기에 공부 방향은 추후 설정해야 한다.

 

 

Try3 - RestInterceptor 라이브러리 만들기

 Restful 환경에서 기존의 Interceptor 를 사용하면서 두 가지 불편함이 있었다.

1. Preflight 요청의 OPTIONS 메서드에 대해 항상 true 를 반환하는 코드를 삽입해야 한다.

2. URI 기반이므로, 동일한 URI와 다른 HTTP Method 를 인터셉터 내부에서 구현해야 한다.

ex) /memos 에 대해 인증/인가 Interceptor 구현 -> GET 은 통과, POST 는 검증 수행한다.

 

이 불편함을 해결하기 위해 라이브러리를 만들 생각이다.