<4D F736F F F696E74202D FC5F5BAF1BCD2C7C1C6AE20C0CCBFECC3B65F48544D4C35C6F7B7B35FB9DFC7A5C0DAB7E15FBCF6C1A4>

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

Building Mobile AR Web Applications in HTML5 - Google IO 2012

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

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

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

서현수

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

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

쉽게 풀어쓴 C 프로그래밍

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

쉽게 풀어쓴 C 프로그래밍

Javascript.pages

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

Syrup Store O2O Marketing Platform/Solution

슬라이드 1

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

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

Web Scraper in 30 Minutes 강철

Special Theme _ 모바일웹과 스마트폰 본 고에서는 모바일웹에서의 단말 API인 W3C DAP (Device API and Policy) 의 표준 개발 현황에 대해서 살펴보고 관 련하여 개발 중인 사례를 통하여 이해를 돕고자 한다. 2. 웹 애플리케이션과 네이

Prototype에서 jQuery로 옮겨타기

무제-1

Chapter_02-3_NativeApp

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

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

chap 5: Trees

쉽게 풀어쓴 C 프로그래밍

Speculative Register Promotion Using Advanced Load Address Table (ALAT)

PowerPoint 프레젠테이션

슬라이드 1

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

2파트-07

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

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

PowerPoint 프레젠테이션

untitled

playnode.key

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

Microsoft PowerPoint - Chapter_03.pptx

歯이시홍).PDF

Week13

untitled

슬라이드 1

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

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

Microsoft Word - 김완석.doc

Frama-C/JESSIS 사용법 소개

untitled

e- 11 (Source: IMT strategy 1999 'PERMISSION ' ) The World Best Knowledge Providers Network

<B1DDC0B6C1A4BAB8C8ADC1D6BFE4B5BFC7E C8A3292E687770>

20주년용

PowerPoint Presentation

Lab1

DocsPin_Korean.pages

SproutCore에 홀딱 반했습니다.

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

슬라이드 1

슬라이드 1


Modern Javascript

Microsoft PowerPoint - CoolMessenger_제안서_라이트_200508

PowerPoint 프레젠테이션

Egretia_White_Paper_KR_V1.1.pages

ibmdw_rest_v1.0.ppt

<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2>

Microsoft PowerPoint 세션.ppt

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

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

대표이사등의 확인ㆍ서명 확 인 서 우리는 당사의 대표이사 및 신고업무담당이사로서 이 사업보고서의 기재내용에 대해 상당한 주의를 다하여 직접 확인ㆍ검토한 결과, 중요한 기재사항의 기재 또는 표시의 누락이나 허위의 기재 또는 표시가 없고, 이 사 업보고서에 표시된 기재 또

PowerPoint 프레젠테이션

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

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

Orcad Capture 9.x

Corporate PPT Template

3장

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

크리덴셜_FBASIC_V3

SW

1 SW

쉽게 풀어쓴 C 프로그래밍

PowerPoint 프레젠테이션

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

[Brochure] KOR_TunA

PowerPoint 프레젠테이션

구축환경 OS : Windows 7 그외 OS 의경우교재 p26-40 참조 Windows 의다른버전은조금다르게나타날수있음 Browser : Google Chrome 다른브라우저를사용해도별차이없으나추후수업의모든과정은크롬사용 한


KAA2005.9/10 Ãâ·Â

- 목차 - - ios 개발환경및유의사항. - 플랫폼 ios Project. - Native Controller와플랫폼화면연동. - 플랫폼 Web(js)-Native 간데이터공유. - 플랫폼확장 WN Interface 함수개발. - Network Manager clas

PowerPoint Presentation

Week8-Extra

歯MW-1000AP_Manual_Kor_HJS.PDF

PowerPoint 프레젠테이션

C# Programming Guide - Types

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

<4D F736F F D20C1A4BAB8C5EBBDC5C1F8C8EFC7F9C8B8BFF8B0ED5FBDBAB8B6C6AEBDC3B4EBBAF22E727466>

<4D F736F F F696E74202D20332DC1F6B9DDC1A4BAB8BDC3BDBAC5DB>

3ÆÄÆ®-14

PCServerMgmt7

Transcription:

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

agenda 01 02 03 투비소프트소개웹고속화기술과튜닝방법 Q&A 웹고속화를위한튜닝대상 웹고속화를위한분석방법 초기로딩최적화 노드생성최적화 Render 엔진최적화 JavaScript 최적화 메모리누수 개발생산성지원 2

투비소프트소개

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

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

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

투비소프트소개 Web 과 App 통합개발환경 form.xfdl(js) form.xfdl (JS) Deploy Unified framework(js) Webview or web browser Web Unified framework(js) Devic e API Local DB runtime Render Engine Script engine (V8) Native App Form.xfdl-> generate -> form.js 위즈윅기반의통합개발환경

웹고속화기술과튜닝방법

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

웹 고속화를 위한 분석방법

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

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

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

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 속성으로대체

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()

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

참조링크 http://www.w3schools.com/js/js_performance.asp 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

Q & A

감사합니다.