자료구조
스택, 큐와 힙이 문제를 푸는 방식을 이해합니다.
GROUND · 6 ARTICLES
프레임워크가 바뀌어도 남는 컴퓨터의 기본 원리를 다룹니다. 자료구조, 프로세스와 메모리, 동시성과 분산 시스템의 개념을 코드가 동작하는 모습과 연결합니다.
주제 지도
스택, 큐와 힙이 문제를 푸는 방식을 이해합니다.
프로세스와 스레드가 자원을 나누는 원리를 봅니다.
스택과 힙을 프로그램 실행 흐름으로 연결합니다.
동시성, 병렬성과 멱등성의 경계를 구분합니다.
처음 읽기
기초 개념에서 다음 단계로 자연스럽게 이어지는 글을 골랐습니다.
메모리의 스택은 함수 호출과 함께 정리되고 힙은 동적 수명과 크기를 지원합니다. 두 할당 영역의 비용, Swift 값·참조 타입의 실제 배치와 자료구조 Stack·Heap과의 차이를 정리합니다.
읽어보기작업 관리자를 열면 프로세스 목록이 보이고 개발 문서를 읽다 보면 스레드 얘기가 나옵니다. 둘 다 "실행되는 무언가"인 것 같은데, 정확히 뭐가 다른 걸까요.
읽어보기자료구조 힙은 메모리 힙과 이름만 같습니다. 전체를 정렬하지 않고 최솟값만 빠르게 꺼내는 힙의 규칙과 배열로 트리를 표현하는 인덱스 계산, 우선순위 큐가 실무에서 서 있는 자리를 정리했습니다.
읽어보기전체 글
멱등성은 같은 요청을 여러 번 보내도 결과가 같은 성질입니다. 네트워크 실패와 재시도 때문에 필요한 이유, GET·PUT·DELETE와 POST의 차이, 멱등성 키(Idempotency-Key) 구현까지 정리했습니다.
읽어보기동시성은 여러 작업을 번갈아 다루는 구조의 문제이고, 병렬성은 같은 순간에 실행되는 하드웨어의 문제입니다. 싱글코어에서도 동시성이 성립하는 이유와 Swift Concurrency라는 이름의 의미를 정리했습니다.
읽어보기스택은 LIFO, 큐는 FIFO 순서로 데이터를 꺼내는 자료구조입니다. Swift에 전용 Stack 타입이 없는 이유, Array로 구현하는 법과 Queue에서 removeFirst가 만드는 성능 함정을 정리합니다.
읽어보기