본문 바로가기

반응형

CS

(69)
[네트워크] Blocking/Non-blocking & Synchronous/Asynchronous https://github.com/gyoogle/tech-interview-for-developer/blob/master/Computer%20Science/Network/%5BNetwork%5D%20Blocking%2CNon-blocking%20%26%20Synchronous%2CAsynchronous.md GitHub - gyoogle/tech-interview-for-developer: 👶🏻 신입 개발자 전공 지식 & 기술 면접 백과사전 📖 👶🏻 신입 개발자 전공 지식 & 기술 면접 백과사전 📖. Contribute to gyoogle/tech-interview-for-developer development by creating an account on GitHub. github.com Blockin..
[네트워크] 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을 입력하면 일어나는 일에..
15장 let,const 키워드와 블록 레벨 스코프 2023년 4월 18일 208p~218p 15장 let,const 키워드와 블록 레벨 스코프 15.1 var 키워드로 선언한 변수의 문제점 var 키워드로 선언한 변수는 중복 선언을 허용한다. var x = 1; var y = 1; // var 키워드로 선언된 변수는 같은 스코프 내에서 중복 선언을 허용한다. // 초기화문이 있는 변수 선언문은 자바스크립트 엔진에 의해 var 키워드가 없는 것처럼 동작한다. var x = 100; // 초기화문이 없는 변수 선언문은 무시된다. 에러는 발생하지 않는다. var y; console.log(x); // 100 console.log(y); // 1 var 키워드로 선언한 변수는 함수의 코드 블록만을 지역 스코프로 인정하기 때문에 함수 외부에서 var로 선언한 변..
[네트워크] 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 : 패킷이 목적지에 도달하고 나서 다시 출발지로 돌아오기까지 걸리는 시간. 패킷 왕복 시간 이..
14장 전역 변수의 문제점 2023년 4월 18일 200p~207p 14장 전역 변수의 문제점 14.1 변수의 생명 주기 14.1.1 지역 변수의 생명 주기 변수는 자신이 선언된 위치에서 생성되고 소멸한다. 전역 변수의 생명 주기는 애플리케이션의 생명 주기와 같다. 하지만 함수 내부에서 선언된 지역 변수는 함수가 호출되면 생성되고 함수가 종료하면 소멸한다. function foo() { var x = 'local'; console.log(x); // local return x; } foo(); console.log(x); // ReferenceError: x is not defined 지역 변수 x는 foo 함수가 호출되기 이전까지는 생성되지 않는다. foo 함수를 호출하지 않으면 함수 내부의 변수 선언문이 실행되지 않기 때문이다..
[네트워크] 네트워크 기기/IP 주소 2023년 4월 11일 95p~113p 2.3 네트워크 기기 네트워크 기기는 계층별로 처리 범위를 나눌 수 있다. 상위 계층을 처리할 수 있는 기기는 하위 계층을 처리할 수 있지만 반대는 불가하다. 애플리케이션 계층 : L7 스위치 전송 계층 : L4 스위치 인터넷 계층 : 라우터, L3 스위치 데이터 링크 계층 : L2 스위치, 브리지 물리 계층 : NIC, 리피터, AP 2.3.2 애플리케이션 계층을 처리하는 기기 - L7 스위치 스위치 : 여러 장비를 연결하고 데이터 통신을 중재하며, 목적지가 연결된 포트로만 전기 신호를 보내 데이터를 전송 L7 스위치는 로드밸런서라고도 하며 서버의 부하를 분산하는 기기다. 클라이언트로부터 오는 요청들을 뒤쪽에 여러 서버로 나누는 역할을 하며, 시스템이 처리할 수 ..

반응형