# 토스증권 분석의 나머지 개선 후보

[소스맵 없이 토스증권의 JavaScript 추적해보기](/2026/09/tracing-third-party-javascript-without-sourcemaps)의 "내 프로젝트였다면 검토할 변경"에서 본문에 요약만 남긴 후보의 자세한 분석이다. 모듈 ID와 경로는 2026년 9월 26일에 받은 빌드(`_next/static/LCgFIQwFsag3GrRgpJus7`) 기준이며, 원본 소스를 보지 못한 상태에서 생성 코드와 복원한 그래프로 세운 가설이다.

| 후보 | 바꾸는 import | 초기 HTML 진입점 기준 | 관찰된 전체 진입점 기준 |
| --- | --- | ---: | ---: |
| M. 댓글 컴포넌트 지연 로딩 | `54017`을 import하는 5곳 | 546.0KB, 170개 | 51.9KB, 32개 |
| A. 계좌 개설 모달 지연 로딩 | `75808`을 import하는 3곳 | 132.2KB, 13개 | 132.2KB, 13개 |
| F. framer-motion 추정 모듈 | `25134`를 import하는 2곳 | 95.0KB, 1개 | 95.0KB, 1개 |
| G. gsap 추정 모듈 | `63575`를 import하는 2곳 | 86.4KB, 1개 | 86.4KB, 1개 |

두 기준과 표의 한계는 본문과 같다. 그래프 도달성으로 계산한 상한에 가까운 추정이며, 원본을 고쳐 다시 빌드해 확인한 값이 아니다.

**M. 댓글 컴포넌트 지연 로딩.** 패널 안의 댓글 탭이나 피드의 댓글 목록을 보일 때 불러오는 방식이다. 초기 HTML 진입점 기준 546.0KB에는 에디터가 포함된다. E를 먼저 하면 M에서 추가로 얻는 것은 댓글 컴포넌트 자체와 그 의존성 정도다. 댓글은 여러 화면에 보이므로 지연 로딩이 레이아웃 이동을 만들 수 있다는 점도 고려해야 한다.

**A. 계좌 개설 모달 지연 로딩.** 앱 루트 `59041`이 쓰는 훅 `10263`은 `50174`의 `initOpenAccount`를 부르고, 이 함수는 오버레이를 열어 `75808`의 `D`를 렌더링한다. `initOpenAccount`는 이미 `async function`이다. 모달 모듈을 함수 안에서 `await import()`로 불러오도록 바꾸기 쉬운 구조로 보인다. 같은 모달을 사이드바 `75745`와 `34911`도 쓰므로 세 곳을 함께 바꿔야 한다. 효과는 두 기준 모두 132.2KB이고, 첫 진입에서 이 중 29.9KB가 실행됐다. 실행된 부분은 모듈 평가 시의 최상위 코드일 가능성이 높다. 계좌가 없는 사용자가 특정 설정을 열 때만 필요한 모달이라는 해석은 `59041`의 호출 조건(`hasAccount`와 `open-settings` 쿼리)에서 추정한 것이다.

**F, G. 애니메이션 라이브러리.** framer-motion으로 추정된 `25134`와 gsap으로 추정된 `63575`는 각각 95.0KB, 86.4KB이고 첫 진입에서 일부가 실행됐다. `63575`는 알림 대화상자의 콘텐츠 컴포넌트 `66610`이 열림 애니메이션에 쓴다. 대화상자가 열릴 때 필요한 코드이므로 지연 로딩하면 처음 열 때 애니메이션이 늦을 수 있다. 첫 화면에서 실행된 부분이 무엇인지 먼저 확인해야 하고, 효과 대비 위험은 E나 A보다 크다고 본다. 두 이름 모두 모델의 추정이다.

**P. 링크 미리 받기 범위 조정.** H와 O가 관찰된 전체 진입점 기준에서 효과가 없던 이유는 미리 받기였다. 첫 진입에서 미리 받은 파일은 33개, 1,556.0KB였고, 그중 1,258.9KB는 실행되지 않았다. 자주 이동하지 않는 링크에 `prefetch={false}`를 주거나 뷰포트 진입 대신 마우스를 올릴 때 받도록 바꾸면 첫 방문의 전송량과 유휴 시간 평가가 줄어든다. 대가는 해당 페이지로 이동할 때의 대기다. 어떤 링크를 미리 받을지는 실제 이동 비율을 알아야 정할 수 있고, 이번 기록에는 그 정보가 없다.
