TIL 220731

강지훈·2022년 7월 31일
0

전략패턴(strategy pattern)은 정책패턴(policy pattern)이라고도 하며,
객체의 행위를 바꾸고 싶은 경우 '직접' 수정하지 않고 전략이라고 부르는 '캡슐화한 알고리즘'을 컨텍스트 안에서 바꿔주면서 상호 교체가 가능하게 만드는 패턴입니다.

컨텍스트: 프로그래밍에서의 컨텍스트는 상황, 맥락,문맥을 의미하며 개발자가 어떠한 작업을 완료하는 데 필요한 모든 관련 정보를 말한다.

passport의 전략패턴
전략 패턴을 활용한 라이브러리로는 passport가 있습니다
passport는 node.js에서 인증 모듈을 구현할 때 쓰는 미들웨어 라이브러리로, 여러 가지 '전략'을 기반으로 인증할 수 있게 합니다.
서비스 내의 회원가입된 아이디와 비밀번호를 기반으로 인증하는 LocalStrategy 전략과 페이스북, 네이버 등 다른 서비스를 기반으로 인증하는 OAuth 전략 등을 지원합니다. 다음 코드처럼 '전략'만 바꿔서 인증하는 것을 볼 수 있습니다.
passport.use(new LocalStrategy(... 처럼 passport.use() 라는 메서드에
'전략'을 매개변수로 넣어서 로직을 수행하는 것을 볼 수 있습니다.

TCP/IP 4계층 모델과 OSI 7계층
인터넷 프로토콜 스위트(internet protocol suite)는 인터넷에서 컴퓨터들이
서로 정보를 주고받는 데 쓰이는 프로토콜의 집합이며, 이를 TCP/IP 4계층 모델로 설명하거나 OSI 7계층 모델로 설명하기도 합니다.

이 강의에서는 TCP/IP(Transmission Control Protocol/Internet Protocol)
4계층 모델을 중심으로 설명하며, 이 계층 모델은 네트워크에서 사용되는
통신 프로토콜의 집합으로 계층들은 프로토콜의 네트워킹 범위에 따라 네 개의 추상화 계층으로 구성됩니다.
TCP/IP 계층은 네 개의 계층을 가지고 있으며 OSI 7계층과 많이 비교합니다.

TCP/IP 4계층
애플리케이션 계층 / 전송 계층 / 인터넷 계층 / 링크 계층

이 계층들은 특정 계층이 변경되었을 때 다른 계층이 영향을 받지 않도록
설계되었습니다. 예를 들어 전송 계층에서 TCP를 UDP로 변경했다고 해서
인터넷 웹 브라우저를 다시 설치해야 하는 것은 아니듯 유연하게 설계된 것

애플리케이션 계층
애플리케이션 계층은 FTP,HTTP,SSH 응용 프로그램이 사용되는
프로토콜 계층/웹 서비스 등 서비스를 실질적으로 사람들에게
제공하는 층입니다.

전송계층
전송 transport 계층은 송신자와 수진자를 연결하는 통신 서비스를 제공하며
애플리케이션과 인터넷 계층 사이의 데이터가 전달될 때의 중계 역할을 합니다
대표적으로 TCP,UDP 가 있고 이 계층에는 다음과 같은 기능이 포함 될수 있습니다.

-연결 지향 통신(TCP)
-신뢰성 (체크섬과 오류감지코드를 통해 패킷 손실을 방지하며 ACK 세그먼트 등으로 수신을 확인,UDP는 체크섬만으로 기본 오류감지코드만 제공, TCP는 전부)

  • 흐름제어(송신측과 수신측의 데이터처리 속도 차이를 해결하기 위한 기법)
  • 혼잡제어(네트워크 내에 패킷을 수가 과도하게 증가하는 현상을 방지, 제거)

인터넷계층
인터넷 계층은 장치로부터 받은 네트워크 패킷을 IP주소로 지정된 목적지로 전송하기 위해 사용되는 계층입니다. IP,ARP,ICMP 등이 있으며 패킷을 수신해야 할 상대의 주소를 지정하여 데이터를 전답합니다. 상대방이 제대로 받았는지에 대해 보장하니 않는 비연결형적인 특징을 가지고 있습니다.

링크 계층
링크 계층은 전선,광섬유,무선 등으로 실질적으로 데이터를 전달하며 장치 간에 신호를 주고받는 '규칙'을 정하는 계층입니다. 참고로 네트워크 접근 계층이라고도 합니다. 이를 물리 계층과 데이터 링크 계층으로 나누기도 하는데 물리 계층은 무선 LAN과 유선 LAN을 통해 0과 1로 이루어진 데이터를 보내는 계층을 말하며, 데이터 링크 계층은 '이더넷 프레임'을 통해 에러확인, 흐름제어, 접근 제어를 담당하는 계층을 말합니다.

profile
never stop

0개의 댓글