운영체제에서는 주기억장치보다 더 큰 용량의 프로그램을 실행하기 위해 일부의 프로그램만 주기억장치에 할당하여 사용한다. 이를 가상메모리 기법이라한다.페이징 기법으로 메모리를 관리하는 운영체제에서 주기억장치에 할당되지 않았을때, 어떤 페이지 프레임을 선택하고 교체할 것인지
ErrorChecked ExceptionUnchecked Exception시스템에 비정상적인 상황이 생겼을 때 발생한다. 개발자가 미리 처리할 수 없기 때문에 애플리케이션에서 오류에 대한 처리를 신경쓰지 않아도 된다. (ex OutOfMemoryError, StackO
장점1) 로컬 환경에서 개발이 편리2) 통합 시나리오 테스트 진행이 수월3) 배포가 간편단점1) 코드의 수정 및 추가가 힘듦2) 효율적인 자원 관리가 힘듦3) 자주 업데이트 불가능4) 새로운 기술 적용이 힘듦5) 부분의 장애가 서비스 전체적인 장애6) scale out
Rolling 배포는 서버 하나씩 배포를 진행하는 방식이다. 1) 서버 수의 제약이 있을 경우 유용하나 배포 중 인스턴스의 수가 감소 되므로 서버 처리 용량을 미리 고려해야 한다.Blue/Green 배포는 구 버전에서 새 버전으로 일제히 전환하는 전략이다.구버전과
웹 브라우저가 별도의 쿠키 저장소에 보관하는 데이터유효기간 내에는 웹 브라우저를 닫아도 삭제가 되지 않는다. (유효기간 설정 가능)UTF-8로 인코딩/디코딩 하여 사용.단점 : 보안성이 낮음 (로컬에 저장)장점 : 속도가 빠르고, 서버 부하가 낮다(서버 요청 빈도 줄여
웹 브라우저(클라이언트)로 부터 HTTP요청을 받아 HTML 문서와 같은 정적 컨텐츠를 제공하는 프로그램클라이언트로부터 HTTP 요청을 받을 수 있다.정적 컨텐츠 요청 시 정적 컨텐츠 (html, jpeg, css...)를 제공동적 컨텐츠 요청 시 WAS로 전달하여 W
객체를 만들어 반환하는 함수를 (생성자 대신) 제공하여 초기화 과정을 외부에서 보지 못하게 숨기고 반환 타입을 제어하는 방법.즉 공장을 만들어서 객체를 만드는 일을 위임한다.아래 예는 스위치,버튼,드랍박스를 행위에 따라 객체 생성하는 기능이다.버튼 실행스위치 실행드랍박
가장 단순한 싱글톤 구현 방법이지만, 불필요한 객체 생성으로 메모리 비효이 될 수도 있다.실제 필요할 때 (클래스 호출될때) 인스턴스가 생성되기 때문에 불필요한 메모리 할당을 줄일 수 있다.하지만 싱글톤 패턴은 여러 곳에서 접근할 수 있기 때문에 Multi-Tread에
연산을 할 때 객체 스스로가 직접 처리하지 않고 중간에 다른 '숨겨진' 객체를 통해 처리하는 방법.아래 예는 유튜브의 구조를 예로 들었으며, 비교적 간단한 섬네일 보여주기는 자체 처리하나, 미리보기 같은 부하가 걸리는 것은 숨겨진 객체인 RealThumbnail이라는
DAO는 DB의 data에 접근하기 위한 객체로 직접 DB에 접근하여 CRUD 등을 조작할 수 있는 기능을 수행한다.즉, Service와 DB를 연결하는 역할을 한다. SQL을 사용하여 CRUD API를 동작할 수 있다.DTO는 계층간 데이터 교환을 위한 객체이다. 즉
어떠한 값을 넣었을때, 일련의 계산과정을 거쳐서 index 값으로 변환하는 Function.Hash Fuction을 통해 나온 Index값 기준으로 해당 구역에 원하는 값을 넣어 나중에 Key값을 통해 값을 찾고자 할때 다시 Hash Function을 통해 나온 Ind
Optional 클래스는 Integer나 Double 클래스처럼 'T'타입의 객체를 포장해 주는 래퍼 클래스(Wrapper class)따라서 Optional 인스턴스는 모든 타입의 참조 변수를 저장할 수 있다.이러한 Optional 객체를 사용하면 예상치 못한 Null
생성 패턴 : 객체의 생성 과정에 관여구조 패턴 : 객체의 합성에 관여행동 패턴 : 객체가 상호작용하는 방법이나 관심사를 분리하는 방법에 관여생성 패턴은 객체의 생성과 관련된 패턴이다. 객체의 인스턴스 과정을 추상화하는 방법이다. 객체의 생성과 참조 과정을 캡슐화하여
옵저버 패턴(observer pattern)은 객체의 상태 변화를 관찰하는 관찰자들, 즉 옵저버들의 목록을 객체에 등록하여 상태 변화가 있을 때마다 메서드 등을 통해 객체가 직접 목록의 각 옵저버에게 통지하도록 하는 디자인 패턴이다. 주로 분산 이벤트 핸들링 시스템을
Template 패턴은 어떤 공통의 일이 있으나 그 일이 세부적으로 분류에 따라 다르게 진행이 될 때, Template으로 큰 메서드를 만들고 상속받는 클래스에서 특성에 맞는 프로세스로 처리를 하는 디자인 패턴이다.아래 예는 스타크래프트의 일꾼의 공통 일인 건물 짓기를
작업을 동시에 수행하거나, 동시에 끝나거나, 끝나는 동시에 시작시작, 종료가 일치하지 않으며, 끝나는 동시에 시작하지 않음A함수가 B함수를 호출하면, 제어권이 A에서 B로 넘어간다. A함수가 B함수를 호출해도, 제어권을 넘겨주지 않는다.그게 그거 같고 너무 헷갈린다.블
인터넷에서 컴퓨터들이 서로 정보를 주고 받는데 쓰이는 프로토콜의 집합Application Layer특정 서비스를 제공하기 위해 애플리케이션끼리 정보를 주고 받음FTP, HTTP, SSH, Telnet, DNS, SMTPTransport Layer송신된 데이터를 수신 측
OSI 7 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말한다. 계층을 나눈 이유는 통신이 일어나는 과정이 단계별로 파악 가능흐름을 한눈에 알아보기 쉽기 때문에 사람들이 이해하기 쉬우며, 그에따라 조치 방법을 세분화 할 수 있다.즉, 7단계 중 특정한
1) Code, Data, Stack, Heap 단독 할당2) Process Control Block(이하 “PCB”)이라고 하는 자료구조 안에 있는데 커널 스케쥴러가 프로세스를 제어3) Multi-process여러 프로세스를 사용할 경우 Multi-Process 방식
메시지 큐(Message Queue)는 프로세스 또는 프로그램 간에 데이터를 교환할 때 사용하는 통신 방법 중에 하나로, 메시지 지향 미들웨어(Message Oriented Middleware:MOM)를 구현한 시스템을 의미한다.메시지 지향 미들웨어란 비동기 메시지를
멀티 쓰레드에 대한 부분은 WAS가 처리개발자가 멀티 쓰레드 관련 코드를 신경쓰지 않아도 됨개발자는 마치 싱글 쓰레드 프로그래밍을 하듯이 편리하게 소스코드 개발멀티 쓰레드 환경이므로 싱글톤 객체(서블릿, 스프링 빈)는 주의해서 사용특징필요한 쓰레드를 쓰레드 풀에 보관
JUnit에서 기본적으로 제공하는 기능이며 테스트의 결과를 검증하기 위한 다양한 메소드 기능을 제공해당 값이 Null인지를 검사해준다.aasertEquals(expect,actual,message)aasertEquals는 기본적으로 기대 값, 실제 값, 메시지 세개의