본문 바로가기

반응형

CS/면접을 위한 CS 전공노트

(16)
[네트워크] DNS Round Robin 방식의 문제점 DNS 서버는 IP주소를 받아와 도메인 이름을 IP주소로 변환하는 역할을 한다. 라운드 로빈(Round Robin)은 서버에 들어온 요청을 순서대로 돌아가며 배정하는 방식이다. 클라이언트의 요청을 순서대로 분배하기 때문에 여러 대의 서버가 동일한 스펙을 갖고 있고, 서버와의 연결(세션)이 오래 지속되지 않는 경우에 활용하기 적합하다. DNS 라운드 로빈은 부하 분산을 위해 사용된다. DNS 라운드 로빈 방식의 문제점은? 1. 서버의 수 만큼 공인 IP 주소가 필요하다. 부하 분산을 위해 서버의 대수를 늘리기 위해서는 그 만큼의 공인 IP 가 필요하다. 2. 균등하게 분산되지 않는다. 모바일 사이트 등에서 문제가 될 수 있는데, 스마트폰의 접속은 '캐리어 게이트웨이' 라고 하는 프록시 서버를 경유 한다. ..
[네트워크] HTTP의 GET과 POST 비교 GET 메서드는 서버에서 데이터를 조회할 때 사용하는 메서드이고, POST 메서드는 서버에 데이터를 추가할 때 사용하는 메서드이다. GET 요청에는 url에 query 파라미터나 path 파라미터를 이용하여 필요한 정보를 전달하고, POST 요청에서는 추가하고자 하는 데이터를 HTTP body에 담아 전달한다. GET 요청하는 데이터가 HTTP Request Message의 Header 부분에 url 에 담겨서 전송되는데, URL 뒤에 쿼리 스트링(query string)의 형태로 데이터를 전송할 수 있다. (e.g. url?filter=cafe&order=latest) 쿼리 스트링은 ?로 시작하며 key=value 형태로 여러 개의 파라미터를 전달할 수 있다. 이 방식의 장점은 간단하고 빠르게 데이터를..
[네트워크] 브라우저에 URL을 입력하고 일어나는 일 https://wangin9.tistory.com/entry/%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80%EC%97%90-url-%EC%9E%85%EB%A0%A5-%ED%9B%84-%EC%9D%BC%EC%96%B4%EB%82%98%EB%8A%94-%EC%9D%BC%EB%93%A4-intro?category=827054 [브라우저에 url 입력 후 일어나는 일들] intro 개발자 면접 단골질문url 입력 후 일어나는 네트워크 상에서의 전체적인 흐름입니다. 1. 브라우저에서 URL 해석한다. http://wangin9.tistory.com/- 프로토콜 : http -> 하이퍼 텍스트 전송 규약을 사용- 자원 wangin9.tistory.com 브라우저에 url을 입력하면 일어나는 일에..
[네트워크] HTTP/HTTPS 2023년 4월 18일 ~ 2023년 4월 19일 114p~132p 2.5 HTTP HTTP는 전송 계층 위에 있는 애플리케이션 계층으로서 웹 서비스 통신에 사용된다. HTTP는 W3에 내재된 프로토콜로, 서버와 클라이언트 사이에서 어떻게 메세지를 교환할지 정해놓은 규칙이다. HTTP/1.0부터 시작해서 발전을 거듭하여 지금은 HTTP/3이다. HTTP/1.0 HTTP/1.0은 기본적으로 한 연결당 하나의 요청을 처리하도록 설계되었고, 이는 RTT 증가를 불러오게 되었다. 서버로부터 파일을 가져올 때마다 TCP의 3way handshake를 계속해서 열어야 하기 때문에 RTT가 증가한다는 단점이 있었다. RTT : 패킷이 목적지에 도달하고 나서 다시 출발지로 돌아오기까지 걸리는 시간. 패킷 왕복 시간 이..
[네트워크] 네트워크 기기/IP 주소 2023년 4월 11일 95p~113p 2.3 네트워크 기기 네트워크 기기는 계층별로 처리 범위를 나눌 수 있다. 상위 계층을 처리할 수 있는 기기는 하위 계층을 처리할 수 있지만 반대는 불가하다. 애플리케이션 계층 : L7 스위치 전송 계층 : L4 스위치 인터넷 계층 : 라우터, L3 스위치 데이터 링크 계층 : L2 스위치, 브리지 물리 계층 : NIC, 리피터, AP 2.3.2 애플리케이션 계층을 처리하는 기기 - L7 스위치 스위치 : 여러 장비를 연결하고 데이터 통신을 중재하며, 목적지가 연결된 포트로만 전기 신호를 보내 데이터를 전송 L7 스위치는 로드밸런서라고도 하며 서버의 부하를 분산하는 기기다. 클라이언트로부터 오는 요청들을 뒤쪽에 여러 서버로 나누는 역할을 하며, 시스템이 처리할 수 ..
[네트워크] 네트워크의 기초/OSI 7계층 & TCP/IP 4계층 2023년 4월 10일 2.1 네트워크의 기초 네트워크는 컴퓨터 등의 장치들이 통신 기술을 이용하여 구축하는 연결망이다. "두 대 이상의 정보 단말기가 연결을 이루기 위해서 쓰이는 기기, 선로 등으로 구성되는 일체의 전송 매체"로 정의 할 수 있다. 노드와 링크가 서로 연결되어 있으며 리소스를 공유하는 집합을 의미한다. 노드란 서버, 라우터, 스위치 등의 네트워크 장치를 의미하고 링크는 유선 또는 무선을 의미한다. 인터넷이란 인터네트워킹 장치(라우터, 게이트웨이 등)에 의해 두 개 이상 연결된 것을 말한다. 2.1.1 처리량과 지연 시간 좋은 네트워크란 많은 처리량을 처리하며 지연 시간이 짧고 장애 빈도가 적으며 좋은 보안을 갖춘 것이다. - 처리량 처리량은 링크 내에서 성공적으로 전달된 데이터의 양을 ..
[디자인패턴 & 프로그래밍 패러다임] 프록시/이터레이터/노출모듈/MVC/MVP/MVVM & 선언형/함수형/객체지향/절차지향 2023.4.8 43p~65p 1.1.5 프록시 패턴과 프록시 서버 프록시 패턴? 프록시 패턴은 대상 객체에 접근하기 전 그 접근에 대한 흐름을 가로채 대상 객체 앞단의 인터페이스 역할을 하는 디자인 패턴이다. 이를 사용해 객체의 속성, 변환 등을 보완하고 보안, 데이터검증, 캐싱, 로깅에 사용한다. * 프록시 서버에서의 캐싱 : 캐시 안에 정보를 담은 후 캐시 안에 있는 정보를 요구하는 요청에 캐시 안에 있는 데이터를 활용하는 것이다. 불필요하게 외부와 다시 연결하지 않기 때문에 트래픽을 줄일 수 있다는 장점이 있다. 프록시 서버? 서버와 클라이언트 상이에서 클라이언트가 자신을 통해 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해주는 컴퓨터 시스템이나 응용 프로그램이다. nginx는 비동기 이벤트..
[디자인 패턴] 싱글톤/팩토리/전략/옵저버 2023년 4월 7일 16p~43p 라이브러리 & 프레임워크 라이브러리와 프레임워크는 공통으로 사용될 수 있는 특정한 기능들을 모듈화한 것을 의미한다. 라이브러리는 폴더명, 파일명 등에 대한 규칙이 없고 프레임워크에 비해 자유롭지만 프임워크는 규칙이 있으며 라이브러리에 비해 좀 더 엄격하다. 1.1 디자인 패턴 디자인 패턴이란 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 규약 형태로 만들어 놓은 것이다. 1.1.1 싱글톤 패턴 싱글톤 패턴이란 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴이다. 하나의 클래스를 기반으로 단 하나의 인스턴스를 만들어 이를 기반으로 로직을 만드는 데 쓰이며, 보통 데이터베이스 연결 모듈에 많이 사용한다고 한다. /..

반응형