Skip to content

Docs: CS 공부 시리즈 2편 추가 (Big-O · React diffing) - #4

Merged
heum2 merged 2 commits into
mainfrom
docs/cs-study-series
Aug 7, 2026
Merged

heum2 merged 2 commits into
mainfrom
docs/cs-study-series

Conversation

@heum2

@heum2 heum2 commented Aug 7, 2026

Copy link
Copy Markdown
Owner

무엇을

CS 공부 시리즈로 포스트 2편을 추가했습니다. 시간복잡도에서 출발해 React 내부 동작까지 이어지는 한 흐름입니다.

  • 1편 posts/cs/1-big-o-set-refactoring.mdx — 중복 검사 함수를 O(n²)에서 O(n)으로
  • 2편 posts/cs/2-react-key-diffing-fiber.mdx — React는 왜 key를 요구할까 (diffing부터 Fiber까지)

왜

기존 포스트는 대부분 트러블슈팅 기록인데, 이번 건은 학습 정리 성격이라 별도 시리즈(series: "CS 공부")로 묶었습니다. 1편의 "O(1)로 조회하는 자료구조" 아이디어가 2편의 key 매칭으로 이어지도록 구성했습니다.

리뷰어가 알면 좋은 것

파일 배치 — 시리즈 단위로 묶는 기존 방식(posts/es6/, posts/2019/)을 따라 posts/cs/에 번호 접두사로 두었습니다.

날짜 — 두 편 모두 08-07 작성이지만, 목록 정렬이 date 내림차순이라 같은 날짜면 순서가 파일 읽기 순서에 좌우됩니다. 시리즈가 갈라지지 않도록 시각으로 구분했습니다 (1편 09:00, 2편 10:00 KST). 표시 포맷이 yy.MM.d라 화면에는 둘 다 26.08.7로 나옵니다.

썸네일 — 기존 썸네일과 같은 규격(798×533)·팔레트로 맞췄습니다.

검증

  • contentlayer2 build 통과 (32개 문서, 기존 경고 7건 외 신규 없음)
  • dev 서버에서 두 페이지 200, 표·코드 하이라이팅·헤딩 앵커·시리즈 라벨·상호 링크 정상
  • 썸네일 이미지 200, OG 태그에 절대경로로 반영
  • 홈 목록에서 2편 → 1편 순으로 인접 노출 확인

heum2 added 2 commits August 7, 2026 16:14
이중 루프 중복 검사를 Set으로 바꾸며 O(n²)에서 O(n)으로 줄이는 과정 정리. Set을 통째로 만들었을 때 항상 true가 되는 함정과 Set.has가 O(1)인 근거 포함.
리스트 렌더링에서 key가 필요한 이유를 훑기와 짝짓기의 구분에서 출발해 정리. index를 key로 쓸 때 짝짓기가 밀리는 과정, props 속성 단위 비교, O(n³)를 O(n)으로 낮춘 두 휴리스틱, Fiber의 중단·재개 구조까지 다룸.
@vercel

vercel Bot commented Aug 7, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
heum2-dev Ready Ready Preview Aug 7, 2026 7:15am

@heum2
heum2 merged commit 4d3ee65 into main Aug 7, 2026
3 checks passed
@heum2
heum2 deleted the docs/cs-study-series branch August 7, 2026 07:26

This branch was successfully deployed

1 active deployment
Preview — 015477c7 Deployed Aug 7, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant