Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 프로세스
- 인사이드아웃
- react
- 타입스크립트
- 알고리즘
- 프로젝트캠프
- #프로젝트캠프 #프로젝트캠프후기 #유데미 #스나이퍼팩토리 #웅진씽크빅 #인사이드아웃 #IT개발캠프 #개발자부트캠프 #리액트 #react #부트캠프 #리액트캠프
- App Runner
- 해시
- javascript
- CS
- 스레드
- typescript
- html
- 네트워크
- react-query
- 스나이퍼팩토리
- 개발자부트캠프
- 유데미
- 자바스크립트
- Algorithm
- BFS
- 리액트
- IT개발캠프
- cs #네트워크
- 웅진씽크빅
- ip
- React.js
- 프로그래머스
- 메모리
Archives
- Today
- Total
Bin's Blog
오늘의 CS(디자인 패턴 - 프록시 패턴) 본문
728x90
1.1.5 프록시 패턴
- 프록시 패턴은 컴퓨터 세상에서 "대리인"과 같은 역할을 하는 디자인 패턴이다. 프록시 패턴을 사용하면, 어떤 객체를 직접 사용하는 대신에 그 객체를 대신해주는 다른 객체(프록시)를 사용할 수 있다. 이렇게 하면 원래 객체의 기능을 보호하거나, 추가적인 작업을 수행할 수 있다.
- 예를 들어, 수업 시간에 친구가 질문을 하고 싶어하는데, 물어보기가 부끄러워 다른 친구가 대신해서 선생님한테 질문한다. 이때 친구가 프록시 역할을 하는 것이다. 다른 친구가 선생님한테 질문을 하고, 답변을 원래 한 친구한테 전달해준다. 그래서 간접적인 상호작용이 가능하다.
- 대상 객체를 접근하기 전 그 접근에 대한 흐름을 가로채 대상 객체 앞단의 인터페이스 역할을 하는 디자인 패턴
- 이를 통해 객체의 속성, 변환 등을 보완하며 보안, 데이터 검증, 캐싱, 로깅에 사용한다.
- 보안: 프록시 객체를 통해 원래 객체에 대안 접근을 제어할 수 있다. 예를 들어, 특정 사용자가 원래 객체의 기능을 사용하려고 할 때, 프록시 객체가 사용자 인증(사용자가 신뢰할 만한 사용자인지 확인하고, 인증된 사용자만 원래 객체에 접근할 수 있게 하는 것이다.)을 수행하여 원래 객체를 보호할 수 있다.
- 왜 사용자 인증이 필요한가?
- 무단 접근 방지: 인증을 거치지 않은 사용자가 원래 객체에 접근할 수 없도록 하여, 개인 정보나 중요 데이터의 누출을 막는다.
- 악의적 조작 방지: 인증된 사용자만 원래 객체에 접근할 수 있도록 함으로써, 악의적인 조작이나 공격을 차단할 수 있다.
- 사용자 신뢰: 사용자 인증을 통해 객체를 보호하면, 사용자는 자신의 데이터와 서비스가 안전하게 보호되고 있다고 믿을 수 있다.
- 결론적으로, 사용자 인증을 수행하면 객체를 보호하고, 시스템의 안정성과 신뢰성을 높일 수있다.
- 왜 사용자 인증이 필요한가?
- 데이터 검증: 객체는 원래 객체로 전달되는 데이터를 검증하여, 올바른 형태의 데이터만 원래 객체에 전달할 수 있다. 이렇게 함으로써 원래 객체의 안정성을 높일 수 있다.
- 캐싱: 원래 객체의 작업 결과를 저장해두고(캐싱), 동일한 작업이 다시 요청될 경우 저장해둔 결과를 반환할 수 있다. 이렇게 함으로써 객체의 부하(일을 덜 시키고 반복적인 작업 최소화)를 줄이고, 성능을 향상 시킬 수 있다.
- 로깅: 원래 객체와의 상호작용을 기록하여 로그를 남길 수 있다. 객체 간의 상호작용에 대한 정보를 추적하거나, 나중에 문제가 발생했을 때 원인을 찾기 쉽게 할 수 있다. 예를 들어, 등산할 때 우리가 길을 잃지 않기 위해 내가 걸어온 길에 표시를 하기 시작한다. 그럼 내가 다시 오거나 길을 잃을 때 표시를 보고 다시 올 수가 있다.
- 보안: 프록시 객체를 통해 원래 객체에 대안 접근을 제어할 수 있다. 예를 들어, 특정 사용자가 원래 객체의 기능을 사용하려고 할 때, 프록시 객체가 사용자 인증(사용자가 신뢰할 만한 사용자인지 확인하고, 인증된 사용자만 원래 객체에 접근할 수 있게 하는 것이다.)을 수행하여 원래 객체를 보호할 수 있다.
728x90
'CS' 카테고리의 다른 글
오늘의 CS(디자인 패턴 - 이터레이터 패턴) (0) | 2023.05.11 |
---|---|
오늘의 CS(디자인 패턴 - 프록시 서버) (0) | 2023.05.08 |
오늘의 CS(디자인 패턴 - 옵저버 패턴) (0) | 2023.05.05 |
오늘의 CS(디자인 패턴 - 전략 패턴) (0) | 2023.05.04 |
오늘의 CS(디자인 패턴 - 팩토리 패턴) (0) | 2023.05.03 |