본문 바로가기

분류 전체보기100

You don't know JS yet(3-2~4) 클로저,this,prototype 클로저 전에 알아야 할 내용🔥 콜 스택(Call Stack)이 뭐냐?자바스크립트 엔진이 함수 실행을 관리하는 공간LIFO(Last In, First Out) 구조 → 마지막에 들어온 함수가 먼저 실행 완료됨함수가 호출될 때 스택에 쌓이고, 실행이 끝나면 스택에서 제거됨⚙️ 콜 스택 동작 방식함수 호출 → 콜 스택에 push(쌓임)함수 실행 완료 → 콜 스택에서 pop(제거)비동기 함수 (setTimeout, fetch 등) → 콜 스택에서 빠지고 Web APIs → Task Queue → Event Loop 통해 실행Heap 영역이 뭐냐?런타임 중에 동적으로 메모리 할당하는 공간크기가 가변적이라 필요할 때 메모리를 할당하고, 필요 없으면 해제됨JS에서 객체(Object)나 함수(Function) 같은 .. 2025. 2. 13.
You don't know JS yet(3-1) 이터레이션 3.1 이터레이션일단 이 개념은 ES6부터 도입 되었다.단어 의미 분석 실제 의미이터러블 (Iterable)Iter(반복) + able(가능)반복할 수 있는 객체 (for문에서 사용 가능)이터레이터 (Iterator)Iter(반복) + or(~하는 것/사람)반복을 수행하는 객체 (next()로 값 꺼내는 역할)이터레이션 (Iteration)Iter(반복) + ation(행위, 과정)반복하는 과정 자체 (for문 실행 과정)💡 즉,이터러블(Iterable) = 반복 가능한 객체이터레이터(Iterator) = 반복을 수행하는 객체이터레이션(Iteration) = 반복 하는 행위, 과정1.이터러블(Iterable) : 반복할 수 있는 객체“반복할 수 있는 객체” , 즉 for...of 문에서 사용할 수 있는.. 2025. 2. 13.
03-3 동기화와 교착 상태 공유 자원프로세스나 스레드가 공유하는 자원공유자원은 메모리나 파일이 될 수도 있고 , 전역변수나 입출력장치가 될 수 있다.임계 구역(Critial Section)하나의 프로세스/스레드만 접근하도록 보호해야 하는 코드 영역경쟁 상태(Race Condition) 를 방지하기 위해 사용된다.경쟁 상태(Race Condition) : 여러 개의 스레드(또는 프로세스)가 공유 자원에 동시에 접근할 때, 실행 순서에 따라 예측하지 못한 결과가 발생하는 문제💡 예제 (파이썬 멀티스레드 환경)import threadingcounter = 0 # 공유 변수def increment(): global counter for _ in range(1000000): counter += 1 # 임계 구역.. 2025. 2. 12.
03-2 프로세스와 스레드 프로세스 vs 스레드 예시 정리항목프로세스 (Process)쓰레드  (Thread)정의실행 중인 프로그램프로세스 내에서 실행되는 작은 작업 단위메모리독립적인 메모리 공간 가짐같은 프로세스 내에서 메모리 공유통신 방식프로세스 간 통신(IPC) 필요 (느림)같은 프로세스 내에서 데이터 공유 가능 (빠름)독립성하나 죽어도 다른 프로세스 영향 없음하나 죽으면 같은 프로세스 내 다른 스레드도 영향받을 수 있음생성 비용무거움 (새로운 메모리 할당 필요)가벼움 (메모리 공유하니까 부담 적음)실제 예시크롬 탭 1개, 포토샵, 게임 실행포토샵의 필터 적용, 게임 내 NPC AI팀 단위 예시한 회사의 각 부서 (독립적, 서로 협업하려면 연락 필요)부서 내의 개별 직원들 (같은 공간에서 빠르게 협업 가능)집 예시여러 가구가.. 2025. 2. 12.
03-1 운영체제 큰그림 운영체제는 특별한 프로그램이다.대표적으로데스크탑 : 윈도우 ,맥OS,리눅스스마트폰 : iOS , 안드로이드등이 있다. 매우 다양한 종류,다양한 기능이 있지만 핵심적인 기능은 비슷하다.커널 : 운영체제의 핵심 기능을 담당하는 부분 (자동차 엔진 같은 곳)운영체제의 두가지 핵심 기능1. 자원 할당 및 관리프로세스와 스레드동기화와 교착 상태2.프로세스 및 스레드 관리 (뒤에 자세히 다룸)프로세스 : 실행중인 프로그램 실행 중인 프로그램의 독립적인 작업 단위로, 자신만의 메모리 공간을 가짐 (OS가 할당) ex ) 크롬의 탭 하나쓰레드 : 이 프로세스를 이루는 실행 단위쓰레드는 같은 프로세스의 메모리를 공유 함.프로세스 A ( 쓰레드 a , 쓰레드 b ~~~)개념하드웨어적 개념 : 한 코어에서 동시에 실행 될 .. 2025. 2. 12.
04.코딩테스트 필수 문법 04.1 빌트인 데이터 타입자바스크립트의 빌트인 데이터 타입은 언어 자체에서 제공하는게 두가지다.원시 타입 (primitive type)참조 타입 (reference type)04.2 참조타입🔹 원시 타입 vs 참조 타입JS의 데이터 타입은 크게 두 가지로 나뉨:원시 타입 (Primitive Type)값 자체를 메모리에 저장함.변수에 값을 직접 할당함.number, string, boolean, undefined, null, symbol, bigint참조 타입 (Reference Type)메모리 주소를 저장하고, 실제 데이터는 **Heap(힙 메모리)**에 저장됨.변수가 값을 직접 저장하는 게 아니라, **메모리 주소(참조값)**를 저장함.object, array, function, date, map,.. 2025. 2. 11.