Hey,Joo Get In Touch

Get In Touch

Prefer using email? Say hi at dusskapark@gmail.com

이미지 최적화 가이드

# 이미지 최적화 가이드 ## 현재 상태 - **2024-klever**: 58MB (큰 GIF 포함: 5.8MB) - **2025-talk-to-figma-mcp**: 19MB (cartoon 이미지들: 3-4MB씩) ## 이미 적용된 최적화 ✅ **Lazy Loading** - gallery와 quote 컴포넌트에 `loading="lazy"` 속성 추가 - 스크롤하기 전까지 이미지를 로드하지 않아 초기 로딩 속도 개선 ## 추가 최적화 방법 ### 방법 1: 자동 스크립트 사용 (추천) 1. **필수 도구 설치** ```bash brew install imagemagick gifsicle ``` 2. **최적화 실행** ```bash # talk-to-figma-mcp 프로젝트 최적화 ./optimize_images.sh images/projects/2025-talk-to-figma-mcp # klever 프로젝트 최적화 ./optimize_images.sh images/projects/2024-klever ``` 3. **결과** - PNG: 약 60-70% 압축 (품질 유지) - JPG: 약 50-60% 압축 - GIF: gifsicle로 최적화 - 자동으로 백업 폴더 생성 ### 방법 2: 온라인 도구 (코드 없이) #### 큰 이미지 우선 최적화 다음 파일들을 우선 압축하세요: **2025-talk-to-figma-mcp:** - `cartoon1.png` (2.9MB) → 목표: ~500KB - `cartoon2.png` (3.2MB) → 목표: ~500KB - `cartoon3.png` (3.8MB) → 목표: ~500KB - `cartoon4.png` (3.4MB) → 목표: ~500KB **2024-klever:** - `5_demo_vid_1.gif` (5.8MB) → 목표: ~1-2MB - `6_infcon_2.png` (2.4MB) → 목표: ~400KB - `6_infcon_3.png` (2.4MB) → 목표: ~400KB - `6_infcon_1.png` (1.4MB) → 목표: ~300KB #### 추천 온라인 도구 1. **TinyPNG** (https://tinypng.com) - PNG/JPG 압축 - 무료: 최대 20개 파일, 각 5MB까지 - 품질 손실 거의 없음 2. **Squoosh** (https://squoosh.app) - Google 제공 - WebP 변환 가능 - 실시간 압축 결과 비교 3. **ezgif** (https://ezgif.com/optimize) - GIF 전용 최적화 - 프레임 간격, 색상 수 조절 가능 ### 방법 3: WebP 변환 (최고 압축률) WebP 포맷은 PNG/JPG보다 30-80% 작습니다. ```bash # WebP 변환 스크립트 for file in images/projects/2025-talk-to-figma-mcp/*.png; do cwebp -q 85 "$file" -o "${file%.png}.webp" done ``` **주의:** WebP 사용 시 HTML에서 `` 태그로 폴백 필요: ```html Fallback ``` ### 방법 4: GitHub Pages 빌드 최적화 GitHub Actions에서 자동으로 이미지 최적화하도록 설정할 수 있습니다. `.github/workflows/optimize-images.yml` 참조 (별도 생성 필요) ## 최적화 우선순위 1. **긴급 (즉시)**: cartoon 이미지 4개 (13.3MB → 목표 2MB) 2. **높음**: klever GIF + infcon 이미지 (11.6MB → 목표 2.5MB) 3. **중간**: 나머지 500KB 이상 이미지들 4. **선택**: 전체 이미지에 WebP 적용 ## 예상 효과 | 프로젝트 | 현재 | 최적화 후 | 감소율 | |---------|------|-----------|--------| | talk-to-figma-mcp | 19MB | ~4-5MB | 75% | | klever | 58MB | ~15-20MB | 65% | | **전체** | **77MB** | **~20-25MB** | **70%** | ## 체크리스트 - [x] Lazy loading 적용 (gallery, quote 컴포넌트) - [ ] ImageMagick 설치 - [ ] cartoon 이미지 4개 최적화 - [ ] klever GIF 최적화 - [ ] infcon 이미지 3개 최적화 - [ ] 나머지 이미지 일괄 최적화 - [ ] (선택) WebP 변환 - [ ] (선택) Jekyll 플러그인 추가 ## 추가 팁 - **GitHub Pages**: 빌드된 사이트는 자동으로 gzip 압축됩니다 - **캐싱**: 브라우저가 이미지를 캐시하므로 재방문 시 빠릅니다 - **CDN**: GitHub Pages는 CDN을 사용하므로 별도 설정 불필요 - **정기 점검**: 새 프로젝트 추가 시 이미지 크기 확인