옵저버 패턴 / 프록시 패턴과 프록시 서버 / 이터레이터 패턴
·
CS
1. 옵저버 패턴(observer pattern)옵저버 패턴은 주체가 어떤 객체(subject)의 상태 변화를 관찰하다가 상태 변화가 있을 때 마다 메서드 등을 통해 옵저버 목록에 있는 옵저버들에게 변화를 알려주는 디자인 패턴이다. 1-1. 객체와 주체가 분리되어 있는 옵저버 패턴여기서 주체란 객체의 상태 변화를 보고 있는 관찰자이며, 옵저버들이란 이 객체의 상태 변화에 따라 전달되는 메서드 등을 추가 변화 사항이 생기는 객체들을 의미한다. 1-2. 객체와 주체가 합쳐진 옵저버 패턴또한, 앞의 그림처럼 주체와 객체를 따로 두지 않고 상태가 변경되는 객체를 기반으로 구축하기도 한다. 1-3. 옵저버 패턴 구조또한, 옵저버 패턴은 주로 이벤트 기반 시스템에 사용하여 MVC(Model-View-Controll..
싱글톤 패턴 / 팩토리 패턴 / 전략 패턴
·
CS
1. 디자인 패턴디자인 패턴이란 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 '규약'형태로 만들어 놓은 것을 의미한다. 2. 싱글톤 패턴(singleton pattern)싱글톤 패턴은 하나의 클래스에서 오직 하나의 인스턴스만 가지는 패턴이다. 하나의 클래스를 기반으로 여러 개의 개별적인 인스턴스를 만들 수 있지만, 그렇게 하지 않고 하나의 클래스를 기반으로 단 하나의 인스턴스를 만들어 이를 기반으로 로직을 만드는 데 쓰이며, 보통 데이터베이스 연결 모듈에 많이 사용한다.하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른 모듈들이 공유하며 사용하기 때문에 인스턴스를 생성할 때 드는 비용이 줄어드는 장점이 있지만, 의존성이 높아진다는 단점을 가지고 있..
디자인 패턴 - 프록시 패턴 / Nginx / CloudFlare / CORS
·
CS
1. 프록시 패턴(Proxy pattern)프록시 패턴(Proxy pattern)은 대상 객체(subject)에 접근하기 전 그 접근에 대한 흐름을 가로채 해당 접근을 필터링하거나 수정하는 등의 역할을 하는 계층이 있는 디자인 패턴입니다.이를 통해 객체의 속성, 변환 등을 보완하며 보안, 데이터 검증, 캐싱, 로깅에 사용합니다. 이는 앞서 설명한 프록시 객체로 쓰이기도 하지만 프록시 서버로도 활용된다. 프록시 서버에서의 캐싱캐시 안에 정보를 담아주고, 캐시 안에 있는 정보를 요구하는 요청에 대해 다시 저 멀리 있는 원격 서버에 요청하지 않고 캐시 안에 있는 데이터를 활용하는 것을 말한다. 이를 통해 불필요하게 외부와 연결하지 않기 때문에 트래픽을 줄일 수 있다는 장점이다. 2. 프록시 서버(Proxy s..
JavaScript 함수
·
JavaScript
1. APP 작동원리 여기서 App의 기본 작동원리가 있다. 1-1. 입력(입력) 위와 같은 작동원리가 있다. 여기서 1-1. 입력(Input) 사용자 또는 다른 시스템으로부터 받은 데이터이다. 예를 들어, 사용자가 웹 폼에 입력하는 정보, 센서에서 측정한 값, 파일에서 읽은 데이터 등이 여기에 해당된다. 1-2. 처리(Process) 입력받은 데이터에 대해 실행되는 모든 작업을 의미한다. 이 과정에서 데이터는 다양한 방식으로 변환, 계산, 분석된다. 여기에 기본요소로는 연산자, 함수 그리고 데이터를 저장하는 변수 등이 있다. 변수(Variables) 데이터를 저장하는 공간으로, 처리 과정에서 생성, 수정, 사용될 수 있는 데이터의 값을 담고있다. 연산자(Operators) 또한 산술, 비교, 논리 연산..
JavaScript 제어문
·
JavaScript
1. 제어문 (Control flow statement) 코드의 흐름을 제어한다. 2. 조건문(Conditional Statement) 조건문은 특정한 조건일때만 원하는 코드를 실행하도록 하는 것이 조건문이다. ex) if, switch 등등 2-1. if, else if if(조건) {} if(조건) {} else {} if(조건1) {} else if(조건2) {} else {} 예시를 봐보자. let fruit = 'orange'; // 만약 이 조건을 만족하지 못한다면 다음 코드로 넘어가게 된다. if (fruit === 'apple') { console.log('🍎') } else if (fruit === 'orange') { console.log('🍊'); } else { console.log..
디자인 패턴 - 팩토리 패턴 / 전략 패턴 / 옵저버 패턴
·
CS
1. 팩토리 패턴(Factory Pattern) 객체를 사용하는 코드에서 객체 생성 부분을 떼어내 추상화한 패턴이자 상속 관계에 있는 두 클래스에서 상위 클래스가 중요한 뼈대를 결정하고, 하위 클래스에서 객체 생성에 관한 구체적인 내용을 결정하는 패턴이다. 상위 클래스와 하위 클래스가 분리되기 때문에 느슨한 결합을 가지며 상위 클래스에서는 인스턴스 생성 박식에 대해 전혀 알 필요가 없기 때문에 더 많은 유연성을 갖게 됩니다. 그리고 객체 생성 로직이 따로 떼어져 있기 때문에 코드를 리펙토링하더라도 한 곳만 고칠 수 있게 되어 유지 보수성이 증가된다. 예를 들면, 라떼 레시피와 아메리카노 레시피, 우유 레시피라는 구체적인 내용이 들어 있는 하위 클래스가 컨베이어 벨트를 통해 전달되고, 상위 클래스인 바리스..
오류확인자
절대 오류를 확인해!