Universal Rendering

Taegon Kim
Taegon KimFrontend Engineer
Universal Rendering
김태곤 | https://taegon.kim
1 / 51
목차
1. 유니버설 렌더링의 정의
2. 장점과 단점
3. 구현 방법 개요
2 / 51
유니버설 렌더링의 정의
3 / 51
정의 서버-사이드(server-side) 렌더링과 클라이언트-사이드(client-side) 렌더링을
동시에 지원하는 것.
4 / 51
정의
- 서버측
전통적인 방식의 렌더링으로 사용자의 웹 브라우저에서 표현할 정보를 서버에서
HTML 형태로 작성하여 전송한다.
화면 표현에 관한 로직이 서버측에서 실행된다.
5 / 51
정의
- 서버측
- 클라이언트측
웹 애플리케이션에서 많이 사용되는 형태로 서버에서는 JSON 또는 HTML 형태의
부분 데이터만 전달받고 사용자의 웹 브라우저에서 자바스크립트를 사용해 화면을
렌더링한다.
6 / 51
정의
- 서버측
- 클라이언트측
웹 애플리케이션에서 많이 사용되는 형태로 서버에서는 JSON 또는 HTML 형태의
부분 데이터만 전달받고 사용자의 웹 브라우저에서 자바스크립트를 사용해 화면을
렌더링한다.
화면 표현에 관한 로직이 클라이언트측에서 실행된다.
7 / 51
정의
- 서버측
- 클라이언트측
- 유니버설
서버-사이드(server-side) 렌더링과 클라이언트-사이드(client-side) 렌더링을
동시에 지원하는 것. 주로 클라이언트 사이드 렌더링이 위주인 환경에서 출발하여
서버 사이드 렌더링을 추가한다.
8 / 51
그럼 화면 표현 로직은 어디서?
9 / 51
정의
- 서버측
- 클라이언트측
- 유니버설
서버-사이드(server-side) 렌더링과 클라이언트-사이드(client-side) 렌더링을
동시에 지원하는 것. 주로 클라이언트 사이드 렌더링이 위주인 환경에서 출발하여
서버 사이드 렌더링을 추가한다.
화면 표현 로직은 양쪽 모두에서 실행되어야 한다.
10 / 51
정의
- 서버측
- 클라이언트측
- 유니버설
서버-사이드(server-side) 렌더링과 클라이언트-사이드(client-side) 렌더링을
동시에 지원하는 것. 주로 클라이언트 사이드 렌더링이 위주인 환경에서 출발하여
서버 사이드 렌더링을 추가한다.
화면 표현 로직은 양쪽 모두에서 실행되어야 한다.
서버측과 클라이언트측에 완전히 동일한 로직이 존재해야 한다.
(두 언어가 다르면) 변환 또는 재작성이 필요
11 / 51
정의
- 서버측
- 클라이언트측
- 유니버설
서버-사이드(server-side) 렌더링과 클라이언트-사이드(client-side) 렌더링을
동시에 지원하는 것. 주로 클라이언트 사이드 렌더링이 위주인 환경에서 출발하여
서버 사이드 렌더링을 추가한다.
화면 표현 로직은 양쪽 모두에서 실행되어야 한다.
서버측과 클라이언트측에 완전히 동일한 로직이 존재해야 한다.
(두 언어가 다르면) 변환 또는 재작성이 필요
(언어가 같으면) 다를 때보다는 훨씬 편리
12 / 51
정의
- 서버측
- 클라이언트측
- 유니버설
서버-사이드(server-side) 렌더링과 클라이언트-사이드(client-side) 렌더링을
동시에 지원하는 것. 주로 클라이언트 사이드 렌더링이 위주인 환경에서 출발하여
서버 사이드 렌더링을 추가한다.
화면 표현 로직은 양쪽 모두에서 실행되어야 한다.
서버측과 클라이언트측에 완전히 동일한 로직이 존재해야 한다.
(언어가 같으면) 다를 때보다는 훨씬 편리
(두 언어가 다르면) 변환 또는 재작성이 필요
13 / 51
정의
- 서버측
- 클라이언트측
- 유니버설
서버-사이드(server-side) 렌더링과 클라이언트-사이드(client-side) 렌더링을
동시에 지원하는 것. 주로 클라이언트 사이드 렌더링이 위주인 환경에서 출발하여
서버 사이드 렌더링을 추가한다.
화면 표현 로직은 양쪽 모두에서 실행되어야 한다.
서버측과 클라이언트측에 완전히 동일한 로직이 존재해야 한다.
(언어가 같으면) 다를 때보다는 훨씬 편리 
→ 자바스크립트가 주로 사용됨
(두 언어가 다르면) 변환 또는 재작성이 필요
14 / 51
정의
- 서버측
- 클라이언트측
- 유니버설
서버-사이드(server-side) 렌더링과 클라이언트-사이드(client-side) 렌더링을
동시에 지원하는 것. 주로 클라이언트 사이드 렌더링이 위주인 환경에서 출발하여
서버 사이드 렌더링을 추가한다.
화면 표현 로직은 양쪽 모두에서 실행되어야 한다.
서버측과 클라이언트측에 완전히 동일한 로직이 존재해야 한다.
(언어가 같으면) 다를 때보다는 훨씬 편리 
→ 자바스크립트가 주로 사용됨
클라이언트 라이브러리로 시작한 React의 경우, 단순히 서버사이드
렌더링이라고 부르기도 함
(두 언어가 다르면) 변환 또는 재작성이 필요
15 / 51
정의
- 서버측
- 클라이언트측
- 유니버설
서버-사이드(server-side) 렌더링과 클라이언트-사이드(client-side) 렌더링을
동시에 지원하는 것. 주로 클라이언트 사이드 렌더링이 위주인 환경에서 출발하여
서버 사이드 렌더링을 추가한다.
화면 표현 로직은 양쪽 모두에서 실행되어야 한다.
서버측과 클라이언트측에 완전히 동일한 로직이 존재해야 한다.
(언어가 같으면) 다를 때보다는 훨씬 편리 
→ 자바스크립트가 주로 사용됨
클라이언트 라이브러리로 시작한 React의 경우, 단순히 서버사이드
렌더링이라고 부르기도 함
(두 언어가 다르면) 변환 또는 재작성이 필요
16 / 51
장점과 단점
17 / 51
장점
- 빠르다
페이지를 더 빠르게 읽어들일 수 있다.
18 / 51
장점
- 빠르다
페이지를 더 빠르게 읽어들일 수 있다. 
19 / 51
장점
- 빠르다
페이지를 더 빠르게 읽어들일 수 있다. 
20 / 51
장점
- 빠르다
페이지를 더 빠르게 읽어들일 수 있다.
 사용자 경험이 향상될 수 있다.
21 / 51
장점
- 빠르다
페이지를 더 빠르게 읽어들일 수 있다.
 사용자 경험이 향상될 수 있다.
 별 차이 없다(goo.gl/Mpi5xI).
22 / 51
장점
- 빠르다
페이지를 더 빠르게 읽어들일 수 있다.
 사용자 경험이 향상될 수 있다.
 별 차이 없다(goo.gl/Mpi5xI)..
샘플 데이터
23 / 51
장점
- 빠르다
페이지를 더 빠르게 읽어들일 수 있다.
 사용자 경험이 향상될 수 있다.
 별 차이 없다(goo.gl/Mpi5xI).
첫 데이터를 그리는 시간
24 / 51
장점
- 빠르다
페이지를 더 빠르게 읽어들일 수 있다.
 사용자 경험이 향상될 수 있다.
 별 차이 없다(goo.gl/Mpi5xI).
마지막 데이터를 그리는 시간
25 / 51
장점
- 빠르다
페이지를 더 빠르게 읽어들일 수 있다.
 사용자 경험이 향상될 수 있다.
 별 차이 없다(goo.gl/Mpi5xI).
   확실히 서버 렌더링이 빠름(goo.gl/GfXMuK).내가 해봐서 아는데
I'd argue that ... the server rendered app will stay significantly faster
than the same app rendered only on the client.
- Malte Ubl: Google AMP 프로젝트의 Tech lead
26 / 51
장점
- 빠르다
페이지를 더 빠르게 읽어들일 수 있다.
 사용자 경험이 향상될 수 있다.
 별 차이 없다(goo.gl/Mpi5xI).
   확실히 서버 렌더링이 빠름(goo.gl/GfXMuK).
 페북/인스타그램도 안 쓰고, UX에는 딱히 도움되는지
못찾음(goo.gl/qvMoif).
내가 해봐서 아는데
I'd argue that ... the server rendered app will stay significantly faster
than the same app rendered only on the client.
- Malte Ubl: Google AMP 프로젝트의 Tech lead
We haven't found sr useful for real users.
- Crhistoph Pojer: 페이스북 엔지니어
27 / 51
28 / 51
장점
- 빠르다
- 옳다
웹의 이념인 "웹 페이지는 문서(A webpage is a document)"라는 생각을 지지한다면
각각의 주소에 해당하는 데이터를 반환해주는 것이 옳다.
29 / 51
장점
- 빠르다
- 옳다
- SEO
자바스크립트를 실행하지 않아도 콘텐츠를 읽을 수 있으므로 검색 엔진
최적화(SEO: Search Engine Optimization) 측면에서 유리하다(goo.gl/qvMoif).
instagram.com uses server rendering for SEO.
- Crhistoph Pojer: 페이스북 엔지니어
30 / 51
장점
- 빠르다
- 옳다
- SEO
자바스크립트를 실행하지 않아도 콘텐츠를 읽을 수 있으므로 검색 엔진
최적화(SEO: Search Engine Optimization) 측면에서 유리하다(goo.gl/qvMoif).
페이스북, 트위터 등 다른 서비스와 연동에 유리하다. 
instagram.com uses server rendering for SEO.
- Crhistoph Pojer: 페이스북 엔지니어
31 / 51
단점
- 업무부담
같은 코드를 써도 테스트는 각각 해야한다.
아무래도 고려할 점이 많고 더 수고롭다. 
개발자가 넘쳐나면 모를까 페이스북도 안쓰는 걸 굳이...?
유지보수는 점점 어려워진다.
그 시간에 다른 거 하는 게 더 이득이다.
32 / 51
단점
- 업무부담
- 필요없다
메일이나 업무용 소프트웨어 등 한 번 접속하면 거의 안 끄는 앱에선 초기 로딩
시간이 거의 의미가 없다.
다른 서비스와 연동할 필요없는 사내 인트라넷이나 금융 관련
애플리케이션이라면 굳이 필요없다.
구글에서만 검색되면 된다. 구글의 크롤러는 자바스크립트도 실행한다.
33 / 51
용도에 맞게 선택 사용하라
34 / 51
구현 방법
35 / 51
시간 표시 - HTML 출력
<!doctype html>
<html>
<head>
<title>시간 표시</title>
<script src="app.js"></script>
</head>
<body>
<div id="root">
<p>Wed Dec 07 2016 15:00:17 GMT+0900 (KST)</p>
</div>
</body>
</html>
36 / 51
시간 표시 - React 앱
// app.js
import React from 'react';
export default class App extends React.Element {
componentDidMount() {
this.timeoutId = setInterval( this.tick.bind(this), 1000 );
}
componentWillUnmount() {
clearTimeout(this.timeoutId);
}
tick() {
const dateStr = new Date().toString();
this.setState({ date: dateStr });
}
render() {
return <p>{this.state.date}</p>
}
}
37 / 51
시간 표시 - 클라이언트
// client.js
import React from 'react';
import { render } from 'react-dom';
import App from './app';
render(
<App />,
document.getElementById('root')
);
38 / 51
Node.js 서버
가장 간편한 경우
39 / 51
Node.js 서버
// server.js
import { renderToString } from 'react-dom/server';
import App from './app';
function handleRender(res, res) {
const html = renderToString( <App /> );
res.send(`<!doctype html>
<html>
<head>
<title>시간 표시</title>
<script src="app.js"></script>
</head>
<body>
<div id="root">${html}</div>
</body>
</html>`);
}
40 / 51
다른 언어 서버
PHP, Python, Java
41 / 51
구성1: 다른 언어 웹서버 + Node 렌더링
사용자가 최초에 접속할 때(=서버 렌더링이 필요할 때)만 Node 렌더링 서버를 사용해 HTML 렌더링.
인스타그램에서 Django + Node 구성으로 사용했었던 방식(goo.gl/L9agTw).
간단한 Node 렌더링 서버 소스는 React on Rails의 Node.js for Server Rendering 챕터(goo.gl/Ib8TA4)
참고.
최초 접속시 Node 렌더링 서버 사용
42 / 51
구성1: 다른 언어 웹서버 + Node 렌더링
최초 렌더링 이후부터는 API를 통해 서버에 데이터를 요청하고 이를 사용해 클라이언트에서 렌더링
클라이언트 렌더링
43 / 51
구성1: 다른 언어 웹서버 + Node 렌더링
Node 렌더링 서버대신 쉘 스크립트를 사용하는 경우도 있음
Node 쉘 사용
44 / 51
구성2: Node 웹 서버 + 다른 언어 API 서버
Node 렌더링 서버대신 쉘 스크립트를 사용하는 경우도 있음
최초 접속시 Node 웹 서버가 렌더링 결과 반환
45 / 51
구성2: Node 웹 서버 + 다른 언어 API 서버
최초 렌더링 이후는 구성 1과 동일하게 API 서버와만 통신
클라이언트 렌더링
46 / 51
구성3: 다른 언어 웹서버 + 자바스크립트 확장 모듈
최초 렌더링할 때 각 언어에 포함된 자바스크립트 확장 모듈을 사용해서 렌더링
각 언어별 자바스크립트 확장 모듈이 제대로 유지되지 않을 수 있다는 불안 요소가 있음. 일례로 PyV8은
2012년 이후 개발되고 있지 않음.
하지만 페이스북에서 공개한 React-PHP-V8Js(goo.gl/ebIEa6) 라이브러리의 사례도 있음.
자바스크립트 모듈을 활용한 렌더링
47 / 51
구성3: 다른 언어 웹서버 + 자바스크립트 확장 모듈
최초 렌더링 이후는 구성 1과 동일하게 API 서버와만 통신. 자바스크립트 모듈은 사용되지 않음.
클라이언트 렌더링
48 / 51
Best Practices
npm 버전보다는 브라우저에서 사용할 수 있게 제공되는 형태의 성능이 더 낫다.
NODE_ENV=production으로 설정
HTML 결과물은 가능하다면 캐시
JS 모듈보다는 Node 서버 사용
49 / 51
Best Practices
npm 버전보다는 브라우저에서 사용할 수 있게 제공되는 형태의 성능이 더 낫다.
NODE_ENV=production으로 설정
HTML 결과물은 가능하다면 캐시
JS 모듈보다는 Node 서버 사용
50 / 51
감사합니다.
51 / 51
1 of 51

Recommended

Introduction to React JS by
Introduction to React JSIntroduction to React JS
Introduction to React JSBethmi Gunasekara
422 views31 slides
An introduction to Vue.js by
An introduction to Vue.jsAn introduction to Vue.js
An introduction to Vue.jsPagepro
440 views127 slides
Express node js by
Express node jsExpress node js
Express node jsYashprit Singh
2.5K views28 slides
An introduction to React.js by
An introduction to React.jsAn introduction to React.js
An introduction to React.jsEmanuele DelBono
7.3K views97 slides
React js by
React jsReact js
React jsNikhil Karkra
562 views16 slides
ReactJs by
ReactJsReactJs
ReactJsSahana Banerjee
463 views28 slides

More Related Content

What's hot

Expressjs by
ExpressjsExpressjs
ExpressjsYauheni Nikanovich
605 views17 slides
React JS - Introduction by
React JS - IntroductionReact JS - Introduction
React JS - IntroductionSergey Romaneko
2.6K views25 slides
Basic Concept of Node.js & NPM by
Basic Concept of Node.js & NPMBasic Concept of Node.js & NPM
Basic Concept of Node.js & NPMBhargav Anadkat
1.2K views24 slides
Introduction à React by
Introduction à ReactIntroduction à React
Introduction à ReactThibault Martinez
1.8K views26 slides
Workshop 21: React Router by
Workshop 21: React RouterWorkshop 21: React Router
Workshop 21: React RouterVisual Engineering
2.8K views12 slides
React js by
React jsReact js
React jsOswald Campesato
3.9K views79 slides

What's hot(20)

Basic Concept of Node.js & NPM by Bhargav Anadkat
Basic Concept of Node.js & NPMBasic Concept of Node.js & NPM
Basic Concept of Node.js & NPM
Bhargav Anadkat1.2K views
Express JS by Alok Guha
Express JSExpress JS
Express JS
Alok Guha2.5K views
React + Redux Introduction by Nikolaus Graf
React + Redux IntroductionReact + Redux Introduction
React + Redux Introduction
Nikolaus Graf25.6K views
React Router: React Meetup XXL by Rob Gietema
React Router: React Meetup XXLReact Router: React Meetup XXL
React Router: React Meetup XXL
Rob Gietema2.3K views
A la découverte de vue.js by Bruno Bonnin
A la découverte de vue.jsA la découverte de vue.js
A la découverte de vue.js
Bruno Bonnin2.4K views
React Js Simplified by Sunil Yadav
React Js SimplifiedReact Js Simplified
React Js Simplified
Sunil Yadav344 views
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T... by Edureka!
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
Node.js Tutorial for Beginners | Node.js Web Application Tutorial | Node.js T...
Edureka!3K views
야, 너두 짤수있어 - IaC Basic(210131 김성익) by SeongIkKim2
야, 너두 짤수있어 - IaC Basic(210131 김성익)야, 너두 짤수있어 - IaC Basic(210131 김성익)
야, 너두 짤수있어 - IaC Basic(210131 김성익)
SeongIkKim2175 views
Introduction to ReactJS by Knoldus Inc.
Introduction to ReactJSIntroduction to ReactJS
Introduction to ReactJS
Knoldus Inc.2.3K views

Viewers also liked

React Native를 사용한
 초간단 커뮤니티 앱 제작 by
React Native를 사용한
 초간단 커뮤니티 앱 제작React Native를 사용한
 초간단 커뮤니티 앱 제작
React Native를 사용한
 초간단 커뮤니티 앱 제작Taegon Kim
50K views36 slides
패스트캠퍼스 프론트엔드 강의 오리엔테이션 by
패스트캠퍼스 프론트엔드 강의 오리엔테이션패스트캠퍼스 프론트엔드 강의 오리엔테이션
패스트캠퍼스 프론트엔드 강의 오리엔테이션Taegon Kim
43.8K views60 slides
ReactJS로 시작하는 멀티플랫폼 개발하기 by
ReactJS로 시작하는 멀티플랫폼 개발하기ReactJS로 시작하는 멀티플랫폼 개발하기
ReactJS로 시작하는 멀티플랫폼 개발하기Taegon Kim
34.1K views125 slides
ReactJS | 서버와 클라이어트에서 동시에 사용하는 by
ReactJS | 서버와 클라이어트에서 동시에 사용하는ReactJS | 서버와 클라이어트에서 동시에 사용하는
ReactJS | 서버와 클라이어트에서 동시에 사용하는Taegon Kim
36.2K views58 slides
XpressEngine : 보드에서 CMS로 by
XpressEngine : 보드에서 CMS로XpressEngine : 보드에서 CMS로
XpressEngine : 보드에서 CMS로Taegon Kim
3.4K views54 slides
진화하는 소셜 큐레이션 서비스와 관련 기술 by
진화하는 소셜 큐레이션 서비스와 관련 기술진화하는 소셜 큐레이션 서비스와 관련 기술
진화하는 소셜 큐레이션 서비스와 관련 기술Taegon Kim
4.4K views63 slides

Viewers also liked(20)

React Native를 사용한
 초간단 커뮤니티 앱 제작 by Taegon Kim
React Native를 사용한
 초간단 커뮤니티 앱 제작React Native를 사용한
 초간단 커뮤니티 앱 제작
React Native를 사용한
 초간단 커뮤니티 앱 제작
Taegon Kim50K views
패스트캠퍼스 프론트엔드 강의 오리엔테이션 by Taegon Kim
패스트캠퍼스 프론트엔드 강의 오리엔테이션패스트캠퍼스 프론트엔드 강의 오리엔테이션
패스트캠퍼스 프론트엔드 강의 오리엔테이션
Taegon Kim43.8K views
ReactJS로 시작하는 멀티플랫폼 개발하기 by Taegon Kim
ReactJS로 시작하는 멀티플랫폼 개발하기ReactJS로 시작하는 멀티플랫폼 개발하기
ReactJS로 시작하는 멀티플랫폼 개발하기
Taegon Kim34.1K views
ReactJS | 서버와 클라이어트에서 동시에 사용하는 by Taegon Kim
ReactJS | 서버와 클라이어트에서 동시에 사용하는ReactJS | 서버와 클라이어트에서 동시에 사용하는
ReactJS | 서버와 클라이어트에서 동시에 사용하는
Taegon Kim36.2K views
XpressEngine : 보드에서 CMS로 by Taegon Kim
XpressEngine : 보드에서 CMS로XpressEngine : 보드에서 CMS로
XpressEngine : 보드에서 CMS로
Taegon Kim3.4K views
진화하는 소셜 큐레이션 서비스와 관련 기술 by Taegon Kim
진화하는 소셜 큐레이션 서비스와 관련 기술진화하는 소셜 큐레이션 서비스와 관련 기술
진화하는 소셜 큐레이션 서비스와 관련 기술
Taegon Kim4.4K views
Fiddler: 웹 디버깅 프록시 by Taegon Kim
Fiddler: 웹 디버깅 프록시Fiddler: 웹 디버깅 프록시
Fiddler: 웹 디버깅 프록시
Taegon Kim25.9K views
오늘 당장 시작하는 HTML5 by Taegon Kim
오늘 당장 시작하는 HTML5오늘 당장 시작하는 HTML5
오늘 당장 시작하는 HTML5
Taegon Kim6.4K views
jQuery Trend by Taegon Kim
jQuery TrendjQuery Trend
jQuery Trend
Taegon Kim2.1K views
React in Native Apps - Meetup React - 20150409 by Minko3D
React in Native Apps - Meetup React - 20150409React in Native Apps - Meetup React - 20150409
React in Native Apps - Meetup React - 20150409
Minko3D28.9K views
웹 Front-End 실무 이야기 by JinKwon Lee
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기
JinKwon Lee54.3K views
React JS and why it's awesome by Andrew Hull
React JS and why it's awesomeReact JS and why it's awesome
React JS and why it's awesome
Andrew Hull108K views
아마존 AWS 클라우드에서 LEMP(NginX) stack 설치 매뉴얼 by Hyuk Kwon
아마존 AWS 클라우드에서 LEMP(NginX) stack 설치 매뉴얼아마존 AWS 클라우드에서 LEMP(NginX) stack 설치 매뉴얼
아마존 AWS 클라우드에서 LEMP(NginX) stack 설치 매뉴얼
Hyuk Kwon2K views
PHP를 위한 NginX(엔진엑스) 시작과 설정 by Jin wook
PHP를 위한 NginX(엔진엑스) 시작과 설정PHP를 위한 NginX(엔진엑스) 시작과 설정
PHP를 위한 NginX(엔진엑스) 시작과 설정
Jin wook7.3K views
코딩에는 좋은 노트북이 필요 없다 by Han Sung Kim
코딩에는 좋은 노트북이 필요 없다코딩에는 좋은 노트북이 필요 없다
코딩에는 좋은 노트북이 필요 없다
Han Sung Kim3.7K views
React Native in Production by Seokjun Kim
React Native in ProductionReact Native in Production
React Native in Production
Seokjun Kim1.4K views
Fiddler 피들러에 대해 알아보자 by 용진 조
Fiddler 피들러에 대해 알아보자Fiddler 피들러에 대해 알아보자
Fiddler 피들러에 대해 알아보자
용진 조22.4K views
워드프레스로 웹 접근성 칭찬받기 (워드프레스 미트업) by Sungmin Jang
워드프레스로 웹 접근성 칭찬받기 (워드프레스 미트업)워드프레스로 웹 접근성 칭찬받기 (워드프레스 미트업)
워드프레스로 웹 접근성 칭찬받기 (워드프레스 미트업)
Sungmin Jang4.2K views
프론트엔드 개발자를 위한 크롬 렌더링 성능 인자 이해하기 by Chang W. Doh
프론트엔드 개발자를 위한 크롬 렌더링 성능 인자 이해하기프론트엔드 개발자를 위한 크롬 렌더링 성능 인자 이해하기
프론트엔드 개발자를 위한 크롬 렌더링 성능 인자 이해하기
Chang W. Doh3.9K views

Similar to Universal Rendering

웹:앱 기술 동향 by
웹:앱 기술 동향웹:앱 기술 동향
웹:앱 기술 동향ssuser0e53c8
40 views78 slides
3일차-닷넷 분산 기술의 이해 (인피니트 강의자료) by
3일차-닷넷 분산 기술의 이해 (인피니트 강의자료)3일차-닷넷 분산 기술의 이해 (인피니트 강의자료)
3일차-닷넷 분산 기술의 이해 (인피니트 강의자료)KH Park (박경훈)
2.5K views69 slides
[24]안드로이드 웹뷰의 모든것 by
[24]안드로이드 웹뷰의 모든것[24]안드로이드 웹뷰의 모든것
[24]안드로이드 웹뷰의 모든것NAVER Engineering
9.3K views37 slides
[KAU UMC 컨퍼런스] Java 기반 Web의 역사 - 김준기 by
[KAU UMC 컨퍼런스] Java 기반 Web의 역사 - 김준기[KAU UMC 컨퍼런스] Java 기반 Web의 역사 - 김준기
[KAU UMC 컨퍼런스] Java 기반 Web의 역사 - 김준기JunGi Kim
26 views49 slides
프론트엔드 개발 첫걸음 by
프론트엔드 개발 첫걸음프론트엔드 개발 첫걸음
프론트엔드 개발 첫걸음DataUs
111 views19 slides
우리가 몰랐던 크롬 개발자 도구 by
우리가 몰랐던 크롬 개발자 도구우리가 몰랐던 크롬 개발자 도구
우리가 몰랐던 크롬 개발자 도구Jae Sung Park
77.2K views27 slides

Similar to Universal Rendering(20)

웹:앱 기술 동향 by ssuser0e53c8
웹:앱 기술 동향웹:앱 기술 동향
웹:앱 기술 동향
ssuser0e53c840 views
3일차-닷넷 분산 기술의 이해 (인피니트 강의자료) by KH Park (박경훈)
3일차-닷넷 분산 기술의 이해 (인피니트 강의자료)3일차-닷넷 분산 기술의 이해 (인피니트 강의자료)
3일차-닷넷 분산 기술의 이해 (인피니트 강의자료)
KH Park (박경훈)2.5K views
[24]안드로이드 웹뷰의 모든것 by NAVER Engineering
[24]안드로이드 웹뷰의 모든것[24]안드로이드 웹뷰의 모든것
[24]안드로이드 웹뷰의 모든것
NAVER Engineering9.3K views
[KAU UMC 컨퍼런스] Java 기반 Web의 역사 - 김준기 by JunGi Kim
[KAU UMC 컨퍼런스] Java 기반 Web의 역사 - 김준기[KAU UMC 컨퍼런스] Java 기반 Web의 역사 - 김준기
[KAU UMC 컨퍼런스] Java 기반 Web의 역사 - 김준기
JunGi Kim26 views
프론트엔드 개발 첫걸음 by DataUs
프론트엔드 개발 첫걸음프론트엔드 개발 첫걸음
프론트엔드 개발 첫걸음
DataUs111 views
우리가 몰랐던 크롬 개발자 도구 by Jae Sung Park
우리가 몰랐던 크롬 개발자 도구우리가 몰랐던 크롬 개발자 도구
우리가 몰랐던 크롬 개발자 도구
Jae Sung Park77.2K views
Cloud-Barista 제1차 오픈세미나 - CB-Spider : 멀티 클라우드 인프라 연동 프레임워크(1st Open Seminar, ... by Cloud-Barista Community
Cloud-Barista 제1차 오픈세미나 - CB-Spider : 멀티 클라우드 인프라 연동 프레임워크(1st Open Seminar, ...Cloud-Barista 제1차 오픈세미나 - CB-Spider : 멀티 클라우드 인프라 연동 프레임워크(1st Open Seminar, ...
Cloud-Barista 제1차 오픈세미나 - CB-Spider : 멀티 클라우드 인프라 연동 프레임워크(1st Open Seminar, ...
[2018] 프런트엔드 성능 최적화 by NHN FORWARD
[2018] 프런트엔드 성능 최적화[2018] 프런트엔드 성능 최적화
[2018] 프런트엔드 성능 최적화
NHN FORWARD2.6K views
[D2 오픈세미나]3.web view hybridapp by NAVER D2
[D2 오픈세미나]3.web view hybridapp[D2 오픈세미나]3.web view hybridapp
[D2 오픈세미나]3.web view hybridapp
NAVER D220.9K views
Cloud-Barista 제2차 오픈 컨퍼런스 : CB-Waterstrider-멀티 클라우드 서비스 공통 플랫폼 웹도구(Cloud-Bari... by Cloud-Barista Community
Cloud-Barista 제2차 오픈 컨퍼런스 : CB-Waterstrider-멀티 클라우드 서비스 공통 플랫폼 웹도구(Cloud-Bari...Cloud-Barista 제2차 오픈 컨퍼런스 : CB-Waterstrider-멀티 클라우드 서비스 공통 플랫폼 웹도구(Cloud-Bari...
Cloud-Barista 제2차 오픈 컨퍼런스 : CB-Waterstrider-멀티 클라우드 서비스 공통 플랫폼 웹도구(Cloud-Bari...
Single Page Web by 종복 박
Single Page WebSingle Page Web
Single Page Web
종복 박863 views
파크히어 Realm 사용 사례 by 선협 이
파크히어 Realm 사용 사례파크히어 Realm 사용 사례
파크히어 Realm 사용 사례
선협 이3.7K views
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유 by Sang Seok Lim
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
Sang Seok Lim13.4K views
121 벡터기반 지하철 노선도 렌더링 엔진 by NAVER D2
121 벡터기반 지하철 노선도 렌더링 엔진121 벡터기반 지하철 노선도 렌더링 엔진
121 벡터기반 지하철 노선도 렌더링 엔진
NAVER D29.4K views
Adobe Dreamweaver CS5.5 를 이용한 HTML5 개발 by JongKwang Kim
Adobe Dreamweaver CS5.5 를 이용한 HTML5 개발Adobe Dreamweaver CS5.5 를 이용한 HTML5 개발
Adobe Dreamweaver CS5.5 를 이용한 HTML5 개발
JongKwang Kim1.9K views

Recently uploaded

클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략 by
클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략
클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략Open Source Consulting
114 views25 slides
컴포넌트 설계 by
컴포넌트 설계컴포넌트 설계
컴포넌트 설계Wonjun Hwang
11 views21 slides
CES 처음 가는 분을 위한 가이드 by
CES 처음 가는 분을 위한 가이드CES 처음 가는 분을 위한 가이드
CES 처음 가는 분을 위한 가이드Minsuk Lee
677 views31 slides
Exploring Deep Learning Acceleration Technology Embedded in LLMs by
Exploring Deep Learning Acceleration Technology Embedded in LLMsExploring Deep Learning Acceleration Technology Embedded in LLMs
Exploring Deep Learning Acceleration Technology Embedded in LLMsTae Young Lee
26 views53 slides
성능 테스트 by
성능 테스트성능 테스트
성능 테스트Wonjun Hwang
8 views13 slides
해커가 되고 싶은 자는 나에게... 정보보안 입문과 길 찾기 by
해커가 되고 싶은 자는 나에게... 정보보안 입문과 길 찾기해커가 되고 싶은 자는 나에게... 정보보안 입문과 길 찾기
해커가 되고 싶은 자는 나에게... 정보보안 입문과 길 찾기Jinkyoung Kim
46 views139 slides

Recently uploaded(6)

클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략 by Open Source Consulting
클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략
클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략
CES 처음 가는 분을 위한 가이드 by Minsuk Lee
CES 처음 가는 분을 위한 가이드CES 처음 가는 분을 위한 가이드
CES 처음 가는 분을 위한 가이드
Minsuk Lee677 views
Exploring Deep Learning Acceleration Technology Embedded in LLMs by Tae Young Lee
Exploring Deep Learning Acceleration Technology Embedded in LLMsExploring Deep Learning Acceleration Technology Embedded in LLMs
Exploring Deep Learning Acceleration Technology Embedded in LLMs
Tae Young Lee26 views
해커가 되고 싶은 자는 나에게... 정보보안 입문과 길 찾기 by Jinkyoung Kim
해커가 되고 싶은 자는 나에게... 정보보안 입문과 길 찾기해커가 되고 싶은 자는 나에게... 정보보안 입문과 길 찾기
해커가 되고 싶은 자는 나에게... 정보보안 입문과 길 찾기
Jinkyoung Kim46 views

Universal Rendering