분류 전체보기(102)
-
목적파일
ABI : (Application binary interface ) 와 중요성에 대해 설명 목적 파일 형식 : 현존하는 목적 파일 형식과 쓸모 없어진 목적 파일 형식에 대해서 설명. ELF에 대해서 소개 재배치 가능한 목적 파일 : 첫번째 결과물에 대해서 다룸. 실행 가능한 목적 파일 실행가능한 목적파일에 대해 설명 정적 라이브러리 : 정적 라이브러리의 내용과 만드는 법에 대해 이야기 동적 라이브러리 : 공유 목적 파일에 대해 이야기 ABI API 는 일반적으로 프로그램간 기능 제공에 해당하는 규칙을 말하는데 ABI 는 프로그램간 기계어 의 호환 규칙을 말하는것으로 볼 수 있다. 말이 어려운데 쉽게 이야기 하면 결국 내부적으로 api나 abi 둘다 프로그램간의 협약 규칙을 말하나 이것이 프로그램 간 인지..
2022.11.24 -
모노레포에 대해 정리.
모놀리식 프로그램의 한계에 대해 비판으로 부터 시작된 방식. 하나의 싱글 워크스페이스에 여러 프로젝트들이 존재 하는 구조라고 볼 수 있음. 그렇다면 하나의 워크스페이스에 여러 프로젝트들이 존재하기만 하면 이것은 모노레포 일까? 각 프로젝트간의 유사성이 존재하고 이를 통해 프로젝트 관리의 유사성등 여러가지를 판단하여 모노레포 라고 부르는듯 하다. 그렇다면 언제나 모노레포가 옳은 방식일까? 언제나 옳지 않을 수 있다. 일예로 모노레포의 장점은 결국 멀티레포의 단점을 말하고, 모노레포의 단점은 멀티레포의 장점이 되기 때문에 항상 옳은 방식이라고 할 수는 없다. 하지만. 워크스페이스 내의 프로젝트들이 유사성이 크게 존재하고 이때 프로젝트의 진행을 한번에 볼 수 있어야 하는 경우 모노레포를 이용해서 처리하는 것이..
2022.11.22 -
클로저 정리.
클로저는 고유 개념이 아님 따라서 Ecma에서 사양에서 등장 하지 않는다. 함수가 선언된 렉시컬 환경. 함수 내부에서 선언된 함수, 즉 중첩함수가 아닌경우, 함수 내부 변수를 사용할 수 없다. 24.1 렉시컬 스코프 자바스크립트 엔진은 함수를 어디서 호출했는지가 아니라 함수를 어디에 정의했는지에 따라서 상위 스코프를 결정한다. 이는 전장에서 봤던 실행컨텍스트의 개념을 보면 이해할수 있다. 함수의 상위 스코프를 결정한다는 것은 렉시컬 환경의 외부 렉시컬 환경 참조에 저장할 참조값을 결정하는 것과 같다. 이는 결국 스코프 체인이 어떻게 동작하는지를 이해하면 이해하기 편하다. 렉시컬 환경의 외부 렉시컬 환경에 대한 참조값은 상위 스코프에 참조를 함수 정의가 평가되는 시점에서 함수의 정의 위치에 결정된다. 24..
2022.11.20 -
23장 part3
1. 전역 실행 컨텍스트의 생성. 빈 전역 실행컨텍스트를 먼저 생성하고 실행 컨텍스트에 푸쉬함. // 처음 실행 컨텍스트는 빈 공간이므로 최상단에 전역 컨텍스트가 로드 됨. 2. 전역 렉시컬 환경의 생성 전역 렉시컬 환경을 생성하고 실행 컨텍스트에 바인딩. // 지금 실행 컨텍스트의 최상단이 전역 컨텍스트 // 따라서 전역 컨텍스트에 바인딩 되는 것. 2.1 전역 환경 레코드 생성 전역변수를 관리하는 전역스코프와 전역객체 빌트인 프로퍼티, 전역함수 표준 빌트인을 담는 환경이라고 보면 될듯함. 객체 환경레코드는 var 키워드로 선언한 전역변수와 함수 선언문으로 정의한 함수, 빌트인 전역 프로퍼티, 빌트인 함수 등을 관리하는것, 선언적 환경레코드는 let, const 로 선언된 전역 변수를 관리함. cons..
2022.11.15 -
23장 실행컨텍스트 part2
*23.3 실행컨텍스트의 역할 * const x = 1; const y = 2; function foo(a) { const x = 2; const y = 1; console.log(x + y); } foo() 이때 실행 컨텍스트 구조를 나눠보면 전역에서 평가부 : 전역 ec[Global EC] [x : undefined] ,[y : undefined], [foo : function] 실행부 : 전역 ec [Global EC] [x : 1], [y : 2], [foo : ()] foo() 호출시 평가부 : [Foo ec] // function ec [x : undefined], [y : undefined] 실행부 : [Foo ec] [x : 2], [y : 1], console.log(x + y), ret..
2022.11.15 -
23장 실행 컨텍스트
실행 컨텍스트 자바스크립트의 동작원리를 담고있는 핵심개념. 23.1 소스코드의 타입 ECMAScript 사양은 4가지 타입으로 구분한다. 4가지 타입은 소스코드는 실행 컨텍스트를 생성한다. | 소스코드의 타입 | 설명 | | 전역 코드 | 전역에 존재하는 소스코드를 말한다. 전역에 정의된 함수, 클래스 내부 코드를 포함하지 않는다. | | 함수 코드 | 함수 내부에 존재하는 소스코드, 중첩함수, 클래스 내부 코드를 포함하지 않는다. | | eval 코드 | 빌트인 전역함수 에 전달되어 실행되는 소스코드 | | 모듈 코드 | 모듈 내부에 존재하는 소스코드, 모듈 내부, 클래스 내부 코드를 포함하지 않는다. | 실행 순서는 function outer() { function inner() { console.l..
2022.11.15