본문 바로가기

전체 글

(47)
가상화(Virtualization) 가상화(Virtualization) 란 가상화는 컴퓨터의 자원을 가상으로 분할하거나 모방하는 기술을 의미한다. 가상화 기술을 사용하면 하나의 물리적 서버에서 여러 운영체제와 애플리케이션을 실행할 수 있다. 다음과 같은 상황을 가정하자. 각각 용도가 다른 3개의 물리 서버(메일 서버, 웹 서버, 내부 레거시 서버)가 있다. 각 서버는 잠재적인 실행 용량의 일부에 불과한 30% 용량만 사용하고 있다. 그러나 내부 운영을 위해서는 레거시 애플리케이션이 계속 필요하므로 레거시 어플리케이션과 이를 호스팅하는 세 번째 서버를 유지해야 한다. 이런 상황에서 전통적인 서버 구성방식은 위와 같다. 한 개의 서버에 한 개의 운영체제와 한 개의 태스크 형태로 구성한다. 하지만 가상화 기술을 사용하면 서버를 아래와 같이 구성..
TCP와 UDP 전송계층에서 사용되는 프로토콜 TCP와 UDP는 OSI 표준모델과 TCP/IP 모델의 전송계층에서 사용되는 프로토콜이다. 전송계층은 송신자와 수신자를 연결하는 통신 서비스를 제공하고 IP에 의해 전달되는 패킷의 오류를 검사하며 재전송 요구 제어 등을 담당하는 계층이다. (쉽게 말해 데이터의 전달을 담당하는 계층이라고 할 수 있다.) TCP와 UDP는 포트 번호를 이용하여 주소를 지정하는 것(TCP와 UDP 모두 포트 번호로 서비스를 식별한다)과 데이터 오류검사를 위한 체크섬이 존재하는 두가지 공통점을 가지고 있지만 정확성(TCP)을 추구할지 신속성(UDP)을 추구할지를 구분하여 나뉜다. TCP (Transmission Control Protocol)란 TCP는 신뢰성있는 데이터 전송을 지원하는 연결형 프..
OSI 모델, TCP/IP 모델 OSI 참조 모델이란 OSI 참조 모델(Open Systems Interconnection Reference Model)은 국제표준화기구(ISO)가 정의한 국제 통신 표준 규약이다. 통신의 접속에서부터 완료까지의 과정을 7단계로 구분, 정의했으며 일반적으로 OSI 7 계층이라고도 한다. OSI 참조 모델이 나오게 된 배경 1900년대 중반 네트워크가 시작되며 서로 다른 컴퓨터 간에 정보를 주고받는 것이 가능해졌다. 서로 다른 기기간에 데이터를 주고 받으려면 통신 규약, 즉 프로토콜이 필요했기에 네트워크를 사용하는 업체들은 자체적으로 프로토콜을 개발하기 시작했다. 하지만 이 당시에는 통일된 규정이 없어서 서로 다른 프로토콜을 사용하는 타 업체 기기와의 통신은 불가능했다. OSI라는 모델은 이러한 상황을 해..
Filter, Interceptor, AOP 이번 포스트를 보기 앞서 이전 포스트를 보고 오시기 바랍니다. https://jaystorage.tistory.com/12 Spring Framework의 특징과 작동 과정이번 포스트를 보기 앞서 이전 포스트를 보고 오시기 바랍니다. https://jaystorage.tistory.com/6 POJO (Plain Old Java Object) 처음 POJO(Plain Old Java Object)라는 개념을 접했을 당시에는 ‘평이하고(아무것도 꾸며jaystorage.tistory.com  Spring Framework에서 공통 로직 관리 스프링으로 웹 개발을 하다 보면 비즈니스 로직이 호출되기 전이나 후에 공통적으로 처리해야 하는 기능들이 생기기 마련이다. 대표적인 예로 Logging, 인증, 인가, 인..
Spring Framework의 특징과 작동 과정 이번 포스트를 보기 앞서 이전 포스트를 보고 오시기 바랍니다. https://jaystorage.tistory.com/6 POJO (Plain Old Java Object) 처음 POJO(Plain Old Java Object)라는 개념을 접했을 당시에는 ‘평이하고(아무것도 꾸며지지 않은) 오래된 자바 객체’ 라는 개념이 왜 존재해야 하는지 그 이유를 몰랐다. 하지만 시간이 지나고 스프 jaystorage.tistory.com https://jaystorage.tistory.com/10 서블릿(Servlet) 초창기 웹(Web) 초창기 웹은 웹 서버에 미리 만든 웹 페이지(정적 페이지)를 가공 없이 단순히 보여주는 것이 목적이었다. 그러나 많은 웹 사용자들은 미리 저장된 정보를 보는 것뿐만 아니라, 유 ..
JSP(Java Server Page) 이번 포스트를 보기 앞서 아래에 있는 이전 포스트를 보고 오시기 바랍니다. https://jaystorage.tistory.com/10 서블릿(Servlet) 초창기 웹(Web) 초창기 웹은 웹 서버에 미리 만든 웹 페이지(정적 페이지)를 가공 없이 단순히 보여주는 것이 목적이었다. 그러나 많은 웹 사용자들은 미리 저장된 정보를 보는 것뿐만 아니라, 유 jaystorage.tistory.com JSP란 JSP는 HTML내에 자바 코드를 삽입하여 웹 서버에서 동적으로 웹 페이지를 생성하는 기술이다. JSP 등장 배경 정적인 페이지만 제공하던 초창기 웹이 발전하면서 CGI와 Servlet이 등장했지만 Servlet에도 단점이 존재했다. Servlet의 한계 서블릿을 이용하면 웹 프로그래밍이 가능하지만, 자바..
서블릿(Servlet) 초창기 웹(Web) 초창기 웹은 웹 서버에 미리 만든 웹 페이지(정적 페이지)를 가공 없이 단순히 보여주는 것이 목적이었다. 그러나 많은 웹 사용자들은 미리 저장된 정보를 보는 것뿐만 아니라, 유저의 이름을 웹 페이지에 나타내고 싶거나 서버에서 정보를 가공하여 유저의 요청에 동적으로 콘텐츠를 만들어주고 싶은 다양한 요구사항(동적 페이지)이 생기기 시작했다. 이런 요구사항에 따라 CGI가 등장하게 되었다. * 정적(static), 동적(dynamic) 이란 용어는 사용자가 페이지를 요청하는 시점에 페이지 내용의 유지 여부에 따라 구분 정적 페이지 : 누가, 언제 요구하더라도 항상 같은 내용을 표시하는 웹 페이지 동적 페이지 : 동일한 url 요청이라도 다른 내용이 반환되는 페이지 CGI(Common Gat..
GC(Garbage Collection, Garbage Collector) Garbage Collection 이란 Garbage Collection 이란 JVM의 Heap 영역에서 사용하지 않는 객체를 삭제하는 프로세스를 말한다. JVM의 Heap 영역에는 자바 프로그램을 실행하면서 생성된 모든 객체가 저장된다. 메모리 공간은 한정적이기 때문에 더 이상 쓰지 않는 객체를 제때 정리하지 않는다면 Out Of Memery Error (OOM)가 발생한다. 이를 막기 위해 JVM에는 자동으로 메모리 관리를 해주는 Garbage Collector가 존재한다. * C언어를 사용해본 사람이라면 free라는 명령어를 통해 직접 메모리를 해제해본 경험이 있을 것이다. 하지만 자바에서는 이 과정이 JVM에 의해 자동으로 일어난다. GC 동작 순서 GC 동작 순서는 다음과 같다.GC 수거 대상 ..