2025/02 4

[42장] 비동기 프로그래밍 (2)

- 목표자바스크립트 엔진이벤트 루프, 태스크 큐정리📝 자바스크립트 엔진자바스크립트 엔진은 싱글 스레드 방식으로 동작한다. 이때 싱글 스레드 방식으로 동작하는 것은 브라우저가 아닌 브라우저에 내장된 자바스크립트 엔진이라는 것에 주의해야한다. 만약에 모든 자바스크립트 코드가 싱글스레드로 동작한다면 자바스크립트는 비동기로 동작할 수 없다. 즉, 엔진은 싱글스레드로 동작하지만, 브라우저는 멀티 스레드로 동작한다.자바스크립트의 엔진(V8) 은 위 그림과 같이 크게 2개의 영역으로 구분된다.- Call Stack  : 소스 코드 평가 과정에서 생성된 실행 컨텍스트가 추가되고 제거되는 스택 자료 구조인 실행 컨텍스트 스택- Heap : 객체가 저장되는 메모리 공간이처럼 콜 스택과 힙으로 구성된 자바스크립트 엔진은..

[알고리즘] 백준 15992 1, 2, 3 더하기 7

📖문제1, 2, 3 더하기 7❓구상이 문제는 "1, 2, 3 더하기" 문제 시리즈중 7번째 문제다. 앞서 풀어본 "1, 2, 3 더하기" 문제는 모두 Dynamic Programming 알고리즘 유형이였기 때문에 비슷하게 접근을 해보려했다. 하지만, 여태 풀어본 DP 문제는 피보나치수열처럼 단순히 N번째의 DP 값을 구하면 되는 문제였는데 이 문제 같은 경우는 T개의 테스트 케이스개수가 주어지고, 그 아래로 T개의 n, m 의 쌍이 있다. 즉, 여태 풀어본 DP 문제는 n 과 m 이 주어지는게 아닌 n 이 주어져서 n번째 DP 값을 구하면 되는 문제였는데, 이번에는 1, 2 ,3 을 이용해 만들 수 있는 n의 갯수 + 1, 2, 3 숫자 m 개를 사용해서 n이 되도록 하는 문제인것이다. 어떻게 접근하면..

Algorithm 2025.02.20

[42장] 비동기 프로그래밍 (1)

자바스크립트 엔진은 싱글 스레드 방식으로 동작한다.즉, 한번에 하나의 task 만을 처리할 수 있다.싱글 스레드로 동작하는 것은안정성과단순함을 갖는 대신성능적 한계가 있을 수 있다.이러한 문제를 다루는 내용이 동기 프로그래밍과 비동기 프로그래밍이다.- 목표동기 비동기📝 동기 실행 컨텍스트 스택에 실행 컨텍스트가 여러개 있으면 FILO(First In Last Out) 구조로 컨텍스트가 실행되고 스택에서 POP 되어 제거 되기 전 까지는 실행 컨텍스트 아래의 다른 실행 컨텍스트는 실행되지 않고 task 가 대기하는 방식이다.const first = () => { console.log('First Func...');}const second = () => { console.log('Second Func..

[기술면접] ES6 이후 변경점

📘 ES6 ES6(ECMAScript 2015)는 JavaScript의 주요 업데이트 중 하나로, 코드의 가독성과 효율성을 높이기 위해 여러 새로운 기능이 추가된 JavaScript 표준이다.📋 ES6(ECMAScript2015) 주요 변경점const, letarrow functionTemplate LiteralsclassmoduleDestructuringDefault Parametersspread operator & Rest parameterPromiseSymbol⁉️ const, letvar의 자유로운 사용을 let과 const는 일부 억제함으로 보다 오류 컨트롤이 수월해졌다.var, let, const 세가지 모두 자바스크립트 엔진이 코드를 실행하기 전 실행컨텍스트를 생성하면서 메모리에 변수 및..