전체 글
-
1장. HTTP 개관책/misc 2022. 4. 24. 11:35
1장. HTTP 개관 1.1 HTTP: 인터넷의 멀티미디어 배달부 HTTP는 신뢰성 있는 데이터 전송 프로토콜을 사용하기 때문에, 데이터가 전송 중 손상되거나 꼬이지 않음을 보장한다. 1.2 웹 클라이언트와 서버 HTTP 클라이언트와 HTTP 서버는 월드 와이드 웹의 기본 요소다. 1.3 리소스 웹 서버는 웹 리소스를 관리하고 제공한다. 웹 리소스는 웹 컨텐츠의 원천이다. 가장 단순한 리소스는 파일 시스템의 정적 파일이다. (텍스트, HTML, 워드, 이미지, 동영상 그 외 모든 종류의 파일) 그러나 리소스는 반드시 정적 파일이어야 할 필요는 없다. 요약하자면, 어떤 종류의 콘텐츠 소스도 리소스가 될 수 있다. 미디어 타입 HTTP 는 웹에서 전송되는 객체 각각에 MIME(Multipurpose Inte..
-
18장. 함수와 일급 객체책/모던 자바스크립트 딥다이브 2022. 4. 24. 11:35
18장. 함수와 일급 객체 18-1. 일급 객체 무명의 리터럴로 생성할 수 있다. 즉, 런타임에 생성이 가능하다. 변수나 자료구조에 저장할 수 있다. 함수의 매개변수에 전달할 수 있다. 함수의 반환값으로 사용할 수 있다. JS의 함수는 위의 조건을 모두 만족하므로 일급 객체이다. 함수가 일급 객체라는 것은 함수를 객체와 동일하게 사용할 수 있다는 뜻이다. 함수는 객체이지만 일반 객체와는 차이가 있다. 일반 객체는 호출할 수 없지만 함수 객체는 호출할 수 있다. 함수 객체는 일반 객체에는 없는 함수 고유의 프로퍼티를 소유한다. // 1. const increase = function (num) { return ++num; }; // 2. const auxs = { increase, decrease }; /..
-
17장. 생성자 함수에 의한 객체 생성책/모던 자바스크립트 딥다이브 2022. 4. 24. 11:35
17장. 생성자 함수에 의한 객체 생성 객체 리터럴을 사용하여 객체를 생성하는 방식과 생성자 함수를 사용하여 객체를 생성하는 방식의 장단점을 알아보자. 17-1. Object 생성자 함수 constructor 란 new 연산자와 함께 호출하여 객체를 생성하는 함수를 말한다. 생성자 함수에 의해 생성된 객체를 instance 라 한다. JS는 Object, String,, Number, Boolean, Function, Array, Date, RegExp, Promise 등의 빌트인 생성자 함수를 제공한다. 특별한 이유가 없다면 객체 리터럴을 사용하는 것이 더 편해 보인다. 17-2. 생성자 함수 객체 리터럴에 의한 객체 생성 방식의 문제점 단 하나의 객체만 생성하므로 동일한 프로퍼티를 갖는 객체를 여러개..
-
16장. 프로퍼티 어트리뷰트책/모던 자바스크립트 딥다이브 2022. 4. 24. 11:34
16장. 프로퍼티 어트리뷰트 16-1. 내부 슬롯과 내부 메서드 내부 슬롯과 내부 메서드는 JS 엔진의 구현 알고리즘을 설명하기 위해 ECMAScript 사양에서 사양하는 의사 프로퍼티(pseudo property) 와 의사 메서드(pseudo method)이다. 내부 슬롯과 내부 메서드는 JS 엔진의 내부 로직이므로 원칙적으로 JS는 직접적으로 접근하거나 호출할 수 있는 방법을 제공하지 않는다. 모든 객체는 [[Prototype]]이라는 내부 슬롯을 갖는다. 원칙적으로 직접 접근 할 수 없지만 __proto__ 를 통해 간접적으로 접근할 수 있다. const o = {}; o.__proto__ // Object.prototype 16-2. 프로퍼티 어트리뷰트와 프로퍼티 디스크립터 객체 JS 엔진은 프로..
-
15장. let, const 키워드와 블록 레벨 스코프책/모던 자바스크립트 딥다이브 2022. 4. 24. 11:34
15장. let, const 키워드와 블록 레벨 스코프 15-1. var 키워드로 선언한 변수의 문제점 변수 중복 선언 허용 같은 스코프 내에서 중복 선언을 허용한다. 초기화문이 있으면 var 키워드가 없는 것 처럼, 없으면 무시 var x = 1; var y = 1; var x = 100; var y; console.log(x); // 100 console.log(y); // 1 함수 레벨 스코프 함수의 코드 블록만을 지역 스코프로 인정한다. 함수 레벨 스코프는 전역 변수를 남발할 가능성을 높인다. var x = 1; var i = 10; if (true) { var x = 10; } for (var i = 0; i < 5; i++) { console.log(i); // 0 1 2 3 4 } conso..
-
14장. 전역 변수의 문제점책/모던 자바스크립트 딥다이브 2022. 4. 24. 11:34
14장. 전역 변수의 문제점 global object 클라이언트 사이드 환경(브라우저): window 서버 사이드 환경(Node.js): global ES11 에서 globalThis 로 통일됨. 전역 변수 단점 암묵적 결합(implict coupling): 유효 범위가 너무 커 가독성이 나쁘고 상태 변경의 위험이 높음. 긴 생명 주기: 메모리 리소스 오랜 기간 소비 스코프 체인 상에서 종점에 존재: 변수 검색시 가장 마지막에 검색된다는 뜻. 즉, 검색 속도가 가장 느리다. 네임스페이스 오염: 여러 파일에서 하나의 전역 스코프를 공유한다. 예상치 못한 결과 확률 높음. 전역 변수 사용 억제 방법 변수의 스코프는 좁을수록 좋다. 즉시 실행 함수 즉시 실행 함수를 사용하면 지역 변수가 된다. (functio..
-
4장. 변수책/모던 자바스크립트 딥다이브 2022. 4. 24. 11:34
4장: 변수 키워드 정리 변수 정의 메모리 실행 컨텍스트 변수 실행 시점 선언 할당 런타임 변수 호이스팅 GC 변수 네이밍 규칙 4-1. 변수란 무엇인가? 왜 필요한가? 변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름 기억하고 싶은 값을 메모리에 저장, 저장된 값을 읽어 들여 재사용하기 위해 변수를 사용 컴퓨터는 CPU로 연산, 메모리로 기억한다. 메모리는 데이터를 저장할 수 있는 메모리 셀의 집합체이다. 메모리 셀 하나의 크기는 1byte(8bit) 이며 저장하거나 읽을때는 1byte 단위로 사용한다. 각 셀은 고유의 메모리 주소를 가진다. 고유의 메모리 주소를 변수처럼 사용할 수는 있지만 위험하며 JS 는 개발자의 직접적인 메모리 제어를 허용..
-
HTTP 완벽 가이드 책 샀다.책/misc 2022. 2. 10. 20:11
다람쥐를 입양했어요. 사실 제 아이는 아니구요... 밑바탕이 되는 애들은 책으로 보는 게 좋다고 해서 들였습니다.. 근데 생각보다 너무 방대하군요... 사실 모던자바스크립트도 다 안 봤어요. 뭔가를 만드는거 보다 책 읽는 게 더 어려운 거 같아요. 집중이 어려워... 내용에서 정리가 필요없는 내용도 있는데 뭐라도 적으려고 하는 게 좀 애매하네요.. 눈으로만 볼까... 라고 생각하고 했다간 나중에 후회하겠지... 22-04-24 입양 후 2개월이 지났는데 아직 1장도 안 읽었다는 사실... 이건 그냥 혼자 볼거라 주당 3장 씩 보고 싶은데 가능할진 모르겠습니다. 투비컨티뉴... 미래의 수빈이가 밑에 다시 적겠지... 22-07-10 4장 보다가 멈춤. 스터디 해서 어찌저찌 완독하고 싶었는데 일단 파티가 깨..