분류 전체보기

    호이스팅(hoisting)

    호이스팅(hoisting)

    💡호이스팅 - JavaScript 엔진이 코드를 실행하기 전에 변수 및 함수 선언을 메모리에 끌어올리는 것 호이스팅 변수와 함수 선언이 최상단으로 올려지는 현상 console.log(a); func(); function func() { console.log('함수실행'); } var a = '변수'; 위 경우, 함수실행은 제대로 작동하고, 변수는 초기화가 아직 되지 않은 값이라 undefined가 출력된다. 다시 말해, JavaScript 엔진이 코드를 실행하기 전에 변수 및 함수 선언을 메모리에 끌어올리는 것이다. 즉, 코드 실행 이전에 선언된 변수와 함수가 메모리에 할당되어 그들의 스코프 내에서 어디에서든지 접근할 수 있다. console.log(x); // undefined var x = 5; co..

    var, let, const 차이

    var, let, const 차이

    💡변수 선언 방식var    - 변수 선언, 함수 스코프, 리터럴 값의 재할당이 가능, 변수재선언 가능, 호이스팅 됨let     - 변수 선언, 블록 스코프, 리터럴 값의 재할당이 가능, 변수재선언 불가능const - 상수 선언, 블록 스코프, 리터럴 값의 재할당이 불가능, 변수재선언 불가능💡호이스팅에 연관지어 설명var는 선언단계와 초기화 단계가 한 번에 진행된다. 변수 호이스팅에 의해 선언문 이전에 접근이 가능하고 런타임 이전에 자바스크립트 엔진에 의해 undefined 값으로 초기화된다. let은 선언단계와 초기화 단계가 분리되어 진행된다. 선언문 이전에 접근하면 일시적 사각지대(TDZ)가 존재해 호이스팅은 되지만 참조에러가 발생해 호이스팅이 되지 않는 것처럼 동작한다. const는 선언과 동..

    [TCP/IP 4계층] 2. MTU와 MSS, PMTUD

    [TCP/IP 4계층] 2. MTU와 MSS, PMTUD

    💡 MTU (Maximum Transmission Unit) - 최대 데이터 패킷의 크기 - 이 크기를 기준으로 데이터는 쪼개져서 패킷화 - lP헤더와 TCP헤더의 크기까지 합친 것 💡 MSS : ( Maximum Segment Size) - 데이터 (Paload의 크기)의 크기 만을 가리킴 💡 PMTUD (Path MTU Discovery) 패킷을 누락한 경우 테스트 패킷의 크기를 낮추면서 MTU에 맞게끔 반복해서 보내는 과정 MTU (Maximum Transmission Unit) 네트워크에 연결된 장치가 받아들일 수 있는 최대 데이터 패킷의 크기 이 크기를 기준으로 데이터는 쪼개져서 패킷화 네트워크 경로 상에 있는 아무 장치나 MTU 보다 패킷이 크면 그 패킷을 분할되기도 함 MTU와 MSS MTU..

    [TCP/IP 4계층] 1. 개념, 캡슐화, 비캡슐화, PDU, OSI 7계층

    [TCP/IP 4계층] 1. 개념, 캡슐화, 비캡슐화, PDU, OSI 7계층

    💡 TCP(Transmission Control Protocol) / IP(Internet Protocol) 인터넷을 통해 데이터를 보낼 때 주로 TCP와 IP를 이용해서 보내기 때문에 이런 용어를 가진다. 애플리케이션 계층 (응용 계층) : 실질적으로 사람들에게 제공 전송 계층 : 데이터를 쪼개고 데이터가 오류없이 순서대로 전달되도록 도움 인터넷 계층 : 세그먼트 또는 데이터그램을 패킷화하여 목적지로 전송 링크 계층 (네트워크 접속 계층) : 네트워크를 통해 물리적으로 전송되는 방식 💡 PDU TCP/IP 4계층을 기반으로 설명했을 때 각 계층의 데이터 단위를 의미 💡 CRC/체크섬 트레일러 과도한 트래픽 등으로 인해 데이터 손상을 감지하는 역할을 함. 💡 OSI 7계층 쪼갠단위와 인터넷 계층을 네트워..