단로그

천천히, 꾸준히 기록하는 개발 블로그

개발과 관련된 코드, 생각 등의 기록을 공유하는 개인 블로그입니다.

단로그 — x의-피드-성능과-스크롤-복원.md
---
title: "X의 피드 성능과 스크롤 복원 따라잡기 (1)"
date: 2026-07-02
tags: [Performance]
---

<Video src="https://i.imgur.com/5xpqaqV.mp4" client:visible />

> 예제 코드는 Claude Code로 작성하여 [stackblitz](https://stackblitz.com/~/github.com/geonhwiii/x-feed-scroll-restoration-example?file=src/components/Feed.tsx)에서 확인할 수 있습니다.

`X.com`을 둘러보다보니 피드를 수천개를 보아도 성능이 뛰어나고, 돌아와도 스크롤 위치가 부드럽게 복원되는 것을 보았습니다. 여기서 궁금한 포인트는 3가지가 있습니다.

1. 수만개의 피드를 보여도 뛰어난 피드의 성능
2. 돌아와도 스크롤 위치가 부드럽게 복원되는 이유
3. 피드의 높이가 모두 다른데 스크롤 위치가 정확히 복원되는 방법

직접 X의 HTML을 살펴보며 알아보도록 하겠습니다.

<br />

자주 다루는 주제

ReactTypeScriptReact QueryArchitectureToolingJournal

함께 일한 동료들이 전하는 이야기.

찰리 브라운프론트엔드 개발자 · 팀 동료
“열정적으로 업무에 대해 탐구하고 의견을 제안합니다. 항상 수용적인 태도로 상대방의 의견을 받아주고, 본인의 주장도 상대방을 생각하는 태도로 잘 전달할 줄 아는 장점이 있습니다.”
마시앱 개발자 · 팀 동료
“확실한 의사 표현과 빠른 작업 속도가 강점입니다. 또 트렌드, 인사이트를 많이 찾아보고 팀에 공유도 많이 해주시는 편이라 건휘님이 관심을 갖고 있는 기술적 영역과, 적용해볼 수 있는 다양한 작업들까지 아이디어를 확장해볼 수 있어 많은 도움이 됩니다.”
프랭클린QA 엔지니어 · 동료
“주어진 과업에 최선을 다하며, 믿고 맡길 수 있는 동료입니다. 문제를 만날때 해결 할 수 있는 여러가지 아이디어를 제시하는 점이 큰 장점입니다.”
스누피백엔드 개발자 · 동료
“책임감이 강해서 누구보다 업무 집중도가 뛰어납니다. 본인이 만든 작업물에 큰 애정이 있어서 지치지 않고 즐기며 일하는 모습을 보일 때가 있습니다.”
바이올렛프론트엔드 교육 · 동료
“디스코드에 생각을 공유해 주시는 걸 보면, 지속적으로 본인만의 고민을 이어나가고 그걸 해결하고자 하는 의지가 뛰어난 분이라고 생각했어요.”
페퍼민트 패티프론트엔드 교육 · 동료
“배운 것들을 금방 업무에 적용해보고, 그게 좋은 방법이든 안좋은 방법이든 스스로 근거를 세워보고, 피드백 받고, 반영하고 이런 과정들이 빠르게 진행되는 모습이 좋았던 것 같아요.”
슈로더프론트엔드 교육 · 코치
“꾸준히 최선을 다해 작성하신 코드를 들고 와서 깨지고, 그러고 나서 다시 들고와서 깨지고를 반복하시는 모습이 인상적이었습니다”
라이너스 반 펠트프로덕트 디자이너 · 동료
“작업 속도도 빠르고 많은 아이디어를 가지고 있어 타 직무에서도 건휘님을 통해 많은 인사이트를 얻고 있습니다. 그리고 누구보다 우리 서비스를 '잘' 만들고자 하는 의지가 강하고, 상황을 객관적으로 판단하려는 모습이 보입니다”
샐리 브라운프론트엔드 교육 · 동료
“본인의 감정 상태를 가감없이 드러내고 늘 질문을 이끌어가는 건휘님 보면서 많이 배웠습니다! 어디 가서도 좋은 리더가 되실 거에요”
ReactTypeScriptNext.jsReact Queryzodtailwindcss