DispatcherServlet이란? DispatcherServlet은 Spring Framework에서 중앙 진입점 역할로, HTTP 요청을 처리하는 프레임워크의 핵심 요소입니다. MVC(Model-View-Controller) 디자인 패턴에서 개발자가 사용자의 http 요청을 처리하는 로직을 좀 더 쉽게 구현할 수 있도록 돕습니다. 사용자의 http 요청에 대한 서버의 응답 방식을 보면 DispatcherServlet의 역할을 쉽게 이해할 수 있습니다. 1. 클라이언트로부터 http 요청이 들어오면 DispatcherServlet은 HandlerMapping을 통해 해당 요청을 처리할 Controller를 찾습니다. 2. 해당 Controller를 실행하여 비즈니스 로직을 처리합니다. 3. 처리된 결..
파이썬(Python)에서 가상환경을 만드는 이유는 하나의 컴퓨터에서 여러 개의 프로젝트를 독립적으로 진행하기 위함입니다. 독립적인 환경을 만들어 놓으면 각각 다른 파이썬 버전과 패키지를 사용할 수 있습니다. 의존성 충돌 문제를 해결할 수 있습니다. 이 글에선 virtualenv로 가상환경을 활성화하는 과정을 소개합니다. virtualenv (옵션) CentOS 7 파이썬 다운로드 OS는 CentOS 7 환경을 기준으로 설명드립니다. 파이썬이 설치되어 있지 않은 경우를 고려해 파이썬을 설치하는 과정부터 진행하겠습니다. 이미 파이썬이 있는 분은 아래로 내려가시면 됩니다. CentOS에서 기본적으로 제공하는 특정 버전보다 높은 버전을 설치하기 위해 centos-release-scl를 먼저 설치합니다. Soft..
자바에서 java.lang.OutOfMemoryError는 사용할 수 있는 힙 메모리(heap memory)가 부족할 때 발생합니다. OutOfMemoryError 현상의 원인과 해결 방안에 대해 알아보겠습니다. heap memory 힙 메모리가 무엇인지부터 알아보겠습니다. 힙 메모리는 흔히 로컬 스택(stack) 메모리와 대비됩니다. 스택 메모리는 함수가 호출되면 생성됐다가 호출이 종료되면 메모리도 함께 사라지는 특징을 가지고 있습니다(static 변수는 제외). 반면 힙 메모리는 메모리 블록이 한번 생성되면 종료 명령을 받기 전까지 유지됩니다. 여기서 자바의 중요 개념인 가비지 컬렉터(GC)가 등장하는데요. 가비지 컬렉터는 필요 없는 힙 메모리 할당을 스스로 해제시킵니다. 메모리를 알아서 관리해줍니다..
다이나믹 웹 프로젝트에서 WEB-INF 폴더 안에 있는 web.xml 파일을 열면 web-app 부분에 빨간줄로 에러 표시가 나타나곤 합니다. 해결법은 싱겁게도, 문서 위치에나 커서를 놓고 아무 조작이나하는 것입니다. 스페이스바를 눌러도 되고 문자를 썼다가 지워도 됩니다. 그러고나면 에러 표시가 제거됩니다.