보관함

웹 사이트 성능 최적화 법칙

출처] http://developer.yahoo.com/performance/rules.html

Yahoo! 성능개선팀의 우수 사례(best practice)가 모여 웹 사이트 성능 최적화 14개 법칙

  1. Minimize HTTP Requests(HTTP요청을 최소화하라)
  2. Use a Content Delivery Network(CDN을 이용하라)
  3. Add an Expires or a Cache-Control Header(응답헤더에 Expires 혹은 Cache-Control을 추가하라)
  4. Gzip Components(gzip으로 압축하라)
  5. Put Stylesheets at the Top(스타일시트는 문서의 위쪽에 넣어라)
  6. Put Scripts at the Bottom(스크립트는 문서의 아래쪽에 넣어라)
  7. Avoid CSS Expressions(CSS Expression을 피하라)
  8. Make JavaScript and CSS External(자바스크립트와 CSS는 외부 파일로 만들어라)
  9. Reduce DNS Lookups(DNS 검색을 줄여라)
  10. Minify JavaScript and CSS(자바스크립트와 CSS의 크기를 작게 하라)
  11. Avoid Redirects(리다이렉션을 피하라)
  12. Remove Duplicate Scripts(중복 스크립트를 제거하라)
  13. Configure ETags(ETags를 설정하라)
  14. Make Ajax Cacheable(AJAX도 캐싱할 수 있도록 만들어라)
  15. Flush the Buffer Early(버퍼를 빨리 비워라)
  16. Use GET for AJAX Requests(AJAX 요청 시 GET을 사용하라)
  17. Post-load Components (사후 구성 컴포넌트)
  18. Preload Components(사전 구성 컴포넌트)
  19. Reduce the Number of DOM Elements(DOM 요소의 개수를 줄여라)
  20. Split Components Across Domains(컴포넌트를 도메인별로 분리하라)
  21. Minimize the Number of iframes(IFrame의 개수를 최소화하라)
  22. No 404s(404 오류가 발생하지 않게 하라)
  23. Reduce Cookie Size(쿠키의 크기를 줄여라)
  24. Use Cookie-free Domains for Components(컴포넌트는 쿠키가 없는 도메인을 사용하라)
  25. Minimize DOM Access (DOM 접근을 최소화하라)
  26. Develop Smart Event Handlers (이벤트 핸들러를 잘 개발하라)
  27. Choose <link> over @import(@import보다는 <link> 태그를 써라)
  28. Avoid Filters(CSS 필터를 피하라)
  29. Optimize Images(이미지를 최적화하라)
  30. Optimize CSS Sprites(CSS 스프라이트를 최적화하라)
  31. Don’t Scale Images in HTML(HTML로 지정한 크기보다 큰 이미지를 사용하지 마라)
  32. Make favicon.ico Small and Cacheable(favicon.ico 파일은 작게 만들고 캐싱되도록 만들어라)
  33. Keep Components under 25K(컴포넌트 크기를 25KB 이하로 유지하라)
  34. Pack Components into a Multipart Document(컴포넌트를 멀티파트 문서로 묶어라)
  35. Avoid Empty Image src(이미지의 src 속성 값을 빈 채로 만들지 마라)

 

Windows 용 Hard Link Junction

※ 참고 (2026년 기준) Windows Vista 이후로는 별도 프로그램 없이 기본 명령 mklink /J c:\_Logs d:\_Logs 로 같은 Junction 을 만들 수 있다. Junction 은 파일 하드 링크가 아니라 디렉터리 연결이다.

난 내가 만드는 프로그램에 log를 d:\_Logs에 넣는다 윈도우즈 조각화를 생각해서 절대 c:\에는 넣지 않으려 한다..
근데 이번에 ubuntu에서 mono를 통해 통합하는 작업을 하다보니 우분투에서 log 들이 이상한데 쌓인다.-_-
이리저리 고민을 하다가 Windows에 c:\_Logs 라는 링크를 만들려고 바로가기를 만들었더니 c:\_Logs라는 디렉토리와는 성격이 달랐다.
예전에 hard link를 했던 기억이 있어 Junction을 올린다.

참고] http://msdn.microsoft.com/ko-kr/library/windows/desktop/aa365006(v=vs.85).aspx

File Upload 제작시에 파일 사이즈 3M 제한 풀기

위의 두 방법 보다는 file upload 하는 딱 그 함수만 제약을 거는것이 더 안전할것처럼 보인다.