면접을 위해 CS 스터디에서 진행하는 CS 정리용입니다.
'면접을 위한 CS 전공지식 노트' 책을 챕터별 공부하고 요약정리를 하고 있습니다.
< 디자인 패턴 >
- 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 '규약' 형태로 만들어 놓은 것
프록시 패턴
- 대상 객체에 접근하기 전 접근에 대한 흐름을 가로채 대상 객체 앞단의 인터페이스 역할을 하는 패턴
- 객체의 속성, 변환 등을 보완
- 보안, 데이터 검증, 캐싱, 로깅에 사용
- 프록시 객체로 쓰이기도 한다.
- 프록시 객체 : 어떠한 대상의 기본적인 동작(속성 접근, 할당, 순회, 열거, 함수호출 등)의 작업을 가로챌 수 있는 객체
- 자바스크립트에서 프록시 객체는 2개의 매개변수를 가진다.
- target : 프록시할 대상
- handler : target 동작을 가로채고 어떠한 동작을 할 것인지가 설정되어 있는 함수
- 프록시 서버로 활용된다.
- 프록시 서버 : 서버와 클라이언트 사이에서 클라이언트가 자신을 통해 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 컴퓨터 시스템이나 응용 프로그램
- 캐싱 : 캐시 안에 정보를 담아두고, 캐시 안에 있는 정보를 요구하는 요청인 경우 원격 서버에 요청하지 않고 캐시 안에 있는 데이터를 활용 → 트래픽을 줄일 수 있다.
- nginx : 비동기 이벤트 기반의 구조와 다수의 연결을 효과적으로 처리 가능한 웹 서버
- Node.js 서버 앞단의 프록시 서버로 활용된다.
- 익명 사용자가 서버에 접근하는 것을 차단
- 보안 강화
- 실제 포트를 숨길 수 있다.
- 정적 자원을 gzip 압축 가능
- 메인 서버 앞단에서 로깅 가능
- Node.js 서버 앞단의 프록시 서버로 활용된다.
- CloudFlare : 전 세계적으로 분산된 서버가 있고, 이를 통해 어떠한 시스템의 콘텐츠 전달을 빠르게 할 수 있는 CDN 서비스
- CDN(Content Delivery Network) : 각 사용자가 인터넷에 접속하는 곳과 가까운 곤ㅅ에서 콘텐츠를 캐싱 또는 배포하는 서버 네트워크
→ 콘텐츠 다운로드 시간 절약 가능 - 웹 서버 앞단에 프록시 서버를 두어 DDOS 공격 방어나 HTTPS 구축에 사용된다.
- 의심스러운 트래픽을 먼저 판단해 일정 부분 막아주는 역할도 수행한다.
- DDOS 공격 : 짧은 기간 동안 네트워크레 많은 요청을 보내 네트워크를 마비시켜 웹 사이트의 가용성을 방해하는 사이버 공격 유형
CloudFlare는 시스템을 통해 오는 트래픽을 자동차단해서 소규모 DDOS 공격으로부터 보호,
방화벽 대시보드도 제공한다. - HTTPS 구축 : CloudFlare는 별도의 인증서 없이 좀 더 쉽게 HTTPS를 구축 할 수 있다.
- DDOS 공격 : 짧은 기간 동안 네트워크레 많은 요청을 보내 네트워크를 마비시켜 웹 사이트의 가용성을 방해하는 사이버 공격 유형
- CDN(Content Delivery Network) : 각 사용자가 인터넷에 접속하는 곳과 가까운 곤ㅅ에서 콘텐츠를 캐싱 또는 배포하는 서버 네트워크
- CORS 에러 해결을 위한 프록시 서버
- @Transaction
- 프록시 서버 : 서버와 클라이언트 사이에서 클라이언트가 자신을 통해 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 컴퓨터 시스템이나 응용 프로그램
'CS > 디자인패턴&프로그래밍패러다임' 카테고리의 다른 글
디자인 패턴 - 팩토리 패턴/전략 패턴/옵저버 패턴 (0) | 2023.05.01 |
---|---|
디자인 패턴 - 싱글톤 패턴 (0) | 2023.05.01 |