본문 바로가기

전체 글

(79)
[PATTERN] DelegationPattern 정의 Business delegate pattern은 Java EE design pattern의 하나로 특정 케이스마다 처리해야 하는 로직이 틀린 경우에 사용이 되는 패턴입니다. 아래 구조를 보면 클라이언트는 Business delegate에게 이런 비즈니스 로직을 수행하겠어 요청을 하면 Lookup Service가 상황에 맞는 비즈니스클래스를 룩업해 로직을 수행하도록 합니다. Structure Business 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(HyperText Transfer Protocol : 초본문전송규약, 하이퍼본문전송규약)는 W3 상에서 정보를 주고받을 수 있는 프로토콜이다. 주로 HTML 문서를 주고받는 데에 쓰인다. 주로 TCP를 사용하고 HTTP/3 부터는 UDP를 사용하며, 80번 포트를 사용한다. HTTP METHOD 요청에 BODY가 있음 응답에 BODY가 있음 멱동 (idempotent) 캐시가능 GET 아니요 예 예 예 HEAD 아니요 아니요 예 예 POST 예 예 아니요 예 PUT 예 예 예 아니요 DELETE 아니요 예 예 아니요 CONNECT 예 예 아니요 아니요 OPTIONS 선택 사항 예 예 아니요 TRACE 아니요 예 예 아니요 PATCH 예 예 아니요 예 - HTTP 프로토콜은 상태가 없는(state..
[JS] JS의 비동기 작업 ( = promise) 비동기란 특정 코드의 연산이 끝날 때까지 코드의 실행이 끝나지 않은 상태에서, 순차적으로 다음 코드를 먼저 실행하는 JS의 특성이다. 요청에 대한 결과를 기다리지 않고 다음 코드를 실행한다는 것이다. 대기(pending): 이행하거나 거부되지 않은 초기 상태. 이행(fulfilled): 연산이 성공적으로 완료됨. 거부(rejected): 연산이 실패함. var promiseCount = 0; function testPromise() { var thisPromiseCount = ++promiseCount; var log = document.getElementById('log'); log.insertAdjacentHTML('beforeend', thisPromiseCount + ') 시작 (동기적 코드 시작..
[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은 객체를 저장하는 곳이다. 예제..
[JS] input(inputmode, event, pattern) 1. 이벤트순서 단순 input text에 word입력 시 이벤트 순서 focus > click > keydown > input > keyup > change > blur 2. inputmode none 가상 키보드를 사용하지 않아요. 키보드를 직접 구현할 때에 사용합니다. text (default) 기본값으로 제공되고, type 속성에 따라 제공되는 가상 키보드가 표시된다. decimal 소수점(.)을 제공하는 숫자형 키보드를 보여줘요. numeric 숫자형 키보드를 보여줘요. decimal 모드의 키보드와 약간 차이가 있어요. tel 전화번호를 입력하는 키보드가 나타나요. 저는 iPhone을 사용하는데요. 나의 전화번호를 입력하기 편하도록 자동완성도 나오네요. search 검색에 적당한 키보드가 나타..
[WEB개발] JS 유용한 Array 함수 1)  map(keyword:map) array.map(callback(currentValue, index, array))  파라미터:callback: 배열의 각 요소에 대해 호출되는 함수입니다. 이 함수는 다음과 같은 인자를 받습니다:currentValue (필수): 현재 처리 중인 배열 요소.index (선택): 현재 처리 중인 배열 요소의 인덱스.array (선택): map 메서드를 호출한 배열.반환값: 변형된 요소들로 구성된 새로운 배열. var arr = ["value1", "value2", "value3"];var newArr = Array.prototype.map.call(arr, function (ele, idx, arrobj) { ele = ele + "_modify"; console.l..