목록2025/06 (2)
헬창 개발자

Blocking & Non-blocking 이란 무엇일까?동기/비동기에 들어가기 전 먼저 필수적으로 짚고 넘어가야 할 개념이 바로 Blocking 과 Non-blocking 개념입니다. 이 부분은 관점을 제어로 바라보는 부분입니다. CPU에 대한 제어권을 넘겨주지 않는다면 Blocking 이며, 넘겨준다면 Non-blocking 입니다.보통 이 Non-blocking을 수행할 때는 I/O를 빼먹을 수 없는데요. 이것이 대표적인 Non-blocking의 사례이기 때문입니다. I/O 처리는 굉장히 무겁고 시간이 걸리는 작업이기 때문에, 이를 요청했던 작업이 이 I/O처리가 다 될때까지 기다리는 것이 굉장히 비효율적이게 됩니다. 그래서 Non-blocking으로 I/O 처리를 해주어 작업을 계속하다가 커널 영..

Submodule과 Subtree를 활용한 외부 종속성 관리 및 프로젝트 통합이 문서에서는 Submodule과 Subtree를 활용하여 외부 종속성의 코드를 안정적으로 관리하고, 이를 프로젝트에 효과적으로 통합하는 방법을 다룹니다.1. Submodule목적하나 이상의 외부 저장소를 현재 저장소에 링크 형태로 포함시키기 위해 사용예: 프로젝트 A 안에 외부 저장소 B를 독립적인 버전 상태로 포함 가능작동 방식부모 저장소는 서브모듈이라 불리는 외부 저장소에 대한 참조(링크)만 유지서브모듈은 독립적인 Git 저장소로 관리되며, 별도의 .git 디렉토리를 가짐부모 저장소는 서브모듈의 특정 커밋 해시만 기록함2. Subtree목적외부 저장소의 코드를 현재 저장소에 복사하여 포함시키기 위해 사용하나의 Git 저장소..