-
이론 정리 - < 컨텍스트 스위치는 누가 일으키는가 > TOP NEW
개요 선점형 스케줄링의 출발점이 하드웨어 타이머 인터럽트라는 설명을 듣다가 거꾸로 생각해봤다. 그럼 유저 코드가 인터럽트를 꺼버리면? 타이머가 울려도 CPU가 안 받으니 커널은 CPU를 되찾을 방법이 없다. 무한 루프 하나로 선점형 스케줄링이 무력화된다. 그러니 인터럽트를 끄는 명령은 유저 모드에서 실행할 수 없게 막아야 한다 — 이게 특권 명령어였다. 특권 명령어가 왜 있어야 하는지를 선점 쪽에서 거꾸로 추론해서 도착했다. 프로세스, 스레드, 그리고 가상 메모리 6절에서는 컨텍스트 스위치가 왜 비싼가를 봤고, 스레드를 몇 개 둘 것인가의 “다음으로 볼 것”에 컨텍스트 스위치를 유발하는 주체를 적어뒀... Read More
-
Python - < 10 > TOP NEW
개요 힙을 배열에 1번부터 담으면 인덱스를 이진수로 쓴 것만으로 루트에서 그 노드까지 가는 길이 나온다. i >> 1이면 부모로 한 칸 올라가고, 맨 앞 1을 뺀 나머지 비트를 읽으면 왼쪽·오른쪽 순서가 된다. 오늘 배운 것 중에 이게 제일 신기했다! 마지막에 푼 힙 문제도 이 >> 1로 부모를 따라 올라가는 풀이였는데, 정작 틀린 곳은 올라가는 루프가 아니라 힙을 만드는 방식이었다. 수업은 트리 BFS에서 시작해 이진 탐색 트리( BST ), 힙 순서로 나갔고, 강의 뒤에는 AI가 던지는 질문에 답하면서 이해한 걸 확인했다. Python - < 9 >의 Prim에서 쓰던 he... Read More
-
C# - <4> TOP NEW
개요 C# - <1>에 struct와 class의 차이를 이렇게 적어둔 적이 있다. 구조체는 값 타입으로 스택 메모리에 생성되고, 클래스는 참조 타입으로 힙 메모리에 생성됨 struct를 인터페이스로 넘길 때 왜 박싱이 생기는지 파고들다가, 이 문장의 기준부터 틀렸다는 걸 알게 됐다.. 클래스 필드에 들어간 struct는 힙에 있다. C# - <3>에서는 박싱이 “성능에 영향을 미칠 수 있다”고만 적고 넘어갔는데, 이번엔 그 뒤를 따라가 봤다. 값형의 기준: 스택/힙이 아니라 값이 그 자리에 있는가 박싱이 필요한 이유: 인터페이스 호출은 실행 중에 타입을 물어야 하는데... Read More
-
Python - < 9 > TOP NEW
개요 오늘 과제로 받은 벽돌 깨기는 버그 하나를 고치면 다음 버그가 나왔다.. 그렇게 고친 게 여섯 개였고, 제일 오래 붙잡은 건 중력 처리에서 난 무한루프였다. 그중 하나가 보드 복사였다. Python - < 8 >의 숫자 만들기에서도 분기마다 copy()로 넘겼는데, 2차원 보드에서는 얕은 복사라 다른 분기의 보드까지 같이 지워졌다. 수업은 오전에 서로소 집합, 오후에 최소 신장 트리를 배웠고, 강의가 끝난 뒤 AI가 던지는 질문에 답하면서 이해한 걸 확인했다. 사이클은 이론 정리 - < 이진 탐색, BST, 그래프 탐색 >에서 visited로 피해 다니던 대상이었는데, Kruskal은... Read More
-
Python - < 8 > TOP NEW
개요 -7 // 3은 -2일까, -3일까? Python에서는 -3이다. 이 한 줄 때문에 탐색 로직은 멀쩡한데 숫자 만들기를 틀렸었다.. 오늘 푼 세 문제와 정리한 핵심 개념들 SWEA 1231 중위순회: 자식이 하나면 왜 왼쪽인가, 답은 입력 순서가 아니라 완전 이진 트리 SWEA 4871 그래프 경로: 트리엔 없던 visited, 그리고 인접 행렬이 생각보다 느린 이유 SWEA 4008 숫자 만들기: // 한 줄짜리 오답과 Python이 일부러 내림을 고른 이유 그래프 경로의 visited는 이론 정리 - < 이진 탐색, BST, 그래프 탐색 >에서 사이클 때문에 필요하다고 정... Read More
-
Jev 게임 기획 - < 1 > TOP NEW
개요 2026년 9월 15일, 판단 전용 AI 모델 Jev가 공개됐다. 실시간으로 반응할 수 있을 만큼 빠르고 토큰도 적게 든다는 소개를 보고, 이걸로 게임을 만들어보고 싶어졌고, 이전에 같이 프로젝트를 진행한 팀원과의 기획 과정을 작성해보려 한다. 기획하면서 계속 붙잡고 있던 질문은 하나였다. 이거, Jev 말고 if 분기로도 되지 않나? 이 질문으로 아이디어를 열 개 넘게 버리고 나서야 팀 기획이 살아있는 광물 채굴 멀티 게임으로 정리됐다. 그 과정을 적어보겠다! Jev는 어떤 모델인가 Jev는 TypeSafe AI가 2026년 9월 15일에 공개한 모델이다. 텍스트를 생성하지 않고, 상태(텍... Read More
-
이론 정리 - < 뮤텍스와 세마포어 > TOP NEW
-
이론 정리 - < 스레드를 몇 개 둘 것인가 > TOP NEW
개요 앞 편은 아래로 내려가는 방향이었다. 페이지 테이블, TLB, 권한 비트, Copy-on-Write까지 갔다. 이번 편은 그 위에 올라서서 판단하는 쪽이다. 요청이 10,000개 들어오는 서버에 스레드를 10,000개 띄우면 무엇이 먼저 무너지는가 이 질문에 RAM이라고 답했다가 걸렸다. 그리고 걸린 지점이 계산 실수가 아니라 숫자의 종류를 잘못 읽은 것이었다. 8MB × 1,000 = 8GB라는 계산은 맞는데, 그 8GB가 RAM 8GB가 아니다. 이번 편은 그 구분에서 시작해서 동시성 모델, 스레드 하나가 죽으면 프로세스가 죽는 이유, 그리고 Unity가 워커 스레드의 API 호출을 막는 이... Read More