소프트웨어 엔지니어링 41

Promise vs Observable

Promise vs Observable https://betterprogramming.pub/observables-vs-promises-which-one-should-you-use-c19aef53c680 Observables vs. Promises — Which One Should You Use? Comparing key features of Observables and Promises betterprogramming.pub 1. callback 프로세스 전후의 코드 실행 순서가 다름 2. Promise 는 1개의 결괏값만, Observable 은 N개의 결괏값을 3. Promise 는 쿼리가 끝나야만 함 (쿼리가 성공하던 실패하던 간에), Observable 은 능동적 쿼리 취소 가능 -> Promis..

MVC MVP MVVM

MVC, MVP, MVVM 디자인 패턴은 "화면 렌더링" 에 초점을 둔 디자인 패턴이다! MVC, MVP : SSR 이고 MVVM : CSR 인듯?? MVC - https://catsbi.oopy.io/f52511f3-1455-4a01-b8b7-f10875895d5b - 요약 Model - View 를 그리기 위한 데이터들이 담긴 "화면이 실체화 되기 이전의 모델 -> 그림 그릴때 보고 그리는 '그 모델' 이라고 생각하자. 그림 그릴 때도 모델(포즈, 키, 얼굴 등의 데이터)을 보고 그림을 그리지 않는가!(View)" View - Model 을 보고 그림을 그린 결과물 "화가가 모델을 보고 그려서 완성한 그림" Controller - 그림 도구 및 그림 그리는 주체(화가 그 자체). 화가는 무엇을 그려야..

NestJS 사용기

Axios & RxJS 를 사용할 때, RxJS의 firstValueFrom 과 LastValueFrom 은 무슨 차이가 있을까? 더보기 https://stackoverflow.com/questions/69629634/are-lastvaluefrom-and-firstvaluefrom-equivalent-in-angular-http are lastValueFrom and firstValueFrom equivalent in Angular HTTP? In angular, we use HttpClient to make HTTP calls which return an observable, if we wanna use promises we can use lastValueFrom/firstValueFrom. Let'..

HTTP&HTTPS, SSL, TLS

1. HTTPS 는 HTTP 프로토콜에 패킷 암호화를 추가 한 프로토콜 2. SSL 은 노드 간의 통신( 클라이언트-서버 , 서버-서버 )에 보안을 보장하게 해 줌 3. SSL 인증서가 있는 노드 간에 공개키를 교환, 패킷을 보내기 전에 상대방의 공개키로 암호화 하고 패킷을 받은 노드는 자신의 개인키로 복호화 하는 방식으로 패킷의 암호화 및 안정성을 보장 4. TLS는 SSL이 발전 된 버전 (Long Term 인증서를 갖고서 Short Term 인증서를 업데이트 해주는 방식 추가)

NAT, NAT vs Proxy

proxy, reverse proxy : https://dhsimpson-ml-and-sw.tistory.com/11 프록시, 리버스 프록시 프록시 : 클라이언트에 프록시 서버가 붙음. 정적 데이터(웹페이지, 이미지 등등..) 를 프록시 서버에서 응답해 줄 때 속도 장점이 있음 (캐싱 역할. WAS 에 걸리는 정적 데이터에 대한 부하를 처리 dhsimpson-ml-and-sw.tistory.com NAT 의 기능 : 외부로 부터 public ip 로 요청이 들어 오면 적절한 private ip 로 라우팅 (프록싱 같기도 함) 을 해 준다. -> ex) c.f. 이것은 그림으로 설명 넣어놓기 1. WAS 의 ip 주소(private subnet)를 외부로 노출하지 않고() , WAS 에 진입할 수 있는 p..

프록시, 리버스 프록시

요약 : 프록시 서버는 직접 통신할 수 없는 두 노드 사이의 중계 서버이다. 프록시(포워드 프록시)는 클라이언트 측 프록시 서버이며 클라이언트가 B 서버에 요청하기 위해 A 서버(프록시 서버)에 쿼리를 날렸다면, B 서버는 클라이언트 IP 주소는 알 수 없고 A 서버의 IP 주소는 알 수 있다. 기업 내부망에서 직원들이 접속할 수 있는 웹사이트를 제한할 수 있다. 리버스 프록시는 서버 측 프록시 서버이며 서비스의 was를 내부망에 놓고 클라이언트가 was 와 통신할 때 대신 쿼리를 받는다. 서비스 접근 가능 지점(DMZ)에 프록시 서버를 놓는다. 사용자는 was 의 실제 IP를 알 수 없어 보안상 이점이 있다. c.f. 프록시 서버엔 웹 페이지(html, css) 를 캐싱해 웹페이지 로딩 속도 향상도 가..