Skip to content

Commit 0c910e1

Browse files
committed
Quartz sync: Jun 22, 2025, 10:40 PM
1 parent c83f43f commit 0c910e1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+388
-85
lines changed
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
description:
3+
aliases:
4+
created: 2025-06-22
5+
modified: 2025-06-22
6+
---
7+
8+
- 64비트와 32비트의 차이점
9+
- 레지스터 버스 크기
10+
- 소프트웨어적 차이점
11+
- 메모리할당 사이즈 차이
12+
- 32bit -> 4gb
13+
- 64bit -> 16eb
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
- 정보 시스템 설계 및 이론에서의 단일 진실 공급원(Single Source of Truth, SSOT)은, 모든 데이터 요소를 한 곳에서만 제어하거나 편집하도록 조직하는 관례를 말한다
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
description:
3+
aliases:
4+
created: 2025-06-22
5+
modified: 2025-06-22
6+
---
7+
8+
- AJAX = **A**synchronous **J**avaScript **A**nd **X**ML
9+
- Read data from a web server - after the page has loaded
10+
- Update a web page without reloading the page
11+
- Send data to a web server - in the background
12+
- 브라우저에서 서버로 비동기 요청에 쓰임
13+
- fetch, axios, react-query, swr
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
description:
3+
aliases:
4+
created: 2025-06-22
5+
modified: 2025-06-22
6+
---
7+
8+
- 비동기 처리를 콜백으로 처리하면서 생기는 중첩된 구문
9+
- promise나 await/async로 해결

content/Computer Science/5 Software Development/Programming Language/JavaScript/Closures.md

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,24 @@
11
---
22
description:
33
created: 2025-05-18
4-
modified: 2025-06-09
4+
modified: 2025-06-22
55
aliases:
66
- 클로저
77
---
88

9+
# summary
10+
closures
11+
???
12+
- 외부 변수 영역의 값을 참조한 상태
13+
- 고로 gc에 의해 사라지지 않음
14+
- 캡슐화에 사용
15+
16+
# Closures
917
- [Closures](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Closures)
1018
- is the combination of a function bundled together (enclosed) with references to its surrounding state (the lexical environment).
1119
- gives a function access to its outer scope. In JavaScript, closures are created every time a function is created, at function creation time.
1220
- 함수가 선언될 때의 렉시컬 스코프 안의 참조를 기억
21+
- outer lexical environment
1322
- 함수가 실행될 때, 렉시컬 스코프 안의 변수들에 접근할 수 있다
1423
- 값이 아닌 접근할 수 있는 연결(참조)를 유지
1524
- 함수 내부에 있는 함수가 외부 변수에 접근할 수 있는 건 클로저
@@ -54,9 +63,25 @@ aliases:
5463
- state persistence
5564
- examples
5665
- currying
57-
- 여러 인자를 받는 함수를 단일 인자를 받는 함수로 변환
66+
- 여러 인자를 받는 함수를 단일 인자를 받는 함수들의 연쇄(chain)로 변환
5867
- 함수의 부분 실행, 지연 실행 가능하게
5968
- 함수의 재사용성, 모듈성 향상
69+
- deferred execution
70+
- 지연 실행
71+
- 모든 함수의 인자가 등록되어야 실행
72+
- ```js
73+
function add(a) {
74+
return function (b) {
75+
return function (c) {
76+
return a + b + c;
77+
}
78+
}
79+
}
80+
console. log (add (1) (2)); // not yet
81+
console. log (add (1) (2) (3)); // 6
82+
- 리덕스 미들웨어의 구조
83+
- `const middleware = store => next => action => {}`
84+
- 부분 적용 함수
6085
- ```js
6186
function createLogger (type) {
6287
return function (message) {
@@ -69,21 +94,6 @@ aliases:
6994
errorLogger("something");
7095
infoLogger("something");
7196
warningLogger("something");
72-
- deferred execution
73-
- 지연 실행
74-
- 모든 함수의 인자가 등록되어야 실행
75-
- ```js
76-
function add(a) {
77-
return function (b) {
78-
return function (c) {
79-
return a + b + c;
80-
}
81-
}
82-
}
83-
console. log (add (1) (2)); // not yet
84-
console. log (add (1) (2) (3)); // 6
85-
- 리덕스 미들웨어의 구조
86-
- `const middleware = store => next => action => {}`
8797
- react
8898
- 함수형 컴포넌트는 자체적으로 상태 저장안되는데 어떻게?
8999
- (*현재는 클로저 아님*)

content/Computer Science/5 Software Development/Programming Language/JavaScript/Data type.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,11 @@
33
- number
44
- string
55
- boolean
6-
- null
76
- undefined
7+
- 값이 정의되지 않음(초기화시)
8+
- null
9+
- 값이 없음(명시적 선언)
10+
- type of null -> object
811
- symbol
912
- Bigint
1013
- 불변성

content/Computer Science/5 Software Development/Programming Language/JavaScript/Execution Context.md

Lines changed: 31 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,22 +9,41 @@ modified: 2025-06-09
99
- Execution Context
1010
- 코드가 실행되는 환경을 말함
1111
- 어떤 변수, 함수에 접근 가능한지를 결정
12-
- 구성 요소
12+
- elements
13+
- code evaluation state
14+
- Realm
15+
- Intrinsics
16+
- Global Object
17+
- Global Environment Record
18+
- LexicalEnvironment
19+
- Global Environment Record
20+
- VariableEnvironment
21+
- Global Environment Record
22+
- PrivateEnvironment
23+
- ScriptOrModule
24+
- Function
25+
- Generator
26+
- phase
27+
- creation
28+
- execution
29+
- 주요 구성 요소
1330
- `Variable Environment`
14-
- `var`, 함수 선언 등
31+
- 변수, 함수 선언 등
32+
- [[Variable Lifecycle]]
33+
- [[Hoisting]]
1534
- lexical environment과 겹쳐보이지만, 초기화용
35+
- `Lexical Environment`
36+
- Scope Chain 관리
37+
- Activation Object
38+
- 특정 스코프의 변수와 함수 선언을 저장하는 객체
39+
- 구성 요소
40+
- `Environment record`
41+
- 내부 지역 변수, 참조
42+
- `Outer Lexical Environment Reference`
43+
- 전역 환경, 부모 스코프의 lexical environment 를 참조
44+
- [[Closures]]의 원리
1645
- `This Binding`
1746
- `this`가 참조하는 값
18-
- `Scope Chain`
19-
- `Lexical Environment`
20-
- Activation Object
21-
- 특정 스코프의 변수와 함수 선언을 저장하는 객체
22-
- 구성 요소
23-
- `Environment record`
24-
- 내부 지역 변수, 참조
25-
- `Outer Lexical Environment Reference`
26-
- 전역 환경, 부모 스코프의 lexical environment 를 참조
27-
- [[Closures]]의 원리
2847
- 종류
2948
- Global Context
3049
- 전체 코드 실행 시 생성

content/Computer Science/5 Software Development/Programming Language/JavaScript/Hoisting.md

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,18 @@
22
description:
33
aliases:
44
created: 2025-06-09
5-
modified: 2025-06-10
5+
modified: 2025-06-22
66
---
7-
8-
- 호이스팅은 “선언”만 끌어올려짐, “초기화”는 아니다
9-
- var는 undefined가 되지만 let/const는 접근 자체가 불가능
7+
- 자바스크립트의 실행 컨텍스트에 의한 특징
8+
- 호이스팅은 “선언”만 끌어올려지는 듯한 *현상*, 실제로 끌어올려진 “초기화”가 아니다
9+
- 실행 컨텍스트의 creation phase에서 선언 처리 (undefined로 initialize)
10+
- var는 undefined가 되지만 let/const는 접근 자체가 불가능. ![[Variable Lifecycle#^77b659]]
1011
- ![[Scope#^27f6eb]]
1112
- ![[Scope#^365b67]]
1213
- 코드 블록 내에서만 적용
13-
- Lexical Variable Scoping (구문적인 변수 영역 규칙)
1414
- 함수 선언은 완전히 호이스팅됨, 함수 표현식은 그렇지 않음
15+
- let, const, arrow function도 호이스팅이 되지만 방지하는 방법임
16+
- let, const
17+
- TDZ
18+
- arrow function
19+
- 변수처럼 취급됨으로 undefined
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
- `||`
2+
- 왼쪽 값이 falsy일때 오른쪽 실행
3+
- `??`
4+
- 왼쪽 값이 `null`, `undefined`일때 오른쪽 실행

content/Computer Science/5 Software Development/Programming Language/JavaScript/Promises.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
description:
33
aliases:
44
created: 2025-06-09
5-
modified: 2025-06-09
5+
modified: 2025-06-19
66
---
77

88
- 프라미스 만들기
@@ -29,4 +29,9 @@ modified: 2025-06-09
2929
.then(members => console.log(members))
3030
.catch(err => console.error(
3131
new Error("cannot load members from randomuser.me"));
32-
)
32+
)
33+
- promise 객체 생성
34+
- 리졸브, 리젝트 기다림
35+
- then 메소드 콜백 함수 상위 프로미스 객체의 풀필먼트 함수로 등록
36+
- 리졸브 시 해당 풀필먼트 함수 마이크로태스크큐에 등록
37+
- 프로미스 객체의 풀필먼트 함수 해제

0 commit comments

Comments
 (0)