목록전체 글 (38)
은학의 코딩 일기장
라우팅이란?라우팅은 네트워크 간에 데이터 패킷을 전달하는 과정을 말합니다. 네트워크에 연결된 여러 장치(노드)들이 서로 통신하기 위해 데이터 패킷을 전달할 경로를 선택하는 것을 라우팅이라고 합니다. 이 작업은 주로 라우터라는 네트워크 장치에 의해 수행되며, 라우터는 패킷을 최적의 경로로 전달하여 목적지까지 도달하게 합니다. 라우팅의 핵심은 경로 선택으로, 목적지에 도달할 수 있는 여러 경로 중 가장 효율적인 경로를 결정하는 것입니다. 이를 위해 라우팅 테이블을 사용하며, 각 네트워크 장치는 자신이 알고 있는 네트워크 경로 정보를 기반으로 라우팅 테이블을 구성합니다. 라우팅 프로토콜라우팅 프로토콜은 네트워크 장치들이 서로 통신하며, 경로 정보를 공유하고 업데이트하는 규칙 및 절차를 말합니다. 이를 통..
IP주소란 IP 주소는 네트워크에 연결된 장치들이 서로 통신하기 위해 사용하는 고유한 숫자 식별자입니다. IP 주소는 인터넷과 같은 네트워크에서 데이터를 전송하고 수신하는 데 필수적입니다. IP 주소는 크게 두 가지 종류로 나뉩니다: IPv4와 IPv6. IPv4 (Internet Protocol version 4):32비트 주소 체계를 사용하며, 숫자 4개가 점으로 구분된 형태로 나타납니다. 예: 192.168.0.1IPv4는 약 43억 개의 고유한 주소를 제공하지만, 네트워크 장치 수가 급격히 증가하면서 주소가 부족해졌습니다.IPv6 (Internet Protocol version 6):128비트 주소 체계를 사용하며, 훨씬 더 많은 수의 주소를 제공합니다. IPv6 주소는 16진수로 작성된 8개의..
Promise란?자바스크립트 비동기 통신에 사용되는 객체중 하나로 비동기 작업의 완료 또는 실패를 나타냄기존 callback 방식의 call back 지옥을 해결하기 위해 Promise가 사용됨Promise의 이점비동기 처리 시점을 명확하게 표현할 수 있다.연속된 비동기 처리 작업을 수정, 삭제, 추가하기 편하고 유연하다.비동기 작업 상태를 쉽게 확인할 수 있다.코드의 유지 보수성이 증가한다.Promise 3가지 상태Pending(대기) : 비동기 로직이 아직 완료되지 않은 상태Fullfilled(이행) : 비동기 작업이 처리되어 프로미스가 결과값을 반환해준 상태rejected(실패) : 비동기 작업이 실패된 상태후속 처리 메소드thenthen 메소드는 두 개의 콜백 함수를 인자로 전달 받습니다.첫 번째..
TCP (Transmission Control Protocol)TCP는 연결 지향적 프로토콜로, 인터넷 프로토콜 스위트의 중요한 요소 중 하나입니다. TCP는 데이터의 신뢰성과 순서를 보장하며, 데이터가 전송된 순서대로 도착하고 손실되거나 손상된 경우 이를 복구하는 기능을 제공합니다.특징:연결 지향적: 데이터를 전송하기 전에 송신자와 수신자 사이에 연결을 설정합니다.신뢰성: 데이터가 정확하게 도착하는지 확인하고, 손실되거나 손상된 패킷은 재전송됩니다.흐름 제어: 수신자의 처리 능력을 고려해 데이터 전송 속도를 조절합니다.혼잡 제어: 네트워크 혼잡을 방지하기 위해 전송 속도를 조절합니다.패킷 순서 보장: 송신된 데이터 패킷의 순서가 유지되도록 합니다.장점:데이터의 신뢰성과 정확성을 보장합니다.패킷의 순서를..

자바스크립트 ⇒ 싱글스레드언어 ( 한번에 하나의 작업만 처리)때문에 비동기 방식은 자바스크립트가 아닌 브라우저의 web apis에서 비동기 + 논블로킹 방식으로 처리됨이벤트루프란?브라우저의 동작을 제어하는 관리자역할싱글 스레드인 자바스크립트의 작업을 멀티 스레드로 돌려 작업을 동시에 처리시키게 하던가, 또는 여러 작업 중 어떤 작업을 우선으로 동작시킬 것인지 결정하는 세심한 컨트롤을 하기 위해 존재하는 것이 바로 이벤트 루프 이벤트 루프를 이용한 프로그램 방식을 이벤트 기반(Event Driven) 프로그래밍이라고함자바스크립트의 내부 구성도call stack : 자바스크립트 엔진이 코드실행을 위해 사용하는 메모리구조callback queue : 비동기 작업이 완료되면 실행되기위해 대기하는 공event..
스코프참조 대상 식별자를 찾아내기 위한 규칙변수 / 함수의 유효범위를 뜻함전역 스코프 (Global scope) : 스크립트 전체에서 참조되는 것을 의미하며, 어느 곳에서든 참조 된다.지역 스코프 (Local scope) : 정의된 함수 내에서만 참조되는 것을 의미하며, 밖에서는 참조 되지 않는다.렉시컬 스코프함수를 어디 선언하는지에 따라 상위 스코프가 결정되는 자바스크립트를 포함한 대부분의 프로그래밍 언어는 렉시컬 스코프를 따름var x = 1;function foo() { var x = 10; bar();}function bar() { console.log(x);}foo(); // 1bar(); // 1위와 같은 상황에서 bar 함수에서 참조하는 x 변수는 bar 함수의 상위 스코프가 무엇인지에 따라..
L4 로드밸런서 L4 로드 밸런서는 OSI 4계층(전송 계층)에서 동작하는 로드 밸런서입니다. 이 계층에서의 로드 밸런서는 주로 TCP(Transmission Control Protocol) 또는 UDP(User Datagram Protocol) 연결 정보를 기반으로 트래픽을 분산시키는 역할을 합니다.L4 로드 밸런서의 특징전송 계층에서의 트래픽 분산:L4 로드 밸런서는 IP 주소와 포트 번호를 기반으로 클라이언트의 요청을 분산시킵니다. TCP/UDP 연결을 기준으로 트래픽을 분배하며, 패킷 수준에서 작동합니다.트래픽 분산은 클라이언트의 IP 주소, 포트 번호, 목적지 IP 주소, 목적지 포트 번호 등을 기준으로 이루어집니다.프로토콜 무관:L4 로드 밸런서는 HTTP, HTTPS, FTP, SMTP 등 ..
웹 페이지나 웹 애플리케이션에서 자주 요청되는 자원(이미지, HTML 문서, CSS 파일, JavaScript 파일 등)을 임시로 저장하여, 이후 동일한 자원에 대한 요청이 있을 때 원본 서버로부터 다시 다운로드하지 않고 저장된 복사본을 제공하는 기술입니다. 웹 캐시는 웹 성능을 최적화하고, 서버 부하를 줄이며, 네트워크 트래픽을 절감하는 데 중요한 역할을 합니다.웹 캐시의 주요 개념캐싱 위치:브라우저 캐시(Browser Cache): 사용자의 웹 브라우저에 저장되는 캐시입니다. 브라우저는 자주 방문하는 웹 페이지의 자원을 로컬에 저장하여, 동일한 페이지를 다시 방문할 때 로딩 속도를 높입니다.프록시 캐시(Proxy Cache): 네트워크 경로 중간에 위치한 캐시 서버에서 자원을 저장하고 제공하는 방식입..