스타트업에 가장 필요한 것은? 바로 스피드입니다.
오픈 API는 스타트업이 스피드업할 수 있는 유용한 도구라 할 수 있습니다.
품질 좋은 오픈 API,
즉 가이드나 플랫폼 SDK까지 잘 갖추고 있는 오픈 API를 활용한다면
더욱더 빠르게 서비스를 개발해 혁신을 가속화할 수 있을 것입니다.
5월 10일, 스타트업의 스피드업을 도울 네이버 오픈 API를 소개합니다.
2Naver Open Android API Translation At DCampJeikei Park
■ 제 목 : Naver 오픈api-android-tran-20160529
■ 주제 : 네이버 오픈API를 활용한 안드로이드 통역앱 만들기
■ 내용 :
- 통역앱 개발을 위한 네이버 오픈API 소개
- 통역앱 안드로이드 화면 구성
- 안드로이드앱에서 각 API 호출 및 처리
- 통역앱 작동을 위한 애플리케이션 처리 노하우
■ 난이도 수준: 초급
■ 발표자 소개: 옥상훈 강사
- 現 표준프레임워크 오픈커뮤니티 에반젤리스트
- 現 네이버 랩스 D2에반젤리스트
- 現 네이버 개발자센터 & 오픈 API 담당
- 前 한국Adobe 시스템즈 컨설턴트
- 前 한국 자바 개발자협의회 회장
■ 일시: 2016. 5. 31(화) 19:00~21:00(120분)
■ 장소: 디캠프 6층 다목적홀 (선정릉역 위치)
스타트업에 가장 필요한 것은? 바로 스피드입니다.
오픈 API는 스타트업이 스피드업할 수 있는 유용한 도구라 할 수 있습니다.
품질 좋은 오픈 API,
즉 가이드나 플랫폼 SDK까지 잘 갖추고 있는 오픈 API를 활용한다면
더욱더 빠르게 서비스를 개발해 혁신을 가속화할 수 있을 것입니다.
5월 10일, 스타트업의 스피드업을 도울 네이버 오픈 API를 소개합니다.
2Naver Open Android API Translation At DCampJeikei Park
■ 제 목 : Naver 오픈api-android-tran-20160529
■ 주제 : 네이버 오픈API를 활용한 안드로이드 통역앱 만들기
■ 내용 :
- 통역앱 개발을 위한 네이버 오픈API 소개
- 통역앱 안드로이드 화면 구성
- 안드로이드앱에서 각 API 호출 및 처리
- 통역앱 작동을 위한 애플리케이션 처리 노하우
■ 난이도 수준: 초급
■ 발표자 소개: 옥상훈 강사
- 現 표준프레임워크 오픈커뮤니티 에반젤리스트
- 現 네이버 랩스 D2에반젤리스트
- 現 네이버 개발자센터 & 오픈 API 담당
- 前 한국Adobe 시스템즈 컨설턴트
- 前 한국 자바 개발자협의회 회장
■ 일시: 2016. 5. 31(화) 19:00~21:00(120분)
■ 장소: 디캠프 6층 다목적홀 (선정릉역 위치)
This document introduces REST.
Explain about what is REST? and advanced REST feature.
It also introduce REST actual implementation with Jersey and REST infrastructure architecture with ESB based on actual delivery experience.
One more interest thing is that it has REST client stub generator & service contract generator design
The document discusses the WebKit project and how to contribute to it. It describes WebKit as an open source web browser engine used in browsers and other applications. It provides information on WebKit's architecture, goals, features, ports to different platforms, and the WebKit2 API. It also discusses the large WebKit community, how work is tracked, and how developers can contribute through bug fixing, new features, or creating new ports.
The WebView Role in Hybrid ApplicationsHaim Michael
This document provides an overview of using WebView in hybrid mobile applications. It discusses how WebView allows embedding web content in native apps and describes how to load URLs, enable JavaScript, and handle events. It also covers interacting between JavaScript and Java code, debugging with Chrome DevTools, and frameworks like PhoneGap that simplify hybrid app development. Resources for further learning include the PhoneGap and Android developer websites.
Hardware Acceleration in WebKit provides concise summaries of key points:
1) WebKit uses various techniques like off-screen buffers, JIT compilation, and graphics acceleration to improve browsing performance. Graphics acceleration reduces CPU usage by offloading tasks like rendering to the GPU.
2) WebKit supports hardware acceleration of video playback and 2D canvas rendering through interfaces to video and graphics hardware. This allows smoother playback and animation.
3) Accelerated compositing in WebKit uses multiple tree structures integrated with the rendering process to take advantage of GPU acceleration for CSS3 effects, transitions, animations, and HTML5 video through interfaces like OpenCL.
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolutionjuanjosanchezpenas
This document summarizes Juan J. Sánchez's presentation on WebKit and Blink. It discusses:
1) The history and goals of the WebKit project from 2004-2013, including its features, architecture, ports, and licenses.
2) The WebKit community, including types of contributors, tools used, and events held.
3) The creation of Blink in 2013 when Google forked WebKit, the motivations behind it, and its impact on the WebKit community.
4) The current status of WebKit and Blink projects and their future perspectives.
The document discusses the process of rendering and layout in WebKit. It explains that WebKit parses HTML into a DOM tree and applies CSS styles to create a render tree. It then lays out elements based on their metrics and computed styles to establish positioning. Finally, it paints the render tree onto the screen by traversing it and issuing drawing commands to the underlying graphics system. The document provides details on how style calculations, layout, and painting optimizations work to efficiently display content on the web.
The document discusses the main components of a web browser, including the user interface, browser engine, rendering engine, networking, JavaScript interpreter, UI backend, and data storage. It provides details on how different browsers use different rendering engines, such as Gecko, WebKit, Blink, and Trident. The rendering engine is responsible for parsing HTML and CSS to construct the DOM and render tree before layout, painting and displaying the web page.
This document introduces REST.
Explain about what is REST? and advanced REST feature.
It also introduce REST actual implementation with Jersey and REST infrastructure architecture with ESB based on actual delivery experience.
One more interest thing is that it has REST client stub generator & service contract generator design
The document discusses the WebKit project and how to contribute to it. It describes WebKit as an open source web browser engine used in browsers and other applications. It provides information on WebKit's architecture, goals, features, ports to different platforms, and the WebKit2 API. It also discusses the large WebKit community, how work is tracked, and how developers can contribute through bug fixing, new features, or creating new ports.
The WebView Role in Hybrid ApplicationsHaim Michael
This document provides an overview of using WebView in hybrid mobile applications. It discusses how WebView allows embedding web content in native apps and describes how to load URLs, enable JavaScript, and handle events. It also covers interacting between JavaScript and Java code, debugging with Chrome DevTools, and frameworks like PhoneGap that simplify hybrid app development. Resources for further learning include the PhoneGap and Android developer websites.
Hardware Acceleration in WebKit provides concise summaries of key points:
1) WebKit uses various techniques like off-screen buffers, JIT compilation, and graphics acceleration to improve browsing performance. Graphics acceleration reduces CPU usage by offloading tasks like rendering to the GPU.
2) WebKit supports hardware acceleration of video playback and 2D canvas rendering through interfaces to video and graphics hardware. This allows smoother playback and animation.
3) Accelerated compositing in WebKit uses multiple tree structures integrated with the rendering process to take advantage of GPU acceleration for CSS3 effects, transitions, animations, and HTML5 video through interfaces like OpenCL.
WebKit and Blink: Bridging the Gap Between the Kernel and the HTML5 Revolutionjuanjosanchezpenas
This document summarizes Juan J. Sánchez's presentation on WebKit and Blink. It discusses:
1) The history and goals of the WebKit project from 2004-2013, including its features, architecture, ports, and licenses.
2) The WebKit community, including types of contributors, tools used, and events held.
3) The creation of Blink in 2013 when Google forked WebKit, the motivations behind it, and its impact on the WebKit community.
4) The current status of WebKit and Blink projects and their future perspectives.
The document discusses the process of rendering and layout in WebKit. It explains that WebKit parses HTML into a DOM tree and applies CSS styles to create a render tree. It then lays out elements based on their metrics and computed styles to establish positioning. Finally, it paints the render tree onto the screen by traversing it and issuing drawing commands to the underlying graphics system. The document provides details on how style calculations, layout, and painting optimizations work to efficiently display content on the web.
The document discusses the main components of a web browser, including the user interface, browser engine, rendering engine, networking, JavaScript interpreter, UI backend, and data storage. It provides details on how different browsers use different rendering engines, such as Gecko, WebKit, Blink, and Trident. The rendering engine is responsible for parsing HTML and CSS to construct the DOM and render tree before layout, painting and displaying the web page.
AWS 클라우드를 활용하면 사용자의 트래픽에 따라 IT 인프라 아키텍처를 확장할 수 있습니다. 이번 강연에서는 서비스 초기의 작은 트래픽에 대응할 수 있는 단순한 아키텍처로 시작해 사업 성장 후의 수백만 사용자에 달하는 대규모 트래픽을 지탱할 수 있는 고확장성 아키텍처에 이르기까지의 단계별 아키텍처 구성 방법에 대해 소개해 드리고 컴퓨팅 및 데이터베이스 선택 및 사용자 증가에 따른 트래픽 경감 방법, 오토스케일링 및 모니터링과 자동화, DB 부하 분산, 고가용성 확보 등에 대한 다양한 모범사례를 알려드릴 예정입니다.
[TechDays Mini]에서 발표한 "ASP.NET Web API를 활용한 RESTful 서비스 개발" 세션의 발표 자료입니다.
※ 이 자료는 업로드 시점 대비 오래전 진행한 내용을 다루고 있습니다. 변경된 부분이 있거나 유용하지 않을 수 있으니 참고하시길 바랍니다.
[TechDays Korea 2013]에서 발표한 "ASP.NET Web API를 이용한 오픈 API 개발" 세션의 발표 자료입니다.
※ 이 자료는 업로드 시점 대비 오래전 진행한 내용을 다루고 있습니다. 변경된 부분이 있거나 유용하지 않을 수 있으니 참고 부탁드립니다.
1. RESTful API 정의
Representational state transfer (REST) is a style of software
architecture for distributed hypermedia systems such as the World Wide Web.
REST is intended to evoke an image of how a well-designed Web application behaves:
a network of web pages (a virtual state-machine), where the user progresses through the application by
selecting links (state transitions), resulting in the next page (representing the next state of the
application) being transferred to the user and rendered for their use.
Key goals of REST include:
•Scalability of component interactions
•Generality of interfaces
•Independent deployment of components
•Intermediary components to reduce latency, enforce security and encapsulate legacy systems
출처: wikipedia
2. RESTful API 정의
A RESTful web service (also called a RESTful web API) is a simple web service implemented using
HTTP and the principles of REST.
It is a collection of resources, with four defined aspects:
•the base URI for the web service, such as http://example.com/resources/
•the Internet media type of the data supported by the web service. (JSON, XML YAML…)
•the set of operations supported by the web service using HTTP methods (e.g., GET, PUT, POST, or
DELETE).
Resource GET PUT POST DELETE
Create a new entry in the coll
List the URIs and perhaps ot ection. The new entry's URL i
Collection URI, such ashttp:// Replace the entire collection
her details of the collection's s assigned automatically and Delete the entire collection.
example.com/resources/ with another collection.
members. is usually returned by the op
eration.
Retrieve a representation of t
Element URI, such ashttp://e he addressed member of the Replace the addressed mem Treat the addressed member
Delete the addressed memb
xample.com/resources/item1 collection, expressed in an a ber of the collection, or if it do as a collection in its own right
er of the collection
7 ppropriate Internet media typ esn't exist,create it. and create a new entry in it.
e.
•The API must be hypertext driven.
출처: wikipedia
3. RESTful API Thinking Point
• Web DAP/WAC에 대해서 정말 만족할 수 있을까?
- Time To Market
- App Performance in Device
- 디바이스 기능 수용 범위
• 웹App, 페이지에서 디바이스별 고유 기능을 제어하려면 어떻게 할 수 있는가?
• REST는 비표준 아닌가?
- 외부 Infra/Legacy 연동 부분
- 디바이스 기능 연동 부분
4. RESTful API Thinking Point
• Web DAP/WAC에 대해서 정말 만족할 수 있을까?
- Time To Market
- App Performance in Device
- 디바이스 기능 수용 범위
• 웹App, 페이지에서 디바이스별 고유 기능을 제어하려면 어떻게 할 수 있는가?
• REST는 비표준 아닌가?
- 외부 Infra/Legacy 연동 부분
- 디바이스 기능 연동 부분
5. Network 측면 RESTful Web API
► RESTful Web API 부분이 서비스 연동 목적에 맞게 표준화되고 있음
• OMA RESTful API [OMA RESTful API]
-JSON, XML 기준으로 제정 •RESTful Network API for Short Messaging V 1.0
- Legacy의 외부 연동 API를 표준화 •RESTful Network API for Messaging V 1.0
•RESTful Network API for Terminal Location V 1.0
(과금, 위치, 인증, 메시징…)
•RESTful Network API for Payment V 1.0
•RESTful Network API for Device Capabilities V 1.0
• GSMA One APIs
•RESTful Network API for Terminal Status V 1.0
- 특히 과금, 위치 관련 서비스에 집중
•RESTful Network API for Third Party Call V 1.0 and Call Notification V 1.0
- RCS로 확대할 예정
(jointly referred to as Call Control APIs)
•RESTful Network API for Audio Call V1.0
•RESTful Network API for Customer Profile V1.0
• GSMA/OMA 표준 제휴
•RESTful Network API for Anonymous Customer Reference Management
V1.0
• GSMA/OMA 표준 •Autho4API V1.0
W3C과 제휴 진행 예정 •Services User Profile Management V1.0
6. Device 측면 RESTful Web API
► Mobile Web Server를 통해 외부 Web Page에서 직접 디바이스를 제어하고 정보를 취합할 수 있음
Web Service
Cloud
Device 정보
서비스 제공 Connection Conn.
Device info Stack
[여러 단말 기능 사용 가능] REST
• 카메라 제어
• 기기 연결 (UPnP, DLNA 등)
• Android app 연동
• 기기 제어 등
Native App 개발 없이도 Web Page 만으로 서비스를 런칭하거나 연동할 수 있음
효과 Web Page에서 직접 고객 성향 및 디바이스 정보 접근을 통해 개인화 서비스 제공 가능
금융결제/개인보안 관련 솔루션 제공 가능
7. 기본 DAP정보 전달
Web API Call (Restful 방식)
ex) GET http://127.0.0.1/DAP/contract
1. Restful 방식의 Web API 호출 (GET
URL Parsing
http://127.0.0.1/DAP/contract)
2. 모바일 웹서버에서 URL를 파싱하여 device API
를 판단한다.
Device API 경우
3. device API일 경우, 해당 되는 Command를 호출
한다. (contractList() Call)
4. 해당 안드로이드 Native API를 호출하여 데이터
를 얻는다.
Device API Module
5. 해당 데이터를 Request에 대한 응답으로 데이
contractList() { 터를 전달한다.
getContentResolver().query(ContactsCo
ntract.Contacts.CONTENT_URI,null,
null,null, null);
}
Response Contract List
Mobile Web Server (MWS)
8. 단말간 DAP정보 전달
Web API Call (Restful 방식 - Remote)
ex) GET http://61.15.15.222/DAP/contract
로컬단말 리모트단말
URL Parsing Receive Request
Remote인 경우
Device API 경우
Xmpp Server 연결 Device API Module
contractList() {
getContentResolver().query(ContactsCo
ntract.Contacts.CONTENT_URI,null,
null,null, null);
}
Send Request
Xmpp Server
Response Contract List Response Contract List
Mobile Web Server (Local) Mobile Web Server (Remote)
9. Device 측면 RESTful Web API 성능
► Mobile 디바이스에서의 Phonegap API와 성능 비교
Mobile Web Server 기반
Phone Gap API
RESTful API
Contacts(22개) 수행 시간 기준 129.6ms 181.6ms
Device Info 수행 시간 기준 84ms 3ms
Local File(1MB)
수행 시간 기준 3400ms 4800ms
Writing (100개)
Media Play 디바이스 지원 코덱 100% MP4 MIME Type만 인식