목록TIL(Today I Learned) (64)
개발자공부일기
라우터와 라우팅(동적 라우팅, 정적 라우팅)라우터란?라우터는 둘 이상의 패킷 전환 네트워크 또는 서브네트워크를 연결하는 장치입니다.라우터는 데이터 패킷을 의도한 IP주소로 전달하여 이러한 네트워크 간의 트래픽을 관리하고, 여러 장치가 동일한 인터넷 연결을 사용할 수 있도록 하는 등, 두 가지 주요 기능을 제공합니다. 라우터에는 여러 유형이 있지만, 대부분의 라우터는 근거리 통신망(LAN)과 광역 네트워크(WAN)간에 데이터를 전달합니다.LAN은 특정 지리적 영역으로 제한된, 연결된 장치 그룹입니다.LAN에는 일반적으로 단일 라우터가 필요합니다.반면, WAN은 넓은 지리적 영역에 분산된 대규모 네트워크입니다. 예를 들어, 전국의 여러 위치에서 운영되는 대규모 조직 및 회사는 각 위치에 대해 별도의 LAN이..
오늘은 브라우저 주소창에 무언가를 입력했을때 네트워크상에서 일어나는 일들을 알아보겠습니다. 브라우저에서 주소창에 "사과"를 입력하면 다음과 같은 과정이 일어납니다.브라우저는 사용자가 입력한 내용을 분석합니다. 입력된 " 사과 "는 URL 형식이 아니므로 기본 설정된 검색 엔진을 통해 검색하려고 합니다. 검색 엔진의 URL을 생성합니다. 예를 들어, https://www.google.com/search?q= 사과 와 같은 형태로 변환하여 요청을 준비합니다. 검색 엔진의 도메인 이름인 www.google.com을 IP 주소로 변환하기 위해 DNS(Domain Name System)를 확인합니다. 이때 브라우저는 먼저 자신의 캐시를 확인하고, 없으면 운영 체제(OS) 캐시와 라우터 캐시를 차례로 조회합니다. ..
IP의 개념인터넷 프로토콜(Internet Protocol)의 약자로, 인터넷이 통하는 네트워크에서 어떤 정보를 수신하고 송신하는 통신에 대한 규약을 의미합니다. 인터넷 계층의 IP 프로토콜은 IP 주소를 사용하여 호스트나 네트워크 장비를 식별합니다. 인터넷에 접속한 컴퓨터와 라우터에 고유한 IP 주소를 할당하고, 그 IP 주소를 사용해서 컴퓨터를 특정하거나 통신 상대방으로 지정합니다. IP 프로토콜에서는 현재 IPv4(Internet Protocol version 4)의 주소 체계를 사용하고 있습니다. 하지만 스마트폰의 등장 및 모든 사물이 인터넷으로 연결되는 사물 인터넷으로 인해 IP 주소를 사용하는 기기가 폭발적으로 증가하면서 IPv4보다 월등히 많은 수의 IP 주소를 할당할 수 있는 IPv6(In..
CDN(Content Delivery Network)이란? CDN(Content Delivery Network)은 지리적으로 분산된 서버들을 연결한 네트워크로서 웹 컨텐츠의 복사본을 사용자에 가까운 곳에 두거나 동적 컨텐츠(예: 라이브 비디오 피드)의 전달을 활성화하여 웹 성능 및 속도를 향상할 수 있게 합니다.각 CDN 서버는 이른바 "네트워크 에지(네트워크에서 데이터가 생성되고 소비되는 사용자 또는 장치와 가까운 지점을 의미합니다 )"에 위치합니다. 웹사이트의 출처라 할 수 있는 호스트 서버와 비교하면 사용자와의 거리가 더 가깝습니다. 이러한 이유로 CDN 서버는 흔히 "에지 서버"로 불리곤 합니다. 각 서버는 호스트 서버에 있던 웹 컨텐츠(HTML 파일, 이미지, 오디오, 비디오, 애플리케이션 등)..
데이터링크 계층(Data Link Layer)은 OSI 모델에서 두 번째 계층으로, 물리적 계층에서 전송된 데이터를 정확하게 전달하기 위해 다양한 기능을 담당합니다. 이 계층은 주로 프레임 단위로 데이터를 송수신하며, 데이터의 오류 제어와 흐름 제어, 접근 제어 등을 처리합니다.1. 프레임 구성 (Framing)프레임은 데이터링크 계층에서 패킷을 전송 가능한 단위로 변환한 것입니다. 물리 계층에서 비트 단위로 전송된 데이터를 데이터링크 계층은 프레임 단위로 나누어 전송합니다.프레임 구성의 주요 역할:데이터링크 계층에서 프레임을 정의하는 이유는 데이터의 시작과 끝을 명확히 구분하기 위해서입니다. 네트워크에서는 데이터를 전송할 때 연속된 비트의 흐름으로 보내지는데, 만약 구분자가 없으면 수신자는 어디서 데이..
물리 계층은 OSI 모델에서 네트워크 통신의 가장 기본이 되는 첫 번째 계층입니다. 이 계층은 비트 전송을 담당하며, 네트워크에서 데이터를 물리적으로 전송하는 데 필요한 모든 요소를 정의합니다. 물리 계층은 실제 데이터가 전송되는 하드웨어 및 물리적 연결을 다루므로, 네트워크 통신의 기초적인 부분을 담당합니다.물리 계층의 주요 역할물리 계층의 주요 역할은 다음과 같습니다:비트의 표현 (Bit Representation): 물리 계층에서 데이터는 비트로 표현됩니다. 비트는 0과 1의 이진수로 표현되며, 이를 전기적 신호, 빛의 신호, 또는 무선 신호로 변환하여 전송합니다. 예를 들어, 구리선에서는 전압을 통해 1과 0을 표현하고, 광섬유에서는 빛의 유무로 데이터를 표현합니다.데이터 전송률 (Data Tra..
reduce는 복잡한 로직을 처리하거나 데이터를 축약해 새로운 구조를 생성할 때 매우 강력합니다. 아래에 다양한 예제들을 통해 활용 방법을 보여드리겠습니다.1. 배열의 중첩 합계 구하기중첩 배열의 모든 숫자를 더하는 예제입니다.const nestedArray = [[1, 2, 3], [4, 5], [6, 7, 8, 9]];const totalSum = nestedArray.reduce((accumulator, currentArray) => { const arraySum = currentArray.reduce((sum, num) => sum + num, 0); return accumulator + arraySum;}, 0);console.log(totalSum); // 45동작:외부 reduce..
WITH는 SQL에서 서브쿼리를 정의하고 이를 마치 테이블처럼 사용할 수 있도록 하는 기능입니다. WITH는 보통 공통 테이블 표현식(CTE, Common Table Expression) 이라고 불리며, 반복적인 쿼리나 복잡한 서브쿼리를 단순화하고 가독성을 높이는 데 유용합니다.기본 문법WITH cte_name AS ( -- 서브쿼리 SELECT column1, column2 FROM table WHERE condition)SELECT *FROM cte_nameWHERE other_condition;여기서 cte_name은 CTE의 이름이고, 그 뒤에 서브쿼리 내용을 적습니다. 그 후에 SELECT 구문에서 CTE를 테이블처럼 사용할 수 있습니다.예시 1: 간단한 WITH 사용WIT..