Microsoft PowerPoint - 09_이우철_HTML5포럼_발표자료_V1.0_print_최종.pptx

Similar documents
<4D F736F F F696E74202D FC5F5BAF1BCD2C7C1C6AE20C0CCBFECC3B65F48544D4C35C6F7B7B35FB9DFC7A5C0DAB7E15FBCF6C1A4>

Microsoft PowerPoint - web-part01-ch10-문서객체모델.pptx

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

Building Mobile AR Web Applications in HTML5 - Google IO 2012

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

서현수

PowerPoint 프레젠테이션

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

슬라이드 1

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

Web Scraper in 30 Minutes 강철

Ext JS À¥¾ÖÇø®ÄÉÀ̼ǰ³¹ß-³¹Àå.PDF

쉽게 풀어쓴 C 프로그래밍

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

쉽게 풀어쓴 C 프로그래밍

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

Æí¶÷4-¼Ö·ç¼Çc03ÖÁ¾š

PowerPoint 프레젠테이션

Syrup Store O2O Marketing Platform/Solution

Domino Designer Portal Development tools Rational Application Developer WebSphere Portlet Factory Workplace Designer Workplace Forms Designer

Javascript.pages

PowerPoint 프레젠테이션

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

歯이시홍).PDF

PowerPoint 프레젠테이션

untitled

쉽게 풀어쓴 C 프로그래밍

chap 5: Trees

Prototype에서 jQuery로 옮겨타기

[Brochure] KOR_TunA

ibmdw_rest_v1.0.ppt

2파트-07

슬라이드 1

Egretia_White_Paper_KR_V1.1.pages

untitled


untitled

SOFTBASE XFRAME DEVELOPMENT GUIDE SERIES HTML 연동가이드 서울특별시구로구구로 3 동한신 IT 타워 1215 호 Phone Fax Co

나. 회사의 법적,상업적 명칭 당사의 명칭은 주식회사 한진해운 홀딩스 라고 표기합니다. 또한 영문으로는 HANJIN SHIPPING HOLDINGS CO., LTD. 라 표기합니다. 단, 약식으로 표기할 경우에는 한 진해운홀딩스 또는 HJSH라고 표기합니다. 다. 설립

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

Microsoft PowerPoint - Chapter_03.pptx

Orcad Capture 9.x

FMX M JPG 15MB 320x240 30fps, 160Kbps 11MB View operation,, seek seek Random Access Average Read Sequential Read 12 FMX () 2

Analyst Briefing

Frama-C/JESSIS 사용법 소개

대규모 자바스크립트 웹어플리케이션개발하기 with BackboneJS and RequireJS 넷스루개발 2 팀이병주

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

Microsoft PowerPoint 세션.ppt

Lab1

JavaGeneralProgramming.PDF

3ÆÄÆ®-14

혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가

PCServerMgmt7

Microsoft PowerPoint - web-part03-ch20-XMLHttpRequest기본.pptx

Microsoft PowerPoint - KNOM2008제출_연승호_v1.0

Speculative Register Promotion Using Advanced Load Address Table (ALAT)

SproutCore에 홀딱 반했습니다.

PowerPoint 프레젠테이션


PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Portal_9iAS.ppt [읽기 전용]

2009방송통신산업동향.hwp

PowerPoint 프레젠테이션

Microsoft PowerPoint - web-part02-ch15-문서객체조작.pptx

Week13

무제-1

Chapter_02-3_NativeApp

슬라이드 1

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

20주년용

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F32C2F7BDC32E >

CLICK, FOCUS <표 1> 스마트TV와 기존TV의 구분 및 비교 구분 전통TV 케이블TV/IPTV 인터넷TV/웹TV 스마트TV 전달방식 방송전파 케이블/인터넷망 인터넷망 인터넷망 양방향 서비스 없음 부분적으로 있음 있음 있음 콘텐츠 지상파 방송사가 확보한 콘텐츠

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

금오공대 컴퓨터공학전공 강의자료

<4D F736F F D20C1A4BAB8C5EBBDC5C1F8C8EFC7F9C8B8BFF8B0ED5FBDBAB8B6C6AEBDC3B4EBBAF22E727466>

<B1DDC0B6C1A4BAB8C8ADC1D6BFE4B5BFC7E C8A3292E687770>

Microsoft Word - 김완석.doc

PowerPoint 프레젠테이션

I What is Syrup Store? 1. Syrup Store 2. Syrup Store Component 3.

(Microsoft Word - \301\337\260\243\260\355\273\347.docx)

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

sehyun_brochure

슬라이드 1

Week8-Extra

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Modern Javascript

PowerPoint 프레젠테이션

1

PowerPoint 프레젠테이션

슬라이드 1

Multi Channel Analysis. Multi Channel Analytics :!! - (Ad network ) Report! -! -!. Valuepotion Multi Channel Analytics! (1) Install! (2) 3 (4 ~ 6 Page

에너지절약_수정

PowerPoint Presentation

Microsoft PowerPoint - Java7.pptx

KAA2005.9/10 Ãâ·Â

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2>

DocsPin_Korean.pages

Transcription:

HTML5 기반의자바스크립트를 이용한고속화기술과튜닝방법 2016. 10. 26 이우철 Email : comnik@tobesoft.com

투비소프트소개 연혁 혁신과도약 2011~ 현재 변화와성장 2006~2010 2016.10 2016.06 2016.05 2015.02 2014.11 2014.11 2014.11 2014.11 2014.1010 2014.05 2014.04 2014.03 2014.01 2013.12 2013.12 2013.12 2013.11 2013.03 2012.06 2012.04 2012.02 2011.09 2011.09 이홍구, 조상원각자대표이사전환동대문 O2O 사업협력을위한양해각서체결제2회글로벌상용SW명품대전공공부문발주자협의회회장상수상코스닥시장공시우수법인선정 신기술실용화진흥유공표창산업기술진흥유공자대통령표창대한민국 10대신기술선정대한민국기술대상은상 CP 기업지정 AA 등급획득넥사크로플랫폼 14 GS 인증획득넥사크로플랫폼 14 론칭 XCRO CBP 론칭 ( 현 XGEN) 미국 Nexaweb Technologies UI 사업부와 Nexaweb Japan 인수합병 미국법인 NEXAWEB, INC. 설립소프트웨어산업발전유공정부포상산업포장수상엑스플랫폼 13 GS 인증획득대한민국 IT 이노베이션철탑산업훈장수상엑스플랫폼 13 론칭 일본 NTTComware 와파트너십체결 TOBESOFT JAPAN Co.,Ltd.( 일본법인 ) 설립제 11 회대한민국소프트웨어기업경쟁력대상수상 한일산업기술페어표창장수상엑스플랫폼 V9.2 론칭 2010.11 2010.06 2009.11 2009.10 2009.0909 2008.11 2008.03 2008.01 2007.0808 2006.12 2006.12 제 11 회대한민국 SW 산업인의날대통령표창 KOSDAQ 등록 대한민국 IT 이노베이션국무총리상수상엑스플랫폼론칭엑스플랫폼 GS 인증획득대한미국 SW대상대통령상수상 SAP Certification 획득 CMMI Level3 획득 Red herrings Asia award 100 대기업선정 TTA VeriTest 획득대한민국소프트웨어기술대상대상수상 시작과도전 2000~2005 2005.09 2005.09 2005.08 2005.06 2004.11 2003.11 2002.06 2000.07 마이플랫폼 TL9000 획득마이플랫폼 GS 인증획득품질경영시스템 ISO9001:2000/TL9000 - S R3.0/R3.5 R30/R35 획득 Asianux 인증획득디지털이노베이션대상수상 마이플랫폼 v2.1 론칭 ISO 9001 인증 ( 주 ) 투비소프트설립 2

투비소프트소개 주요제품 하나의툴, 하나의소스오직기업만을위해 가벼운성능, 손쉬운기능으로극대화된효율성 기업을위한 X-Internet 기반의 태어난비즈니스 UI/UX 플랫폼 스마트한기업환경구현을위한최적의 UI/UX 플랫폼 유무선 UI 통합플랫폼 - 최고의성능 / 속도를보장하는 Unified JavaScript Framework 기반의 OSMU 솔루션 - 한번의개발로다양한디스플레이환경에최적화하여시스템구현 - WYSIWYG기반개발툴인 Nexacro studio와 UI UX Component 제공 - 컴포넌트로손쉬운애니메이션구현과폼상속기능으로개발생산성극대화 - 사용자편의중심의스마트한업무환경을위한쾌적한정보처리기능제공 - 클라이언트 / 서버환경대비웹환경의한계를넘어선 UI 구현및통합관리가능 - 개발의편의와생산성을높여주는컴포넌트및각종기능제공 - 기업업무에최적화된효율적구성으로안전성제공 3

투비소프트소개 UI 통합개발툴 nexacro platform RUNTIME Multi Layout Management nexacro platform HTML5 Generate Web Server/ Application Server JavaScript, CSS windows/android/ios/osx Windows/Android/iOS/OSX nexacro platform RUNTIME Apps (Full Functionalities & High Performance) 4

JavaScript framework 비교 Comparison of JavaScript frameworks https://en.m.wikipedia.org/wiki/comparison_of_javascript_frameworks 5

웹고속화를위한튜닝대상 초기로딩속도 화면랜더속도 Document Web Server html.html.css.js.png Head title Body div Render Engine Web p h1 P Web p This JavaScript Engine 노드생성속도 Web Browser JavaScript 코드속도 6

웹 고속화를 위한 분석방법 7

초기로딩최적화 1. HTTP 요청을줄여라 - network traffic 최소화 - Header 에만료기한을넣어서통신을최소화 (expire, max-age) age) - 200과 304 - Header에 Cache기능활용 etag와 lastmodified 2. HTTP 사이즈를줄여라 - Gzip - mode_flate(apache) - Image는하지않는다. - 소스 (Compress) - 사이즈를최대로줄임 (YUI Compress, jsmin등 ) 3. WebServer 접속시간을줄여라 - 기업업무처리서버접속자가일정시간오래사용하는경우엔재연결을최소화하도록 keepalive 를활용 8

노드생성최적화 innerhtml 생성방식 vs createelement 호출방식 <html> <head></head> <Body> <Div>.. </Body> </html> Document html function createelement(str) { var div = document.createelement('div'); div.innerhtml = str; var container = document.createdocumentfragment(); for (var i=0; i < div.childnodes.length; length; i++) { var Node = div.childnodes[i].clonenode(true); container.appendchild(node); } Return container.childnodes; } Head Body title div Web p h1 P Web p This Inner HTML Create Element 구분 정적인화면생성시 동적인화면생성시 (Grid) 제품 적다 많다 용역 IE chrome innerhtml string 을만들때코드유지보수수행성능을최대한튜닝 Node생성후정보를필요로하는 position정보등은 Node 에서그려진이후에처리하지않고미리계산에의해처리하는형태의튜닝필요 9

Render 엔진최적화 - 이해 1. Render mechanism HTML Tag soup DOM tree User actions: Resize win Font size +/- UA defaults Stylesheets Style= Styles struct Render tree Paint! 2. Reflow & Repaint Render tree 의일부또는전체가다시계산될필요가있는경우다시 layouting 되고 paint 가발생합니다. 이를 reflow 와 repaint 라고하는데, 발생을억제하거나수행시간을최대한 줄이는것이렌더링최적화의방법입니다. 10

Render 엔진최적화 Reflow 줄이기 Node 개수및 Depth 를최소화 최대한 Node 가 CSS 참조해서 WebBrowser 가 Rendering 하게 동적으로 Node 를생성시튜닝 - innerhtml 을활용한 Node 생성과 createelement 함수를활용한 Node 생성차이. - JavaScript 에서 Node 의제어시계산은미리, Node 속성값지정은한번에. - 여러개의 Node 을만들때는한꺼번에만들어서 Body Node 에한번에매달기. Node display 성능튜닝 - Scroll 성능개선을위해 Translate 를이용함 - IE/Chrome 에서 visibility 속성대신 display 속성으로대체 11

JavaScript 최적화 Node(DOM) 접근을최소화 불필요한변수선언을최소화 JavaScript 파일을 delay loading? 객체 / 배열리터럴사용 arr = new Array(); --> arr = []; obj = new Object(); --> var obj = {}; arr.push(i) --> arr[i] = value; var str = new String --> str = "aaa"; for(~) 문안에 Array.length 구하는함수등을호출하지말고, 외부에서 var length = Array.length 를설정 IE open 시 Main Page 의 Object 나변수접근을최소화 (RPC) 작성된 JavaScript code 튜닝시사용 API Date() / Performance.now() 12

메모리누수 메모리누수인지판단이중요 - 사용하면할수록느려짐 - 특정화면에서만점점느려짐 튜닝방법 웹브라우저의개발자도구를활용 13

참조링크 http://www.w3schools.com/js/js_performance.asp p// /j/j_p p https://www.html5rocks.com/ko/tutorials/speed/v8/ https://www.html5rocks.com/en/tutorials/internals/howbrowserswork/ http://www.phpied.com/rendering-repaint-reflowrelayout-restyle https://en.m.wikipedia.org/wiki/comparison_of_javascript_frameworks 14

Q&A

감사합니다.