슬라이드 1

Similar documents
XSS Attack - Real-World XSS Attacks, Chaining XSS and Other Attacks, Payloads for XSS Attacks

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

6강.hwp

Microsoft PowerPoint - ch02_인터넷 이해와 활용.ppt

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

<B1DDC0B6C1A4BAB8C8ADC1D6BFE4B5BFC7E C8A3292E687770>

<4D F736F F F696E74202D E20C0CEC5CDB3DD20C0C0BFEB20B9D720BCADBAF1BDBA20B1E2BCFA E >

Web Scraper in 30 Minutes 강철

3장

내지4월최종

PowerPoint 프레젠테이션

10X56_NWG_KOR.indd

HTTP 2.0 : The New Web Standard and Issue

Lab1

Windows 8에서 BioStar 1 설치하기

<B5B6BCADC7C1B7CEB1D7B7A52DC0DBBEF7C1DF E687770>

HTML5가 웹 환경에 미치는 영향 고 있어 웹 플랫폼 환경과는 차이가 있다. HTML5는 기존 HTML 기반 웹 브라우저와의 호환성을 유지하면서도, 구조적인 마크업(mark-up) 및 편리한 웹 폼(web form) 기능을 제공하고, 리치웹 애플리케이 션(RIA)을

우리나라의 전통문화에는 무엇이 있는지 알아봅시다. 우리나라의 전통문화를 체험합시다. 우리나라의 전통문화를 소중히 여기는 마음을 가집시다. 5. 우리 옷 한복의 특징 자료 3 참고 남자와 여자가 입는 한복의 종류 가 달랐다는 것을 알려 준다. 85쪽 문제 8, 9 자료

상품 전단지

::: 해당사항이 없을 경우 무 표시하시기 바랍니다. 검토항목 검 토 여 부 ( 표시) 시 민 : 유 ( ) 무 시 민 참 여 고 려 사 항 이 해 당 사 자 : 유 ( ) 무 전 문 가 : 유 ( ) 무 옴 브 즈 만 : 유 ( ) 무 법 령 규 정 : 교통 환경 재

2

DBPIA-NURIMEDIA

화이련(華以戀) hwp

ÆòÈ�´©¸® 94È£ ³»Áö_ÃÖÁ¾

歯1##01.PDF

<5BC1F8C7E0C1DF2D31B1C75D2DBCF6C1A4BABB2E687770>

120229(00)(1~3).indd

01Report_210-4.hwp

<C3D1BCB15FC0CCC8C45FBFECB8AE5FB1B3C0B0C0C75FB9E6C7E D352D32315FC5E4292E687770>



교육 과 학기 술부 고 시 제 호 초 중등교육법 제23조 제2항에 의거하여 초 중등학교 교육과정을 다음과 같이 고시합니다. 2011년 8월 9일 교육과학기술부장관 1. 초 중등학교 교육과정 총론은 별책 1 과 같습니다. 2. 초등학교 교육과정은 별책

시험지 출제 양식

¸é¸ñ¼Ò½ÄÁö 63È£_³»Áö ÃÖÁ¾

177

제주어 교육자료(중등)-작업.hwp

<C3D6C1BE5FBBF5B1B9BEEEBBFDC8B0B0DCBFEFC8A C3D6C1BEBABB292E687770>

초등국어에서 관용표현 지도 방안 연구

6±Ç¸ñÂ÷

과 위 가 오는 경우에는 앞말 받침을 대표음으로 바꾼 [다가페]와 [흐귀 에]가 올바른 발음이 [안자서], [할튼], [업쓰므로], [절믐] 풀이 자음으로 끝나는 말인 앉- 과 핥-, 없-, 젊- 에 각각 모음으로 시작하는 형식형태소인 -아서, -은, -으므로, -음

민주장정-노동운동(분권).indd

untitled

<C0CEBCE2BABB2D33C2F7BCF6C1A420B1B9BFAAC3D1BCAD203130B1C72E687770>


E1-정답및풀이(1~24)ok

<C1B6BCB1B4EBBCBCBDC3B1E2342DC3D6C1BE2E687770>

< BDC3BAB8C1A4B1D4C6C75BC8A3BFDC D2E687770>

최우석.hwp

교사용지도서_쓰기.hwp

cls46-06(심우영).hwp

時 習 說 ) 5), 원호설( 元 昊 說 ) 6) 등이 있다. 7) 이 가운데 임제설에 동의하는바, 상세한 논의는 황패강의 논의로 미루나 그의 논의에 논거로서 빠져 있는 부분을 보강하여 임제설에 대한 변증( 辨 證 )을 덧붙이고자 한다. 우선, 다음의 인용문을 보도록

0429bodo.hwp

伐)이라고 하였는데, 라자(羅字)는 나자(那字)로 쓰기도 하고 야자(耶字)로 쓰기도 한다. 또 서벌(徐伐)이라고도 한다. 세속에서 경자(京字)를 새겨 서벌(徐伐)이라고 한다. 이 때문에 또 사라(斯羅)라고 하기도 하고, 또 사로(斯盧)라고 하기도 한다. 재위 기간은 6

Microsoft PowerPoint - aj-lecture1-HTML-CSS-JS.ppt [호환 모드]

User Guide

2007

AMP는 어떻게 빠른 성능을 내나.key

Syrup Store O2O Marketing Platform/Solution

Microsoft PowerPoint - web-part03-ch19-node.js기본.pptx

공지사항

TTA Journal No.157_서체변경.indd

PowerPoint 프레젠테이션

cam_IG.book

목 차 Ⅰ. 일반사항 1 Ⅱ. 특기사항 3 Ⅲ. 물품내역 및 세부규격 8 Ⅳ. 주의사항

PowerPoint 프레젠테이션

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

Secure Programming Lecture1 : Introduction

SBR-100S User Manual

HTML5* Web Development to the next level HTML5 ~= HTML + CSS + JS API

Week8-Extra

Reflow 원인과 마크업 최적화 Tip


[Brochure] KOR_TunA

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :


Building Mobile AR Web Applications in HTML5 - Google IO 2012

EBS직탐컴퓨터일반-06-OK

<C1A634C2F720BAB8B0EDBCAD20C1BEC6ED20BDC3BBE720C5E4C5A920C7C1B7CEB1D7B7A5C0C720BEF0BEEE20BBE7BFEB20BDC7C5C220C1A1B0CB20C1A6C3E22E687770>

Week13

Overall Process

USB USB DV25 DV25 REC SRN-475S REC SRN-475S LAN POWER LAN POWER Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl C

PowerPoint 프레젠테이션

Microsoft Word - src.doc

< B5BFBEC6BDC3BEC6BBE E687770>

Microsoft PowerPoint - 02_Linux_Fedora_Core_8_Vmware_Installation [호환 모드]

0. 들어가기 전

02_3 지리산권 스마트폰 기반 3D 지도서비스_과업지시서.hwp

<3130BAB9BDC428BCF6C1A4292E687770>

11민락초신문4호

rv 브로슈어 국문


PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS (


제1절 조선시대 이전의 교육

사진 24 _ 종루지 전경(서북에서) 사진 25 _ 종루지 남측기단(동에서) 사진 26 _ 종루지 북측기단(서에서) 사진 27 _ 종루지 1차 건물지 초석 적심석 사진 28 _ 종루지 중심 방형적심 유 사진 29 _ 종루지 동측 계단석 <경루지> 위 치 탑지의 남북중심

새만금세미나-1101-이양재.hwp

??

652

歯 조선일보.PDF

2

Transcription:

박상혁 웹표준개발2팀/UIT센터 2012.02

목차 1 꼭 빠르게 해야되나요? 1-1 속도의 심리학 1-2 사용자 환경 1-3 네트워크와 성능 2 Front-End 성능 최적화 2-1 Front-End 성능 최적화 2-2 파일 크기 최소화 2-3 파일 요청 최소화 2-4 브라우저 렌더링을 고려한 개발 방법 3 점검, 분석, 측정도구 그리고 사례 3-1 점검, 분석, 측정 도구 3-2 사례

1-1 일반적인 UI 디자인 가이드라인 대화형 시스템에서 응답을 기다려주는 한계는 5초 10초가 넘어가면 다른 작업으로 관심이 이행함 구분 응답시간 SW 디자인 가이드라인 Instantaneous (순간적) 0.2초 버튼 입력에 대한 반응 : 5~100ms 메뉴 펼치기 : 200ms Immediate (즉시) 0.5초 ~ 1초 책 페이지를 넘기는 시간 웹 브라우저의 페이지 업/다운에 대한 기대시간 Continuous (연속적) 2~5초 시스템이 멈추지 않았음을 주기적으로 알려줄 필요가 있음 5초가 넘어가는 경우 반드시 feedback 해야 함 Captive (참고 기다림) 7~10초 웹 페이지에서 사용자들이 떠남 자료 : designing and engineering Time, Steven Seow 2008 / Velocity 2010 / NHN, FE 성능 Awareness 교육 재인용 네이버 속도 만족도 실험 웹 페이지 캡쳐 후 다양한 속도로 화면을 재생하면서 체감속도와 만족도를 설문 2초가 넘어가면 실제 소요시간과 관계없이 느리고 답답하다 고 인지 4~5초 정도부터 만족비율 50% 이하로 하락 모바일이라고 해서 느린 것을 이해하고 기다리지 않음 단순한 서핑형 서비스(뉴스, 카페, 블로그, 웹툰, 영화)와 목적형 서비스(통합검색, 이미지 검색, 메일, 캘린더, 사전, 날씨등)의 경우 비슷한 만족도를 나타냈으나 목적형 서비스에서 보다 빠른 응답속도가 요구됨

1-2 초고속 인터넷 가입 유형 50M~100M 급 광랜이 60%에 육박하지만 아직도 HFC 나 ADSL 등의 저속망 사용자도 30%이상이다. 물리적인 여건 때문에 저속망 사용자가 쉽게 줄어들지 않을 전망 29% 14% 22% FTTH LAN xdsl HFC 35% 자료 : 방통위(초고속 인터넷 가입 유형 2011.9월 기준)

1-2 OS/인터넷 브라우저 구형 PC, 구형 브라우저 사용자가 아직도 많은 비중을 차지하고 있으므로 배려해야 한다. IE의 점유율이 상당히 높은 반면 IE 의 성능은 모바일 수준으로 낮다. No OS % Browser % 1 Win XP 61.39% Internet Explorer 8 51.6% 2 Win 7 31.82% Internet Explorer 7 16.2% 3 Win Vista 4.76% Internet Explorer 9 15.1% 4 ios 0.83% Internet Explorer 6 10.2% 5 Mac OS 0.70% Chrome 4.30% 6 Safari 1.57% 7 Firefox 0.69% 기준 : 2012.02.23 네이버 메인 접속 평균

1-2 국내 이동전화 및 스마트폰 가입자 수 데스크톱 컴퓨터를 타겟으로 제작한 웹 서비스를 무선망을 이용하여 노트북, 스마트폰, 태블릿 PC등 다양한 디바이스로 사용하고 있음. 기존 데스크톱 하드웨어에 비해 성능이 떨어지는 디바이스와 인터넷 망 사용자가 늘어나고 있음 2010.3 2010.6 2010.9 2010.12 2011.1 2011.2 이동전화 가입자(A) 4,898 4,961 5,021 5,077 5,098 5,116 스마트폰 가입자(B) 152 247 442 722 826 926 비중(B/A) 3.1 5.0 8.8 14.2 16.2 18.1 자료 : NIA 2011 국가 정보화 백서

1-3 네트웍이 빨라진만큼 웹 서비스도 빨라졌다? 네트웍이 빨라진만큼 웹 서비스도 빨라지지 않는다. 네트웍이 빨라진다는 의미는 회선 대역폭(bandwidth)이 증가했다는 것이다. 유선망의 전달지연은 물리적 한계에 도달하여 더 줄이기 어렵다 회선 대역폭이 증가하더라도 HTTP의 유효 대역폭은 크게 높아지기 어렵다. 웹 서핑 이외의 용도로 가용 대역폭이 좁아질 수도 있다. 30% 이상이 10M급 인터넷을 사용하고 있으며, 실제 대역폭은 이보다 낮다. 대역폭 보다는 latency가 더 중요하다. 10Mbps -> 100Mbps 증가 HTTP 대역폭은 많이 늘어나지 않고 유휴대역폭만 증가한다. latency는 그대로 자료 : NHN, FE 성능 Awareness 교육

1-3 무선망은? (모바일) 대역폭이나 latency면에서 해외 인터넷 수준이다. 단말기 칩셋에 따라 uplink가 느림 패킷 1회 왕복에 0.1~0.5초 소요되는 등 편차가 매우 큼 Warm up 이 덜 되었거나 채널이 부족한 경우 15kbps 까지 저하됨 HTTP GET 1건 = 0.6초, Redirect는 무조건 0.5초 손실 3G망 사용자는 해외 인터넷 사용자 수준의 지연이 발생

3-1 웹 페이지의 로딩 과정 Waterfall Chart로 보는 웹 페이지 로딩 과정 Block : 해당 리소의 로딩이 필요하다고 판단하고 로딩 시작전까지 대기 시간 (동시 연결수, 다른작업) DNS : DNS Lookup에 소요된 시간 Connect : 로딩 시작 이후 TCP 연결 생성에 소요된 시간 Send : HTTP 요청 전송에 걸린 시간 (긴 쿠키, 업로드할 데이터 양, 대역폭) Wait : HTTP 응답 시작까지 기다린 시간 Receive : 콘텐츠 수신에 소요된 시간 (대역폭) Cache read : 브라우저 캐시에서 콘텐츠를 읽어오는 시간) 대역폭 확장에 관계 되는 것은 Receive 구간이고 나머지 구간은 latency에 의해 결정된다. 또한 단말과 서버의 성능에 의해서도 크게 좌우된다.

3-1 Front-End 구간의 비중이 90% 이상 서비스에 따라 다를 수 있지만 사용자가 웹 페이지를 내려 받는데 까지 걸리는 시 간은 그리 오래 걸리지 않는다. 문서를 구성하는 추가 콘텐츠와 스타일등을 요청하고 받는 것이 대부분이다. Back End 0.047s Front-End 2.338s 자료 : NHN, FE 성능 Awareness 교육, Steve Souders, Velocity 2009 www.aol.com 97% www.ebay.com 95% www.facebook.com 95% www.yahoo.com 98%

3-1 최적화를 위한 3가지 요소 파일 크기 최소화 CSS & Javascript minification Image optimization File compression Cookies Free Domain 요청 최소화(Reduce HTTP request) Merge file Image Data URI CSS Sprites No Redirect Multi Domain 브라우저 렌더링을 고려한 개발 방법 Markup Complexity Short CSS Selector Reduce Reflow & Repaint ETC

3-2 파일 크기 최소화 HTML&CSS minification 주석,공백,빈줄 제거, 문법 특성을 이용한 축약 NHN 마크업 코딩 컨벤션을 토대로 한 CSS Formatter Image optimization http://html.nhndesign.com/markup_tools/imgoptimizer

3-2 파일 크기 최소화 File compression 브라우저가 요청한 파일을 서버에서 압축 전송하고 브라우저 압 축해제하여 보여주는 방법 일반적으로 모든 브라우저가 지원하는 gzip, deflate 방식 사용 http://www.whatsmyip.org/http-compression-test/ 중복되는 문자열(속성, 셀렉터, 속성값)이 많은 CSS의 경우 압축 률이 우수함 (80% 정도)

3-2 파일 크기 최소화 Cookies Free Domain Cookie가 필요 없는 이미지 파일은 도메인설정을 변경하여 Cookie 정보를 보내지 않도록 처리 page_uid=toukduql34gsscmikogcussssuh-221009; _naver_usersession_=tl5lzzfkyewaabj4b24; nid_inf=fb3a60de4e4d814ffe256ea715a1552f79ea5a4b10f6ffcd0fb49c272f6ebda617f6f8a4dd856bb4dfdcdef2a68e2cf079a3476b2bec 66a28db9b9f3896765c13f437265724681c0ec4ce7152f7188fd01babbd130110be3558b78891b49c892; nid_pwa=2; NID_AUT=/uT36s+7QTkgwlpoaHYPSBFubVwBa/g1LB37DSu56bN224rgODnMtaH7Mc2h5nbTtLBx4pf2YDdNQNA5oktLKezK Z91u4TpXEzdnt2XIZobxSGkduYqmHlsXriDTxE0E77uEprN3qFO5S6G3N6Po9INX1yeRnmx0ZkbtV2r0Waq2W+DbX+xX/yQa RY8evR1hBEavIWpJ1+nkj6xtvzqIu0dA7jJ9R/Ylcr5nVopPOZUG+TAjI+FFV9aulPQnnUIZ+badeORoqYQtwPwNgEKz/aev2zHto Kwagf9ytTJd1+UyCQZeowippFLt8T/p7AMjDUJeLLhBFt00fMJsydNwI/I77HWBT3WvERDF5kUXTBfw8zOa0FbvXsK1QmTM/j BTZi1nC2OPFN9WNj7FUFEeT5U1TuJJwIdLNa8ABBXeYsi3OaGtHs3m1lRxotS5xrwZzF9woydl5Kj/z4Zeph6s71DlESnRH5AsVs Ul42z/u+S4yAUrKYK5mXgysXwNmWfxE/fzlRPbjEzXhCV24mrK+A==; NID_MATCH_M=1; NID_DH_UI=1; NID_SES=LkNyeGAXjZ5uSOor5Wq36QRAIF7ZTxttsazPACSQOgi9rugcTntBlmPQ1cPBsfI4ctz2D4gwm8X3KFZJF4F/1uNmdug+ FJNFPaCykolJqxVIr/NYL+wRWoafSjo9qL3df65xdd7M42266Sh5dnoEL3P05BTnAAPRqfne/moa3No=; cc_menu=me2day; NIPD=1; NB=HE3TEMRYGYYTKMRX; NNB=ANYO4FMJAS6EY; npic=uk+ijlhyvc6ygvlykrrixln5edpzpxjzzczidiobpglwiuwecz6ztzm2qnmlrmohca==; DA_HC=LZ41135580,LB; NVSERV=appstore@ndrive@appfactory@contact; NNF=on; pwe_menu_type=list; nsr_acl=1; utma=163452323.450796262.1287541011.1287541011.1287541011.1; utmb=163452323.1.10.1287541011; utmc=163452323; utmz=163452323.1287541011.1.1.utmcsr=(direct) utmccn=(direct) utmcmd=(none); _naver_usersession_=tl5lzzfkyewaabj4b24; JSESSIONID=E2DF2BED82737391A2D933D6C58F428C; map_bicycle_warning_cookie=no; map_inaccurate_poi_cookie=no

3-3 파일 요청 최소화 (Reduce HTTP Request) Merge file 문서 구성에 필요한 CSS, Javascript 파일을 합친다. Image Data URI 이미지는 바이너리 데이터이므로 브라우저가 인식할 수 있도록 base64로 인코딩해서 문서에 직접 넣을 수 있다. <img src= data:image/png;base64; width= height= alt= > IE7이하에서는 불가, 별도 인코딩 프로세스가 필요, cache가 안됨 CSS Sprites 문서를 구성하는 요소 중 제일 많은 요청이 발생한다. 이미지 파일을 합친다.

3-3 파일 요청 최소화 (Reduce HTTP Request) No Redirect 문서내의 연결된 문서의 URL 뒤에는 파일을 제외하고 모두 후행 슬래시를 넣거나 서버에서 설정해 주어야 한다. 1회 요청으로 응답이 오지 않고 502가 반환되어 후행슬래시를 넣 어 재 요청한다.

3-3 파일 요청 최소화 (Reduce HTTP Request) Multi Domain 과도한 트래픽을 막기 위해 도메인 단위로 동시 접속수를 제한 요청이 많은 서비스일수록 Bottle Neck 발생 브라우저 HTTP/1.1 HTTP/1.0 IE 6,7 2 4 반면에 요청이 많지 않은 서비스는 DNS Lookup Time이 지연에 원인이 되기도 하므로 도메인을 통합하는 것이 성능을 향상 시킬 수도 있다. 하나의 도메인에서 너무 많은 리소스를 서브하면 wait 시간이 늘어남으로 도메인 분리하여 서브해야 함 하나의 도메인에서 극히 적은 리소스를 서브하면 DNS look up time 낭비

3-4 브라우저 렌더링을 고려한 개발 방법 Markup Complexity HTML의 DOM Node는 깊게 중첩될 수록 성능에 악영향을 끼친다. Short CSS Selector DOM Tree에 CSS를 파싱한 결과를 더해 렌더 트리를 만든다. 이때 브라우저는 CSS Selector를 이용하여 DOM Tree를 탐색한다. 브라우저는 제일 오른쪽 선택자를 기준으로 왼쪽으로 하나씩 옮겨가며 선택자와 정확히 일치하는지 탐색한다. <style type= text/css > div ul li a span{color:red} </style> <div> <h3>사람들<span>전체<span>(404)</span></span></h3> <ul> <li><a href= # >사람1<span>(101)</span></a></li> <li><a href= # >사람2<span>(101)</span></a></li> </ul> </div> 페이지 내에서 처음 span을 찾고 그 다음 a > span 를 찾고 다음에는 li > a > span을 찾고 그 다음 ul > li > a > span 을 찾고 그 다음에는 div > ul > li > a > span을 찾는다. 더 이상 왼쪽에 셀렉터가 없기 때문에 div > ul > li > a > span에 CSS로 선언 한 color 정보를 저장한다.

3-4 브라우저 렌더링을 고려한 개발 방법 Short CSS Selector 제일 오른쪽 셀렉터를 엘리먼트로 선언하는것보다 class나 ID로 선언하는 것이 렌더링 속도가 더 빠르다. 자식 선택자 선언 방식은 렌더링 시간은 차이가 없지만 반복 사용으로 코드 량이 늘어나므로 가급적 사용하지 않는다. :hover 사용시에는 IE7 에서 성능이슈가 있으므로 반드시 앞에 엘리먼트를 선언한다. 모든 요소에 매칭되는 *(universal key)는 사용하지 않는다. <style type= text/css >.man_lst ul li a.num{color:red} /* (X) */.man_lst a.num{color:red} /* ( ) */.num{color:red} /* (O) */ a.num:hover{color:blue} /* (O) */ </style> <div class= man_lst > <h3>사람들<span>전체<span class= num >(404)</span></span></h3> <ul> <li><a href= # >사람1<span class= num >(101)</span></a></li> <li><a href= # >사람2<span class= num >(101)</span></a></li> </ul> </div>

3-4 브라우저 렌더링을 고려한 개발 방법 Reduce Reflow 페이지 레이아웃에 관련한 요소들의 위치,순서, 배치, 간격등을 계산하는 것으로 반복되는 과정이다. http://www.youtube.com/watch?v=ztnixia5kgw

3-4 브라우저 렌더링을 고려한 개발 방법 Reduce Reflow 주로 동적으로 요소를 숨기거나 크기변경, 추가, 삭제등의 작업을 하면 브라 우저는 일부 혹은 페이지 전체를 다시 배치한다. 이러한 reflow를 최소화 하 는 것이 좋다. 보이지 않는 것은 화면 구성과 관계없으므로 화면 구성에 영향이 없다면 보 이지 않게 한 후 스타일을 변경하고, 다시 보이도록 설정한다. var el = document.getelementbyid("container"); el.style.display = "none"; for(var i=0; i < 1000; i++) { el.style.left += value+i; } el.style.display = "block"; 요소에 스타일을 설정함과 동시에 스타일 정보를 얻는 반복 구문은 피해야 한다. for(var i=0; i < object.length; i++) { object[i].style.left = object[i].offsetleft + 10 + "px"; }

3-4 브라우저 렌더링을 고려한 개발 방법 그 밖의 방법 자바스크립트가 필요할 때 로딩하는 Lazy Loading을 쓴다. 사용자 체감 속도를 향상시키기 위해 화면을 구성에 필요하지 않은 자바스 크립트는 onload 발생 이후에 로딩한다. DOM에 접근하는 자체만으로도 지연이 발생할 수 있으므로 DOM Caching을 사용한다. for (var i = 0; i < document.forms[0].elements.length; i++) { document.forms[0].elements[i].value; } var aelements = document.forms[0].elements; for (var i = 0, nlen = aelements.length; i < nlen; i++) { aelements[i].value; } 자료 : 자바스크립트 최적화 교육 자료 일부 발췌, Ajax UI 랩

4-1 점검 Yslow FF, Chrome, Opera, Safari, bookmarklet등 지원 Ruleset에서 원하는 항목만 체크할 수 있음 결과에서 리소스별 크기, 압축, 쿠키, 헤더, 만료일등을 점검할 수 있음 Page Speed FF, Chrome, online, apache 모듈등 지원 분석범위를 지정하고 JSON형식으로 저장하거나 외부로 전송가능 결과는 yslow와 비슷

4-1 분석 Dynatrace IE, FF 지원 렌더링 과정 (CSS Parsing, Reflow(layout), Painting) 추적 가능 Timeline에서 로딩, 렌더링 한눈에 파악이 가능하며 마우스, 키보드 이벤트 시점 표시 가능 Caching, Network, Server Side 의 상세한 분석이 가능하고, 측정 시간도 OLT가 아닌 rendering, On Server, On Client등으로 세분화된 것으로 볼 수 있다. http://ajax.dynatrace.com/ajax/en/download/download.aspx

4-1 측정 WebpageTest 다양한 위치, 환경의 agent에서 측정 가능 Pagespeed, Dynatrace와 연동 Filmstrip, Video Compare 지원 http://www.webpagetest.org http://www.webpagetest.org/result/120207_nx_34z1d/ http://www.webpagetest.org/video/compare.php?tests=120208_ct_ 357GH,120208_A2_357GJ

4-1 측정 NSpeed Web page Test의 Client PC Agent를 활용하고 내부 서버를 개발하여 사 내에서 사용할 수 있도록 함 Waterfall, filmstrip 지원

4-2 사례 압축 전송, 헤더 만료일 설정 필요, JS 병합

4-2 사례 IE6에서 CSS 에 AlphaImageLoader 사용시 블로킹

4-2 사례 78px * 60px 이미지가 30k 그 중 약 20k가 불필요한 메타데이터 (xmp, exif, ICC profile)

34