웹팩 사용/ html 작성할 때 불필요한 div 사용x / css 최적화 (리플로우 / 리페인트) / 이미지 최적화 (지연로딩-picture, img / 스프라이트 이미지 사용) / 검색엔진최적화 / CDN / 파일 수 줄이기 / 라이브러리 의존도 낮추기 /css는 상단, js는 하단에 배치 등 엄청 많은 방법이 있는데
최대한 적게 리플로우를 발생시키면서 빠르게 화면을 그리는 것
리플로우 : 레이아웃의 넓이, 높이, 위치 등에 영향을 주는 css 속성을 변경할 경우 layout부터 다시 그려짐
리페인트 : 레이아웃에 영향을 주지 않는 속성을 변경하면 레이아웃을 건너뛰고 paint부터 시작
=> 리플로우가 발생하면 브라우저는 전체 픽셀을 다시 계산해야 하므로 리페인트 속성으로 스타일 작성하는 것이 성능에 좋음
리플로우 속성
position / width / height / margin / padding / display / top / left / right / bottom / box-sizing / border-color / text-align / border / border-width /
font-family / float / font-size / font-weight / line-height / vertical-align /
white-space / word-wrap / text-overflow / text-shadow ...
리페인트 속성
color / border-style / visibility / background / background-color /
background-image / background-position / background-repeat / background-size /
text-decoration / outline / outline-style / outline-color / outline-width /
border-radius / box-shadow ...