개인 학습21 HTTP/1.0 vs HTTP/1.1 vs HTTP/2.0 vs HTTP/3.0 HTTP/1.0HTTP/1.0은 요청 컨텐츠 마다 3 - 웨이 핸드쉐이크를 계속해서 열어야 함서버에 부담이 많이가고, 응답시간이 길어진다는 단점이러한 문제를 해결하기 위해 이미지 스플리팅, 코드 압축, base64 인코딩이 있음 HTTP/1.1HTTP 1.0에서 발전한 것이 HTTP/1.1이다. 매번 TCP 연결을 하는 것이 아니라 한 번 TCP 초기화 이후에 keep-alive라는 옵션으로 여러개의 파일을 송수신 할 수 있음한 개의 TCP 세션을 통해 여러개의 컨텐츠 요청이 가능하나의 커넥션에서 응답을 기다리지 않고 순차적으로 여러 요청을 연속적으로 보냄 HOL Blocking 단점이 있음, TCP는 신뢰성을 보장하는 프로토콜이기 때문에, 패킷은 무조건 정확한 순서대로 처리되어야 함, 그래서 앞선 요.. 2025. 2. 27. 모던 자바스크립트 Deep Dive 16장 프로퍼티 어트리뷰트내부 슬롯과 내부 메서드내부 슬롯과 내부 메서드는 자바스크립트 엔진의 구현 알고리즘을 설명하기 위해 사용되는 의사 프로퍼티와 의사 메서드이다.개발자가 원칙적으로 접근하거나 호출하는 방법을 제공하지 않는다.하지만 객체는 Prototype이라는 내부 슬롯을 갖는다. 이 내부 슬롯은 __proto__ 을 통해 간접적으로 접근할 수 있다. 프로퍼티 어트리뷰트와 프로퍼티 디스크립터 객체자바스크립트 엔진은 프로퍼티를 생성할 때 프로퍼티의 상태를 나타내는 프로퍼티 어트리뷰트를 기본값으로 세팅한다. 프로퍼티 어트리뷰트는 value, writable, enumerable, configurable이 있다.이 어트리뷰트에 직접 접근할 수 없어 Object.getOwnPropertyDescriptor 메서.. 2025. 2. 24. 모던 자바스크립트 Deep Dive 15장 let, const 키워드와 블록 레벨 스코프var 키워드로 선언한 변수의 문제점var 키워드로 선언한 변수는 중복 선언이 가능하다.var x = 1;var x = 100;console.log(x); // 100 동일한 이름의 변수가 이미 선언되어 있다는 것을 모르고 변수를 중복 선언하면 의도치 않게 먼저 선언된 변수 값이 변경된다. 함수 레벨 스코프var 키워드로 선언한 변수는 오로지 함수의 코드 블록만을 지역 스코프로 인정한다. 따라서 함수 외부에서 var 키워드로 선언한 변수는 코드 블록(if, for ... 등) 내에서 선언해도 모두 전역 변수이다. var 변수는 변수 호이스팅이 발생하여 변수 선언문이 스코프 선두로 끌어 올려진다. 이 때 할당하기 전 변수를 참조하면 undefined를 반환한.. 2025. 2. 21. 모던 자바스크립트 Deep Dive 14장 전역 변수의 문제점지역변수의 생명주기전역 변수의 생명 주기는 애플리케이션 생명 주기와 같다.하지만 함수 내부에서 선언된 지역 변수는 함수가 호출되면 생성되고 함수가 종료하면 소멸한다. var x = 'global'; function foo() { console.log(x); // ① var x = 'local';} foo();console.log(x); // global 호이스팅은 스코프를 단위로 동작한다.여기서 foo함수가 정의되었기 때문에 스코프가 생성이 되고 이 지역 단위에 호이스팅이 발생한다.그래서 foo함수에서 undefined가 출력된다. 전역변수의 생명주기var 키워드로 선언한 전역 변수는 전역 객체의 프로퍼티가 된다.var 키워드로 선언한 전역 변수의 생명 주기는 전역 객체의 생.. 2025. 2. 21. 모던 자바스크립트 Deep Dive 13장 스코프란? var var1 = 1; // 코드의 가장 바깥 영역에서 선언한 변수if (true) { var var2 = 2; // 코드 블록 내에서 선언한 변수 if (true) { var var3 = 3; // 중첩된 코드 블록 내에서 선언한 변수 }}function foo() { var var4 = 4; // 함수 내에서 선언한 변수 function bar() { var var5 = 5; // 중첩된 함수 내에서 선언한 변수 }}console.log(var1); // 1console.log(var2); // 2console.log(var3); // 3console.log(var4); // ReferenceError: var4 is not definedconsole.log(var5.. 2025. 2. 21. 모던 자바스크립트 Deep Dive 12장 함수란?함수 정의함수를 정의하는 방법에는 4가지가 있다.함수선언문function add(x, y) { return x + y;}함수 표현식var add = function(x,y){return x+y;};Function 생성자 함수var add = new Function('x', 'y', 'return x + y');화살표 함수var add = (x, y) => x + y; 함수 선언문함수 선언문은 함수 이름을 가지고 함수를 선언하는 것이고함수 리터럴은 변수에 할당하거나 피연산자로 사용하면 함수 리터럴 표현식으로 해석된다.함수 리터럴은 함수 선언문과 같이 똑같이 함수 객체를 생성하지만, 함수 선언문과 다르게 함수를 가리키는 식별자가 없다. 또한 함수명은 자바스크립트 엔진이 암묵적으로 생성한 식별자다.. 2025. 2. 21. 이전 1 2 3 4 다음