diff --git a/.jules/bolt.md b/.jules/bolt.md index c10fb9b..519f55b 100644 --- a/.jules/bolt.md +++ b/.jules/bolt.md @@ -12,3 +12,7 @@ ## 2026-07-10 - Remove unnecessary DOMPurify for performance **Learning:** 애플리케이션이 `textContent`와 같은 안전한 DOM API만 사용하고 `innerHTML` 등의 위험한 싱크를 사용하지 않는다면 DOMPurify와 같은 라이브러리를 통해 Trusted Types 정책을 생성할 필요가 없음. **Action:** 불필요한 번들 다운로드 및 스크립트 실행을 방지하기 위해 사용하지 않는 라이브러리를 식별하고 제거할 것. + +## 2024-07-24 - LCP Image Asynchronous Decoding Issue +**Learning:** Adding `decoding="async"` to above-the-fold or high-priority LCP SVG images can block main thread rendering or delay initial paint, counteracting performance benefits. +**Action:** Remove `decoding="async"` from critical, non-lazy loaded images (such as logos and hero images) to ensure fast loading and optimal Largest Contentful Paint (LCP). Only apply it to `loading="lazy"` images. diff --git a/CHANGELOG.md b/CHANGELOG.md index 56ad628..b9da84d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,3 +12,6 @@ - **보안 개선**: `i18n.js`의 `setLanguage()` 함수에 허용된 언어인지 확인하는 입력값 검증(Input Validation) 로직을 추가하여 Prototype Pollution 및 유효하지 않은 상태 주입을 방지했습니다. - **성능 개선**: `i18n.js`에서 초기 로드 시 기본 언어가 한국어(ko)인 경우 불필요한 DOM 순회 및 텍스트 업데이트를 생략하도록 개선했습니다. - **테스트 추가**: 다국어 처리 로직의 무결성을 검증하기 위해 `test_i18n.html` 테스트 파일을 추가했습니다. + +### 변경사항 (2024-07-24) +- ⚡ 성능 향상: above-the-fold SVG 이미지 (로고 및 hero 이미지)에서 `decoding="async"` 속성을 제거하여 LCP(Largest Contentful Paint)를 최적화했습니다. diff --git a/index.html b/index.html index c40fea3..0dacf4a 100644 --- a/index.html +++ b/index.html @@ -29,7 +29,8 @@