본문 바로가기

전체 글

(106)
WEB.XML Config (context-param, init-param, web-app ... ) 1. 컨텍스트 초기화 파라미터() - context-param은 init-param 그 이상으로 전역 즉 모든 서블릿에서 사용할 수 있는 파라미터 값이다.- 항목내에 작성- 예) DD상에 작성방법 paraname paravalue  - 서블릿 상에서 호출시: getServletContext().getInitParameter("paraname");- 범위: 웹 애플리케이션에 존재하는 어떤 서블릿이나 jsp모두 2. 서블릿 초기화 파라미터()-해당 파라미터 값은 지정해준 서블릿 내에서만 쓸 수 있는 값이다.- 항목 안에 작성- 예) DD상에 작성방법 servletname servletclass paraname paravalue ..
ClassPath, ClassLoad, JAVA COMPILE(컴파일), Tomcat 클래스패스란(Class Path)란?? 클래스패스란 말 그대로 클래스를 찾기위한 경로이다. 자바에서 클래스패스의 의미도 똑같다. 즉, JVM이 프로그램을 실행할 때, 클래스파일을 찾는 데 기준이 되는 파일 경로를 말하는 것이다. 소스 코드(.java로 끝나는 파일)를 컴파일하면 소스 코드가 “바이트 코드”(바이너리 형태의 .class 파일)로 변환된다. java runtime(java 또는 jre)으로 이 .class 파일에 포함된 명령을 실행하려면, 먼저 이 파일을 찾을 수 있어야 한다. 이때 .class 파일을 찾을 때 classpath에 지정된 경로를 사용한다. java -cp .:lib/library.jar com.example.Main-cp(또는 -classpath) 옵션으로 클래스패스를 지정합..
Adapter Pattern 호환되지 않는 인터페이스를 사용하는 클라이언트를 그대로 활용할수 있다.이렇게 함으로써 클라이언트와 구현된 인터페이스를 분리시킬수 있으며, 향후 인터페이스가 바뀌더라도 그 변경 내역은 어댑터에 캡슐화 되기 때문에 클라이언트는 바뀔 필요가 없어진다.  예를 들어보면 기존 시스템의 서버간 통신은 EJB, Socket(TCP/IP)를 사용중이 었으나 추가된 시스템은 Http통신이 필요하다.    public class HttpTransfer { public void doProcess() { System.out.println("doProcess call : " + this.getClass().getName()); }}Transfer transfer = new HttpTransferAdapter(new HttpT..
DelegationPattern 정의Business delegate pattern은 Java EE design pattern의 하나로 특정 케이스마다 처리해야 하는 로직이 틀린 경우에 사용이 되는 패턴입니다.  아래 구조를 보면 클라이언트는 Business delegate에게 이런 비즈니스 로직을 수행하겠어 요청을 하면  Lookup Service가 상황에 맞는 비즈니스클래스를 룩업해 로직을 수행하도록 합니다.StructureBusiness delegate - client가 특정 서비스를 요청할 클래스 (비즈니스 로직 안가지고 있음)Lookup Service - delegate가 호출하는 클래스로 특정 케이스마다 처리를 담당하는 실제 구현체를 반환Business Service - 실제 사용될 서비스 인터페이스로 실제 비즈니스 로직은 이..
[PROTOCOL] SOAP, FTP, SMTP, SSH 1. SOAP SOAP(Simple Object Access Protocol)은 일반적으로 널리 알려진 HTTP, HTTPS, SMTP 등을 통해 XML 기반의 메시지를 컴퓨터 네트워크 상에서 교환하는 프로토콜입니다. 간단하게 객체를 접근할 수 있는 프로토콜이란 의미입니다.   SOAP은 웹 서비스에서 기본적인 메시지를 전달하는 기반이 되는데, SOAP에는 몇가지 형태의 메시지 패턴이 있지만, 보통의 경우 원격 프로시져 호출(Remote Procedure Call:RPC) 패턴으로, 네트워크 노드(클라이언트)에서 다른 쪽 노드(서버)로 메시지를 요청 하고, 서버는 메시지를 즉시 응답하게 되는 형식입니다. 즉 SOAP는 XML을 이용해서 분산처리 환경에서 정보교환을 쉽게 할 수 있도록 도와준다는 이야기입니..
[PROTOCOL] HTTP HTTP  (Hyper Text Transfer Protocol : 초본문전송규약, 하이퍼본문전송규약)는 W3 상에서 정보를 주고받을 수 있는 프로토콜이다. 주로 HTML 문서를 주고받는 데에 쓰인다. 주로 TCP를 사용하고 HTTP/3 부터는 UDP를 사용하며, 80번 포트를 사용한다. HTTP METHOD요청에 BODY가 있음응답에 BODY가 있음멱동(idempotent)캐시가능GET아니요예예예HEAD아니요아니요예예POST예예아니요예PUT예예예아니요DELETE아니요예예아니요CONNECT예예아니요아니요OPTIONS선택 사항예예아니요TRACE아니요예예아니요PATCH예예아니요예 - HTTP 프로토콜은 상태가 없는(stateless = 매번 새로운 연결) 프로토콜입니다.  클라이언트 정보를 저장하지 않는다...
[JS] JS의 비동기 작업 ( = promise, promiseAll) 비동기란 특정 코드의 연산이 끝날 때까지 코드의 실행이 끝나지 않은 상태에서, 순차적으로 다음 코드를 먼저 실행하는 JS의 특성이다. 요청에 대한 결과를 기다리지 않고 다음 코드를 실행한다는 것이다.  대기(pending): 이행하거나 거부되지 않은 초기 상태.이행(fulfilled): 연산이 성공적으로 완료됨.거부(rejected): 연산이 실패함. function asyncTask(success) { return new Promise((resolve, reject) => { setTimeout(() => { if (success) { resolve("Task completed successfully!"); } else..
[JS] Engine, Event Loop 1. JS Engine자바스크립트 엔진은 Memory Heap 과 Call Stack으로 구성되어 있다 ex) 구글의 V8 Engine(C++로 구성), WebKit Engine(Safari)이다. 자바스크립트는 단일 스레드 (sigle thread) 프로그래밍 언어인데,이 의미는 Call Stack이 하나라는 이야기이다.Memory Heap : 메모리 할당이 일어나는 곳(ex, 우리가 프로그램에 선언한 변수, 함수 등이 담겨 있음)Call Stack : 코드가 실행될 때 쌓이는 곳. stack 형태로 쌓임. Stack(스택) : 자료구조 중 하나, 선입 후출(LIFO, Last In First Out)의 룰을 따른다 2. Meomory Heap: Memory Heap은 객체를 저장하는 곳이다. 객체 (..