[FE] 프론트엔드 서비스 최적화? 토스에서는 이렇게 합니다! - 정리

2025. 3. 9. 14:57·IT/Front-End
  • 하면 좋을 것 같은데? 싶을 땐 하지마라!
  • 해야 될 것 같으면 한 번만 더 생각해라!
  • 이제 진짜 해야 된다 싶으면 프로파일링(측정)부터 시작하자.
  • 그래도 토스에서 성능 최적화 시점이 좀 늦는 것 같기는 하다고 한다. by 토스 프론트 리드
  • 개발자들은 늘 최적의 환경에서 테스트하기 때문에 실제로 불편함을 느끼는 사용자들을 발견하고 나서야 대처하게 된다.
  • 세상 모든 것은 트레이드오프가 있다.
  • ⇒ 최적화를 위해 시간을 줄였다면 어떤 것을 희생했다는 뜻

프론트 최적화의 2가지 측면

  1. 초기 로딩 속도가 빠른 것
  2. 런타임에서 반응성이 빠르고 좋음

초기 로딩 속도가 느린 이유

  1. 대역폭
  2. 지연 시간
  3. 자바스크립트 실행 시간

1. 대역폭

대역폭 : 쌀가마니를 옮기는 트럭의 숫자

2. 지연시간

  • 지연시간 : 쌀가마니를 옭기는 트럭의 속도
  • 캐싱 활용
  • 이동할 것 같은 페이지 프리페치
  • 적절히 번들 쪼개기

런타임에서 반응성

  • 최초 로딩보다는 로딩 이후 반응이 빠르고 좋아야함
  • 어떻게 런타임 성능을 측정할 것인가
    • FPS
    • 상태 변화 시 얼마나 많은 렌더링이 일어나는가?
  • 드래그앤드랍 시 60프레임을 유지하는가? 등의 기준을 세움
  • 실제 동작 시간이 더 오래 걸리더라도 반응성이 좋으면 사용자는 성능이 좋다고 느낌 ⇒ 사용자를 속이기
  • 메모를 사용해서 리렌더링을 최적화하더라도, 한 컴포넌트에 여전히 많은 컴포넌트가 포함되어 있으면 한 번의 렌더링에도 많은 연쇄적인 일이 발생한다.
  • ⇒ 꼭 필요한 부분만 리렌더링되도록 함

'IT > Front-End' 카테고리의 다른 글

[React] useWebNotification  (0) 2025.04.19
[React] useOnClickOutside  (0) 2025.03.25
[FE] 번들 다이어트에 대한 타사 사례 조사  (0) 2025.03.01
[FE] flex 팀의 마이크로 프론트엔드 전환기 - 정리  (0) 2025.03.01
[FE] 섬세한 ISFP의 코드 가독성 개선 경험 - 정리  (1) 2025.02.24
'IT/Front-End' 카테고리의 다른 글
  • [React] useWebNotification
  • [React] useOnClickOutside
  • [FE] 번들 다이어트에 대한 타사 사례 조사
  • [FE] flex 팀의 마이크로 프론트엔드 전환기 - 정리
KimCookieYa
KimCookieYa
무엇이 나를 살아있게 만드는가
  • KimCookieYa
    쿠키의 주저리
    KimCookieYa
  • 전체
    오늘
    어제
    • 분류 전체보기 (574) N
      • 혼잣말 (88) N
      • TIL (2)
      • 커리어 (24)
        • Sendy (21)
        • 외부활동 기록 (2)
      • 프로젝트 (186)
        • 티스토리 API (5)
        • 코드프레소 체험단 (89)
        • Web3 (3)
        • Pint OS (16)
        • 나만무 (14)
        • 대회 (6)
        • 정글 FE 스터디 (16)
        • MailBadara (12)
        • github.io (1)
        • 인공지능 동아리, AID (5)
        • 졸업과제 (18)
        • OSSCA 2024 (1)
      • 크래프톤 정글 2기 (80)
      • IT (168) N
        • 코딩 (4)
        • CS (18)
        • 에러 (5)
        • 블록체인 (23)
        • Front-End (39) N
        • 알고리즘&자료구조 정리 (3)
        • 코딩테스트 (3)
        • BOJ 문제정리 (41)
        • WILT (12)
        • ML-Agents (4)
        • 강화학습 (1)
        • Android (0)
        • LLM (2)
      • 전공 (1)
        • 머신러닝 (1)
      • 자기계발 (20)
        • 빡공단X베어유 (2)
        • 독서 (15)
  • 블로그 메뉴

    • 홈
    • 방명록
    • Github
    • Velog
    • 관리
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    나만무
    알고리즘
    니어프로토콜
    블록체인
    RNN
    pintos
    JavaScript
    NEAR Protocol
    핀토스
    OS
    글리치해커톤
    코드프레소
    센디
    docker
    react
    자바스크립트
    프로그래머스
    딥러닝
    사이드프로젝트
    MailBadara
    부산대
    해커톤
    파이썬
    크래프톤정글
    졸업과제
    Pint OS
    Flutter
    머신러닝
    numpy
    리액트
  • hELLO· Designed By정상우.v4.10.3
KimCookieYa
[FE] 프론트엔드 서비스 최적화? 토스에서는 이렇게 합니다! - 정리
상단으로

티스토리툴바