The document discusses methods and tools for troubleshooting and testing Akamai CDN services. It covers using Pragma headers to check for normal Akamai service, Akamai diagnostic tools, checking network conditions, optimizing website performance, CDN tools, image optimization testing, checking device information and protocols. It then provides more details on using Pragma headers, Akamai diagnostic tools, and optimizing website performance.
Akamai Korea - Tech Day (2015/03/11) DNSSangJin Kang
This document summarizes a presentation about DNS (Domain Name System) challenges and how Akamai's FastDNS service addresses them. It discusses common DNS problems like availability, performance and security issues. It then describes how FastDNS provides 100% uptime with a global anycast network, improves user experience by resolving queries to optimal edge servers, and better protects against DDoS attacks by absorbing excessive traffic. It also offers an optional DNSSEC module to prevent DNS forgery and reduce the overhead of maintaining compliance.
Akamai Korea - Tech Day (2015/03/11) HTTP/2SangJin Kang
The document introduces Brandon Kang as the speaker for an open seminar. It provides details on Kang's background, including previous roles at Samsung SDS, Microsoft Korea, and the Korea Creative Content Agency. It also lists his areas of writing and mentoring experience in areas like IT trends, web programming, mobile app development, and game development.
Performance Implications of Mobile Design (Perf Audience Edition)Guy Podjarny
(This version of the presentation is oriented at a web performance audience, and includes some mobile design 101 content)
Mobile Web Design is complicated, and several design paradigms have been created to help deal with the challenges the mobile landscape creates.
Amongst other implications, each paradigm also carries its own performance pitfalls, which can turn a well designed site into a horribly slow user experience.
This presentation covers the top design paradigms - Dedicated Websites (mdot) and Responsive Web Design, gives some background on each, and digs into the performance do's and don'ts for your design of choice.
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발Jeongkyu Shin
머신러닝 및 데이터 과학 분야의 컴퓨팅 수요는 해가 갈수록 급증하고 있습니다. 이와 더불어 분산처리 기술, 데이터 파이프라이닝 및 개발 환경 스택 관리 등의 관련된 다양한 이슈들 또한 엄청나게 늘어나고 있습니다. 머신러닝 모델의 기하급수적인 모델 복잡도 증가 추세와 마찬가지로, 모델 학습을 위한 환경 관리 또한 갈수록 복잡도가 높아지는 추세입니다.
이 세션에서는 이러한 문제를 해결하기 위해 python 언어 기반의 분산처리 스케쥴링/오케스트레이션 미들웨어 플랫폼을 개발한 4년간의 과정에서 겪은 다양한 문제들에 대해 다룹니다. 2015년 컨테이너 기반의 고밀도 분산처리 플랫폼 설계 및 프로토타이핑 과정을 PyCon KR에서 발표한 이후, 실제 구현 및 오픈소스화, 안정화를 거치며 겪은 다양한 기술적/비기술적 문제들에 대한 경험을 공유합니다.
기술적으로는 최근 몇 년 간의 클러스터 플랫폼 관련 기술의 진보와 함께 탄생한 다양한 도구들과, 이러한 도구들을 python 기반으로 엮어내기 위해 사용하고 개발한 다양한 오픈소스들을 다룹니다. Python 기반의 컨테이너 스케쥴링 및 오케스트레이션 과정의 구현과, 다양한 프로그래밍 언어로 만든 SDK를 graphQL을 이용하여 연동하는 과정에서의 몇몇 유의점을 설명합니다. 아울러 python 기반의 SDK를 다양한 언어로 포팅했던 경험을 간단하게 안내합니다.
플랫폼을 개발하는 중 등장한 TensorFlow, PyTorch 등의 다양한 머신러닝 프레임워크들을 도입하며 겪은 문제와 해결 과정에 대해서도 나눕니다. 연구 분야에는 Python 2.7 기반의 프레임워크들이 여전히 많습니다. 이러한 프레임워크 및 라이브러리의 지원을 위하여 Python 2 기반의 프레임워크와 Python 3.7로 구현한 컨테이너 인터페이스를 단일 컨테이너 환경에 중복 빌드 및 상호 간섭 없이 공존시키기 위해 개발한 아이디어를 소개합니다.
마지막으로 Python 기반의 프레임워크를 개발, 배포 및 상용화 하는 과정에서 겪은 다양한 어려움을 소개합니다. 솔루션을 배포 및 보급할 때 겪는 다양한 런타임, 하드웨어 환경 및 개인 정보 보호를 위한 폐쇄망 대상의 디플로이 등에 대응하기 위하여 Python 응용프로그램을 단독 실행용으로 패키징하는 과정에서 겪은 팁들을 설명합니다. 또한 GUI 빌드 및 Python, Go 및 C++을 함께 사용한 드라이버 가상화 레이어 개발 등의 내용도 살짝 다룹니다.
이 슬라이드는 PyCon KR 2019의 발표 슬라이드입니다. ( https://www.pycon.kr/program/talk-detail?id=138 )
프로그래밍 언어의 F1머신 C++을 타고 Windows 10 UWP 앱 개발의 세계로~YEONG-CHEON YOU
Windows 10의 UWP 앱을 개발하면 모든 Windows 10 디바이스에서 앱을 작동할 수 있습니다.
이 UWP 앱을 C++로 개발할 수 있습니다. C++로 앱을 개발하면 크로스 플랫폼 지원의 유리함, 기존 코드의 재활용, 성능향상 등의 이점이 있습니다. 본 세션에서는 몇 가지 예를 들어 C++로 UWP 앱을 개발하는 방법을 소개하며 특히 win32와 C++을 사용하던 개발자가 쉽게 UWP 앱 개발에 적응할 수 있도록 돕습니다.
[NDC17] Protocol:hyperspace Diver 개발 포스트모템Young Soo Kim
Protocol:hyperspace Diver 개발 포스트모템
- 엔진 개발부터 시작하는 모바일 인디 리듬게임 개발
NDC17에서 발표한 세션의 자료를 공유합니다.
슬라이드는 https://goo.gl/EiUCgk 에서도 다운로드 받으실 수 있습니다.
게임사들이 활용할 수 있는 네이버클라우드플랫폼 서비스들과 클라우드 상에서 게임 인프라 구축시 고려해야 할 포인트들에 대해서 소개합니다. | Introduce the Naver Cloud Platform service that game companies can use and the points to consider when building game infrastructure in the cloud.
빌드? 우선 사용부터 매뉴얼? Getting started 한 번 돌려보기 TV 리모컨 버튼 5개 전문가는 교육받아 만들어진다? 경험=시간+시행착오+성공실패 오픈소스 트러블슈팅 “메시지” 구글링 오픈소스 함부로 수정하지 마라 최신 버전을 대하는 우리의 자세 LTS로 대동단결 팀장 설득하기 오픈소스는 공짜가 아닙니다. 저도 기여하고 싶어요 2,000년 톰캣을 시작으로 Ant, Eclipse, JUnit, JMeter를 거쳐 현재 개발에 잘 사용하고 있는 Yona, Git, VSCode, Jenkins, CentOS, VirtualBox, Nginx, Node.js, Express.js, MariaDB, Uptime, Mocha, SonarQube, ZAP 이야기 등입니다.
https://www.youtube.com/watch?v=5LHOTBxG0hc
goorm is the cloud-based Integrated Development Environment. It is developed in only javascript and using various open source libraries. It is also an open-source project. goorm supports currently C/C++ and Java as well as HTML, CSS, PHP and Javascript. Other languages will be supported with plugin.
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템강 민우
본 세션에서는 Protocol:hyperspace Diver의 개발 과정 전반에 대한 포스트 모템을 수행하며 기획적인 부분을 바탕으로 제기된 요구사항에 대응하기 위한 기술적인 이슈에 어떻게 대응하였는지를 살펴볼 예정입니다. 게임을 기획하며 게임에 어떤 기능들이 요구되었으며, 엔진 레벨에서부터 모바일 게임을 개발하는 과정에서 이런 요구사항들에 어떻게 대응하였는지를 살펴봅니다. 게임을 위한 전체적인 설계 및 문제 해결 전략과 각각의 문제 해결 과정에서 세부 내용에 대한 기술적 노하우를 공유합니다.
정확한 제목은 "slack과 *Rust*로 amazon ecs에서 서비스 배포하기"입니다.
2018-09-19
AWS한국사용자모임 #container 소모임
https://www.facebook.com/groups/awskrug/
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발Jeongkyu Shin
머신러닝 및 데이터 과학 분야의 컴퓨팅 수요는 해가 갈수록 급증하고 있습니다. 이와 더불어 분산처리 기술, 데이터 파이프라이닝 및 개발 환경 스택 관리 등의 관련된 다양한 이슈들 또한 엄청나게 늘어나고 있습니다. 머신러닝 모델의 기하급수적인 모델 복잡도 증가 추세와 마찬가지로, 모델 학습을 위한 환경 관리 또한 갈수록 복잡도가 높아지는 추세입니다.
이 세션에서는 이러한 문제를 해결하기 위해 python 언어 기반의 분산처리 스케쥴링/오케스트레이션 미들웨어 플랫폼을 개발한 4년간의 과정에서 겪은 다양한 문제들에 대해 다룹니다. 2015년 컨테이너 기반의 고밀도 분산처리 플랫폼 설계 및 프로토타이핑 과정을 PyCon KR에서 발표한 이후, 실제 구현 및 오픈소스화, 안정화를 거치며 겪은 다양한 기술적/비기술적 문제들에 대한 경험을 공유합니다.
기술적으로는 최근 몇 년 간의 클러스터 플랫폼 관련 기술의 진보와 함께 탄생한 다양한 도구들과, 이러한 도구들을 python 기반으로 엮어내기 위해 사용하고 개발한 다양한 오픈소스들을 다룹니다. Python 기반의 컨테이너 스케쥴링 및 오케스트레이션 과정의 구현과, 다양한 프로그래밍 언어로 만든 SDK를 graphQL을 이용하여 연동하는 과정에서의 몇몇 유의점을 설명합니다. 아울러 python 기반의 SDK를 다양한 언어로 포팅했던 경험을 간단하게 안내합니다.
플랫폼을 개발하는 중 등장한 TensorFlow, PyTorch 등의 다양한 머신러닝 프레임워크들을 도입하며 겪은 문제와 해결 과정에 대해서도 나눕니다. 연구 분야에는 Python 2.7 기반의 프레임워크들이 여전히 많습니다. 이러한 프레임워크 및 라이브러리의 지원을 위하여 Python 2 기반의 프레임워크와 Python 3.7로 구현한 컨테이너 인터페이스를 단일 컨테이너 환경에 중복 빌드 및 상호 간섭 없이 공존시키기 위해 개발한 아이디어를 소개합니다.
마지막으로 Python 기반의 프레임워크를 개발, 배포 및 상용화 하는 과정에서 겪은 다양한 어려움을 소개합니다. 솔루션을 배포 및 보급할 때 겪는 다양한 런타임, 하드웨어 환경 및 개인 정보 보호를 위한 폐쇄망 대상의 디플로이 등에 대응하기 위하여 Python 응용프로그램을 단독 실행용으로 패키징하는 과정에서 겪은 팁들을 설명합니다. 또한 GUI 빌드 및 Python, Go 및 C++을 함께 사용한 드라이버 가상화 레이어 개발 등의 내용도 살짝 다룹니다.
이 슬라이드는 PyCon KR 2019의 발표 슬라이드입니다. ( https://www.pycon.kr/program/talk-detail?id=138 )
프로그래밍 언어의 F1머신 C++을 타고 Windows 10 UWP 앱 개발의 세계로~YEONG-CHEON YOU
Windows 10의 UWP 앱을 개발하면 모든 Windows 10 디바이스에서 앱을 작동할 수 있습니다.
이 UWP 앱을 C++로 개발할 수 있습니다. C++로 앱을 개발하면 크로스 플랫폼 지원의 유리함, 기존 코드의 재활용, 성능향상 등의 이점이 있습니다. 본 세션에서는 몇 가지 예를 들어 C++로 UWP 앱을 개발하는 방법을 소개하며 특히 win32와 C++을 사용하던 개발자가 쉽게 UWP 앱 개발에 적응할 수 있도록 돕습니다.
[NDC17] Protocol:hyperspace Diver 개발 포스트모템Young Soo Kim
Protocol:hyperspace Diver 개발 포스트모템
- 엔진 개발부터 시작하는 모바일 인디 리듬게임 개발
NDC17에서 발표한 세션의 자료를 공유합니다.
슬라이드는 https://goo.gl/EiUCgk 에서도 다운로드 받으실 수 있습니다.
게임사들이 활용할 수 있는 네이버클라우드플랫폼 서비스들과 클라우드 상에서 게임 인프라 구축시 고려해야 할 포인트들에 대해서 소개합니다. | Introduce the Naver Cloud Platform service that game companies can use and the points to consider when building game infrastructure in the cloud.
빌드? 우선 사용부터 매뉴얼? Getting started 한 번 돌려보기 TV 리모컨 버튼 5개 전문가는 교육받아 만들어진다? 경험=시간+시행착오+성공실패 오픈소스 트러블슈팅 “메시지” 구글링 오픈소스 함부로 수정하지 마라 최신 버전을 대하는 우리의 자세 LTS로 대동단결 팀장 설득하기 오픈소스는 공짜가 아닙니다. 저도 기여하고 싶어요 2,000년 톰캣을 시작으로 Ant, Eclipse, JUnit, JMeter를 거쳐 현재 개발에 잘 사용하고 있는 Yona, Git, VSCode, Jenkins, CentOS, VirtualBox, Nginx, Node.js, Express.js, MariaDB, Uptime, Mocha, SonarQube, ZAP 이야기 등입니다.
https://www.youtube.com/watch?v=5LHOTBxG0hc
goorm is the cloud-based Integrated Development Environment. It is developed in only javascript and using various open source libraries. It is also an open-source project. goorm supports currently C/C++ and Java as well as HTML, CSS, PHP and Javascript. Other languages will be supported with plugin.
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템강 민우
본 세션에서는 Protocol:hyperspace Diver의 개발 과정 전반에 대한 포스트 모템을 수행하며 기획적인 부분을 바탕으로 제기된 요구사항에 대응하기 위한 기술적인 이슈에 어떻게 대응하였는지를 살펴볼 예정입니다. 게임을 기획하며 게임에 어떤 기능들이 요구되었으며, 엔진 레벨에서부터 모바일 게임을 개발하는 과정에서 이런 요구사항들에 어떻게 대응하였는지를 살펴봅니다. 게임을 위한 전체적인 설계 및 문제 해결 전략과 각각의 문제 해결 과정에서 세부 내용에 대한 기술적 노하우를 공유합니다.
정확한 제목은 "slack과 *Rust*로 amazon ecs에서 서비스 배포하기"입니다.
2018-09-19
AWS한국사용자모임 #container 소모임
https://www.facebook.com/groups/awskrug/
This document provides an overview of replicating a PostgreSQL database. It discusses setting up a primary server for reads and writes and standby servers that are kept in sync with the primary to serve as backups. The primary server writes data to its write-ahead log (WAL) files, which are streamed in real-time to the standby servers via WAL shipping. This allows the standby servers to keep an identical copy of the database. The document also covers configuration of both the primary and standby servers for replication as well as tools for testing the replication setup.
Scalability strategies for cloud based system architectureSangJin Kang
- Scalability & Availability for the Global Markets
- Global scaled Scalability, Availability and Security
- Architecture for 100, 1K, 100K, 500K, 1M and 10M global users
- Auto-Scaling
- Understand Cloud Services
- Cloud Demo(AWS, GCP, Azure and Cloudflare)
- Wrap-Up
웹 사이트의 빠른 로딩을 위한 프론트 엔드 최적화 기법과 더불어 알아두어야 할 HTTP 프로토콜 최적화를 언급하며, 최근 발표된 HTTP/3를 소개합니다.
HTTP/3는 "Hyper Text Transfer Protocol over QUIC"의 내용을 근간으로 UDP의 장점을 HTTP에 활용한 버전입니다.
HTTP/3를 알기 위해서는 QUIC에 대한 이해와 함께, 기존 버전인 HTTP/2에서 어떤 부분이 개선되었는지에 대한 이해가 동시에 필요합니다.
Chrome을 활용한 웹 성능 비교 예제들은 HTTP/3의 기술들을 빠르게 이해하는 데 도움이 될 것입니다.
How to develop and localize Xbox 360 titlesSangJin Kang
This document provides an overview of how to develop and localize Xbox 360 titles for the global market. It discusses establishing an Xbox development team with various roles like programmers, artists, designers, and testers. It also explains Microsoft's Xbox software architecture including the Xbox Title Library (XTL) and the Xbox Development Kit (XDK). The document emphasizes the importance of considering localization from the beginning of the design process to minimize additional effort needed. It offers technical requirements for localization like supporting Unicode, separating game code from localized resources, and designing user interfaces to accommodate longer translated text.
The document provides biographical information about Brandon Kang in Korean. It lists his previous work experiences at Samsung SDS and Microsoft Korea, as well as his current role at Akamai Korea. It also outlines his areas of focus, which include writing books and translating on topics such as IT trends, web programming, mobile apps, and games.
3. H TML vs . H TML5
H TML H TML5
오디오와 비디오는 H TML4 의 사양에 오디오와 비디오가 H TML5 사양의 필
포함되어 있지 않음 수적인 항목으로 포함되어 있음
(< au d io > 와 < vid e o > 태그 )
Ve c to r 그래픽은 VML, S ilve rlig h t, Ve c to r 그래픽의 필수 항목으로 포함되
F las h 을 설치함 으로서 사용 가능함 어 있음 (S VG 와 c an vas )
(Plu g In 설치 요망 )
정확한 위치정보를 가져오는 것이 거의 Java S c rip t 에 위치 정보 파악 API 가
불가능함 포함되어 있음
3
4. H TML vs . H TML5
H TML H TML5
임시 저장 공간에 브라우저에서 읽어 온 애플리케이션 캐시 , We b S Q L 데이터
데이터를 저장함 베이스 , 웹 저장 공간을 사용자의 저장
공간으로 상용 가능함 . JavaS c rip t 를 통
해서 접근 가능함
자체적인 We b S o c ke t 기능은 없음 We b S o c ke t 을 사용하여 서버와 양방향
통신이 가능함 . Java S c rip t 를 사용하여
서 접근 가능함
모든 버전의 브라우저에서도 동작함 최근에 배포된 브라우저만 지원함
( 예 : F ire fo x, Mo zilla, O p e ra, C h ro m e ,
S afari 등 )
JavaS c rip t 는 브라우저 인터페이스와 동 JavaS c rip t 가 백그라운드에서 실행 가능
일한 쓰레드에서 실행되어 야 함 함
4
6. H TML5 을 적용하기 적당한 경우
• 사용자에게 하드웨어와 소프트웨어 벤더 선택의 자유을 주고자 할 경우
• 저사양의 디바이스에서 비디오를 재생하고자 할 경우
• F las h 라이센스 비용을 아끼고자 할 경우
• Ap p le 에서 생상된 디바이스에서 재생하고자 할 경우
• 개방된 개발 환경이 중요하다고 여겨질 경우
F las h 를 적용하기 적당한 경우
• IE 6 을 지원하고자 할 경우
• 비디오 스트리밍 시에 네트워크 대역폭에 따라서 b it rate s 를 조절하고자 할 경우
• 콘텐트의 무단 복사를 막고자 할 경우
• 비디오에 광고를 동적으로 포함 시키고자 할 경우
9
6
7. Mic ro s o ft d ro p s F las h fro m IE o n Win d o ws 8
tab le ts .
- 1 6 S e p te m b e r 201 1 fro m B B C
U p c o m in g N o kia Mo b ile Ph o n e s (Lu m ia) –
F irs t Win d o ws Ph o n e (Man g o ) (with o u t
Ad o b e F las h )
- N o ve m b e r 1 1 , 201 1 fro m ad d p r.c o m
An d ro id Ic e C re am S an d wic h 4.0 to g e t Ad o b e
F las h b e fo re 201 2
- N o ve m b e r 23, 201 1 fro m te c h b lo g
10. We b Ap p 의 장점
• 코드 재사용성이 뛰어남
• 업데이트가 용이함
• 해상도에 따른 화면 재구성이 가능함
• C S S 속도 개선
• Lo c al S to rag e , D e vic e API 이용 가능
We b Ap p 의 단점
• 콘텐트를 다운 받기 위한 시간 소요
• N ative Ap p 과 같은 수려한 U I 가 제공 안됨
• 디버그의 어려움이 있음
• Ap p 으로 패키징 하기위한 작업이 필요함
• D e vic e API 를 이용하기 위한 작업 필요
9
10
11. Web App 의 제작 과정
We b
H TML, C S S , JavaS c rip ts
C o n te n ts
UI JavaS c rip t F ram e wo rk
E ffe c ts (j u e ry, S e n c h a)
Q
Mo b ile
APIs
H TML5 Ap p Platfo rm
(Ph o n e G ap , Titan iu m )
Ap p
Pac kag e
11
12. JavaS c ript Framework
• H TML 문서 이동
• 이벤트 핸들링
• 애니메이션
• Aj 인터랙션 처리
ax
12
13. JavaS c rip t F ram e wo rk: j u e ry
Q
• 크기가 31 kb 로 경쟁사보다 작음
• j u e ryU I 라고 U I te m p late 을 제공함
Q
• 웹에서 디자인 테마를 직접 만들 수 있도록 제공함
• 시장에서 가장 많이 쓰이고 있음
아쉬운 점
• 모바일 We b 을 위한 Te m p late 를 제공하고 있지 않음
• Flas h 와 같은 에니메이션 효과 구현을 위한 To o l 의 부재
• 웹 개발자만을 위한 Fram e wo rk
13
14. JavaS c rip t F ram e wo rk: S e n c h a
• H TML5 모바일 웹 개발의 위한 프레임워크
• 보다 수려한 An im atio n s 효과를 지원함
• 웹 개발 템플릿 ( 예제 ) 가 잘 준비되어 있음
• 여러 개의 제품 군으로 이루어져 있음
아쉬운 점
• Lib rary 사이즈가 큼
• 관련 개발 문서가 상대적으로 부족함
14
15. JavaS c rip t F ram e wo rk: S e n c h a
• S e n c h a To u c h
- H TML5 기반의 모바일 앱을 개발하기 위한 프레임워크
• S e n c h a An im ato r
- C S S 3 애니메이션을 만들어 주는 데스크톱 어플리케이션
• E xt C o re
- We b U I 개발을 쉽게 구현할 수 있도록 지원하는 자바스크립트 라이브러
리임
• E xt D e s ig n e r
- D rag & D ro p 을 지원하는 데스크탑 어플리케이션
15
16. JavaS c rip t F ram e wo rk: Jin d o
• N H N 에서 제작한 JavaS c rip t Lib rary
• 네이버 뉴스 , 지도와 같은 자체 서비스 개발에 사용됨
• 주석이 한글로 되어 있음
아쉬운 점
• 개발 문서에 예제가 부족함
• 개발 툴을 제공하지 않음
16
18. H TML5 Ap p Platfo rm : Ph o n e G ap
• 대부분의 모바일 Platfo rm 을 지원함
• XC o d e , E c lip s e 용 Ph o n e G ap Plu g In 을 제공
• Ph o n e G ap B u ild 서비스를 통해서 플랫폼 별 Ap p 으로 재생산에서 배포
가능 ( 유료 )
• j u e ry 가 포함되어 있음
Q
• Ad o b e D re am we ave r C S 5.5 에 Ph o n e G ap 이 포함되어 있음
개발 방법
1 . XC o d e 로 Ph o n e G ap 기반의 프로젝트 생성
2. www 폴더 아래에 We b Pag e 소스를 복사
18
19. H TML5 Ap p Platfo rm : Titan iu m
• Titan iu m Pac kag e 가 포함된 E c lip s e 기반의 ID E
• iO S , An d ro id , B lac kb e rry 지원
• j u e ry 가 포함되어 있음
Q
• D e b u g 가 용이함
• 패키지 해주는 C lo u d 서비스 제공
아쉬운 점
• 지원하는 Mo b ile Platfo rm 한정되어 있음
19
20. H TML5 Ap p Platfo rm : Ap p s p re s s o
• E c lip s e 기반의 ID E
• iO S , An d ro id 지원
• D e b u g 가 용이함
• O n - th e - fly 기능 제공
아쉬운 점
• 지원하는 Mo b ile Platfo rm 한정되어 있음
• JavaS c rip t Lib rary 가 포함되어 있지 않음
20
21. UI F ra me wo rk
jQ ue ry S e nc ha J MC
• iO S 와 An d ro id 기반의 • H TML5 기반의 Mo b ile • N H N 에서 자체적으로 제
디바이스를 지원하는 Ap p 을 위한 개발을 위 작한 F ram e wo rk
j u e ry Plu g in
Q 해 만들어진 • JMC 기반으로 N ave r
• 터치 E ve n t 최적화됨 F ram e wo rk We b Ap p 이 만들어 졌고
• 개발을 쉽게 할 수 있는 문서가 한글로 되어 있음
To o l 이 포함되어 있음
HTML 5 A p p F ra me wo rk
PhoneGap Titanium Appspresso
• 거의 모든 모바일 플랫폼 • 개발 , 테스트 , 배포를 • 국산 F ram e wo rk 임
을 지원함 동일한 환경에서 할 수 • O n th e fly 기능 제공
• 패키지 하고 배포하는 기 있는 F ram e wo rk 임 • 다양한 플랫폼을 지원하
능이 포함되어 있음 • iO S 과 안드로이드만 지 고자 계획하고 있음
• Ad o b e 에 인수됨 원함
15
21
22. We b Ap p 제작 툴
F las h
Mo b ile U I Ph o n e APIs Pac kag e
An im atio n s
j u e ry
Q
S e ncha
Jin d o
Ad o b e
(Ph o n e G ap , D re am we ave r)
Titan iu m
Ap p s p re s s o
22
#22: UI Framework HTML5 문서를 사용자가 읽을 때 사용자 Interaction 이 Native App 와 유사하게 느낄수 있게 하기 위해서 , 예를 들어서 페이지 이용 시 보여지는 애니메이션 효과 , 내부 콘텐트의 애니메이션 효과 , Touch 와 Flick 과 같은 Event 를 처리하는 부분 등을 지원할 필요가 있는데 위와 같은 기능을 지원하는 Library, Framework 에는 jQuery, jQTouch, Sencha, JMC 등이 있다 . HTML5 App Framework 사용자의 개인정보에 접근하고 HTML5 에서 지원하지 않는 기능 지원하기 위해서 예를 들어서 주소록 접근 , 디바이스에 포함된 하드웨어 자원 (Camera, NFC, MemoryCard) 을 사용하기 위해서는 디바이스내의 API 을 사용해야 하는 필요성이 있기에 HTML5 Web 과 디바이스 API 사이의 중간자 역할을 담당하는 Framework 가 필요하며 현재 가장 많이 쓰이고 있는 Framework 로서는 PhoneGap, Titanium 이 있고 국산 Framework 로서는 KTH 에서 개발한 Appspresso 가 있다 .