본문 바로가기

전체 글44

Spring - MVC 작동 원리 3 ~ 4년간 스프링을 잘 사용해왔지만 내부적으로 어떻게 작동하는지에 대해서는 대충 겉핥기로 알고 있었다. 항상 어떻게 동작하는지 궁금증이 있었지만 정보를 찾기 어려웠다. 우연치 않게 김영한님의 스프링 MVC 강의를 듣게 됐고 명쾌한 답을 찾을 수 있었다. 강의에서 공부한 내용을 바탕으로 스프링 MVC가 어떻게 내부적으로 동작하는지에 대해서 최대한 상세히 정리해보려고 한다. ServletContainer 역할 순차적으로 어떻게 스프링 MVC가 동작하는지 설명해보겠다. 시나리오는 @RequestMapping을 사용했다고 가정한다. 사용자가 스프링 서버에 HTTP 요청을 날리면 WAS가 요청을 받는다. 이때 WAS는 스레드를 하나 생성하고 HttpServletResponse와 HttpServletReques.. 2022. 12. 13.
IPSec VPN과 SSLVPN IPSec VPN과 SSLVPN VPN이 상용화 되기 전에는 본사와 지사 간에 전용망을 구축하기 위해서 물리적인 연결이 필요했다. 그런데 전용망을 구축하기 위해서는 물리적인 거리에 비례해서 엄청나게 비싼 비용이 필요하다. 이런 문제점을 VPN이 해결해 주었는데 VPN은 인터넷 망을 이용해서 전용망처럼 안전하게 통신을 할 수 있게 해준다. 오피스에서 인터넷망까지만 물리적으로 연결이 되면 전용망 구축이 되게 된 것이다. VPN이 상용화되자 기존의 전용망을 구축했던 기업들은 대부분 VPN으로 갈아탔다고 한다. 이번 포스팅에서는 IPSec VPN과 개인이 네트워크에 접속하기 위해 사용하는 SSLVPN에 대해서 간단하게 알아보도록하겠다. IPSec VPN 이란? IPSec VPN은 이름 그대로 IPSec 프로토콜.. 2022. 9. 20.
Java - Lombok 주의사항 2 - @EqualAndHashCode Lombok 주의사항 2 - @EqualAndHashCode 지난 시간에는 @AllArgsConstructor와 @RequiredArgsConstructor를 사용할 때 주의 사항에 대해서 알아보았다. 오늘은 @EqualAndHashCode를 사용할 때 주의사항에 대해서 알아보도록하겠다. @EqualAndHashCode @EqualAndHashCode를 사용하면 자동으로 hashCode()와 equals() 메소드를 생성해 준다. equals()는 필드값들을 비교해서 동일한 객체인지 판단하고 hashCode()는 필드값들을 사용해서 해시코드를 생성해주는 메소드이다. @EqualAndHashCode로 문제가 될 수 있는 부분은 hashCode()인데 예시를 통해 어떤 문제가 생길 수 있는지 확인해보자. (.. 2022. 9. 19.
Java - Lombok 주의사항 1 @AllArgsConstructor @RequiredArgsConstructor Lombok 사용시 주의사항 지난 시간에는 Lombok에서 주로 사용하는 기능들에 대해서 알아보았다. Lombok을 잘 사용하면 참 편리하지만 Java가 그렇게 단순한 언어는 아니다보니 무분별하게 사용하면 예기치 못한 문제를 마주칠 수 있다. 이번 시간에는 Lombok을 사용할 때 반드시 알고 주의해야할 사항들에 대해서 알아보도록하겠다. 오늘은 @AllArgsConstructor 와 @RequiredArgsConstructor을 사용할 때 주의할 점에 대해서 알아보겠다. Lombok의 기본에 대해서 궁금하다면 이전 글을 참고하길 바란다. https://today-devstart.tistory.com/34 Java - Lombok이란? Boilerplate 코드들 Java를 사용하기 위해서는 엄청나게 많은.. 2022. 9. 18.