본문으로 건너뛰기
yceffort
PostsSeriesTagsAbout🧪 Research
EN

Tweaks

theme
accent palette
film grain
minimal mode
mailMail icongithubtwitter
yceffort
•
© 2026
•
https://yceffort.kr
LIVE · SEOUL · 2026

GRIND.LEARN,REPEAT.

A blog by yceffort, a frontend engineer taking software apart to see how it works: framework internals, performance, and lessons from production.

332posts051tags09ywriting
06 ITEMS

Popular this season

hover · tilt · open
◆ 인기 포스트
#kubernetes#devops

프론트엔드 개발자를 위한 쿠버네티스 개념 지도: 파드에서 오토스케일러까지

2026-08-05·40분
◆ 인기 포스트
#essay#ai#design-patterns

프론트엔드는 어디서 왔고, 에이전트 이후 어디로 가는가

2026-07-22·34분
◆ 인기 포스트
#ai#essay#career

코드를 읽거나 설명할 줄 몰라도, 스펙을 만족하고 버그를 고칠 수 있다면 상관없을까

2026-06-12·41분
◆ 인기 포스트
#browser#design-patterns#css

여러 웹뷰에서 하나의 웹 운영하기: 환경 분기를 어댑터로 모은 과정

2026-09-09·44분
◆ 인기 포스트
#book#ai#career

『남은 판단은 누가 배우는가』 베타리더를 모십니다

2026-09-09·9분
◆ 인기 시리즈

AI 시대의 판단

3편의 글·2026-06-21 업데이트
09 ITEMS

Series one thread

view all →
01

coldpath 제작기

03 POSTS· 2026
coldpath의 제작 동기와 V8 커버리지 분석 구현, 소스맵 없이 토스증권의 JavaScript 의존성을 추적한 과정을 다룬다.
2026-09-26마지막 업데이트
02

블로그 성능 개선하기

03 POSTS· 2026
다른 사이트가 아니라 이 블로그를 직접 고쳐가며 남긴 실측 기록. 스타일 전송량, 빌드 시간, 렌더를 막는 자원을 하나씩 붙잡고 전후를 같은 조건에서 재봤다
2026-09-14마지막 업데이트
03

서비스 워커 캐싱 딥다이브

03 POSTS· 2026
『프런트엔드 성능 최적화 Deep Dive』의 캐시 장에서 못 다한 세 번째 캐시 레이어. 프록시와 라이프사이클과 전략의 일반론부터, Next.js 블로그에 직접 적용하고 GA4로 실측한 기록까지
2026-08-28마지막 업데이트
04

OG 스크래핑 서버 설계 노트

02 POSTS· 2026
링크 미리보기 서버를 짓는다면 무엇을 먼저 정해야 하는가. 런타임 선택의 근거부터 SSRF, 인코딩, 캐시 스탬피드까지 원리로 따라가고, 그렇게 쓴 코드를 전부 돌려본 기록
2026-08-22마지막 업데이트
05

프론트엔드 개발자가 알아야 할 쿠버네티스

06 POSTS· 2026
SSR을 운영하는 프론트엔드 개발자가 쿠버네티스를 블랙박스로 두지 않기 위해, kind 클러스터에서 직접 열어보고 실측한 기록
2026-08-10마지막 업데이트
08 ITEMS

Recent

latest writing
01

떠난 페이지는 죽지 않고 숨는다: Next.js cacheComponents와 React Activity

#nextjs#react#debugging
Next.js 16의 cacheComponents는 떠난 페이지를 언마운트하지 않고 React Activity로 숨긴다. 하얗게 빈 three.js 캔버스를 따라 라우터, React, react-three-fiber의 소스를 읽고 브라우저에서 재현했다.
2026-09-2658분 · read
02

소스맵 없이 토스증권의 JavaScript 추적해보기

#debugging#web-performance
추석맞이 뻘짓 대작전 3탄: 사랑해요 토스증권
2026-09-2641분 · read
03

V8 커버리지와 소스맵으로 번들 분석기 만들기

#web-performance#bundler#debugging
추석맞이 뻘짓 대작전 2탄: 여러차례 삽질에 막힌 V8 커버리지 분석기 제작기.
2026-09-2240분 · read
04

블로그의 JavaScript가 언제 실행되는지 추적해보기

#web-performance#bundler#blogging
추석맞이 뻘짓 대작전 1탄: 내 블로그 부터 살펴보기
2026-09-2232분 · read
05

실행하지 않는 JavaScript를 10MiB까지 늘려봤다

#web-performance#javascript#browser
호출하지 않는 함수가 10MiB 들어 있으면 얼마나 손해일까. 바이트가 만든 비용과 코드 형태가 만든 비용을 갈라 855회 측정했다. 미호출 선언은 MiB당 약 21ms로 CPU를 4배 늦춰도 늘지 않았고, 파일을 읽자마자 실행되는 초기화 코드는 MiB당 201ms를 메인 스레드에 얹었다. 실제 라이브러리에서는 import만 해도 모듈 평가가 실행됐다.
2026-09-1654분 · read
06

블로그를 고친 뒤 첫 화면을 다시 재봤다

#web-performance#blogging#debugging
블로그 마이그레이션 뒤 수식 글 LCP가 5.6초로 늘어난 원인을 추적했다. 일반 웹 글꼴을 실제 코드에서 제거하고 다시 빌드하자 수식 글 LCP는 5,650ms에서 2,352ms, FCP는 1,514ms에서 758ms로 줄었다. LCP 대상은 본문 문단에서 배너로 바뀌었다. 수식 전용 글꼴은 쓰는 글리프만 남긴 서브셋으로 바꿔 334KiB에서 26KiB가 됐다. 최초 비교 48회, 원인 대조 15회, 수정 전후 24회, 서브셋 전후 8회의 결과를 기록했다.
2026-09-1444분 · read
07

블로그의 마크다운 파이프라인을 Rust/WASM으로 옮기기

#rust#markdown#blogging
블로그의 remark/rehype 체인을 Rust로 옮기고 WASM으로 빌드해 Next.js 서버에 붙였다. 파싱과 HAST 생성에 이어 Oniguruma 하이라이트, MathML 수식, 이미지 크기와 MDX 속성 처리까지 한 호출로 묶었다. 메모리 전달과 해제, 기존 글의 호환성, WASI와 바이너리 배포를 구성하며 얻은 것과 감수한 비용을 기록했다.
2026-09-1461분 · read
08

Tailwind를 StyleX로 옮기며 다시 따져본 성능

#css#web-performance#blogging
블로그의 Tailwind 4를 StyleX로 옮겼다. 유틸리티만 옮긴 중간 상태에서는 CSS와 FCP가 줄었지만 전체 전송량은 늘었다. 전환 범위를 넓히자 홈 FCP가 59% 느려졌고, 작성 방식을 고친 뒤에도 격차가 남았다. 마지막 개선은 KaTeX 조건부 로딩과 본문 CSS 분리에서 나왔다. CSS 크기와 전체 전송량, 페인트 지표를 따로 비교한 기록이다. 블로그 성능 개선하기 시리즈의 첫 편이다.
2026-09-1451분 · read