SlideShare a Scribd company logo
출퇴근 기록 시스템
PWA로 개발하기
HTML5 Conf
신권철 @FINDA
kwoncheol@finda.co.kr
출퇴근 기록 시스템
PWA로 개발하기
HTML5 Conf
신권철 @FINDA
kwoncheol@finda.co.kr
• 어쩌다 PWA
• PWA, 이것만은 알고 개발하자
• Offline Mode , Cache, Notification 💡
아래 내용들을 다룰 거예요
어쩌다 PWA
3 / 72
Legacy Log(?)
노무사:
출퇴근 지금처럼
하시면 안돼요~
“법적으로 유효한 형태의 기록을 남겨야 합니다”
슬랙봇을 이용해서
요렇게 만들어
보는건 어때요?
CPO
1차 후보 - Slack
사진출처: 핀다 채용페이지
매일 아침 6시, 오후 12시
클릭~
Broadcasting~
노무사:
어뷰징은
안돼요~
원격근무 아닐 때는
회사 내부에서만
등록할 수 있어야
합니다~
Click! Slack server API Server
Slack Server IP…사용자 IP
지구 어딘가에 있을… 🌏
Wifi IP 체크로 해결하려 했는데…
권철님이 프론트엔드
엔지니어니까
웹앱으로 요렇게
만들어 봐도
좋겠네요~
CPO
2차 후보 : 웹앱
“그럼 매번 브라우저로 접속해야
하는건가여? 흐으음…”
우려의 목소리 1
“이거 깜빡하는 사람 많을 듯 ㅎㅎ”
우려의 목소리 2
PWA로
할게요
3차 후보
PWA 1분소개
: PWA
PWA
(Progressive Web App)
• 진보된 웹 애플리케이션
• 유저와의 관계를 점진적으로 발전시킬 수 있는
웹 애플리케이션
• Multi platforms (안드로이드 / IOS + 데스크탑)
• Offline 지원 ⚡
• Install (홈화면에 추가) 🏠
• Cache 💵
• Push Notification 💡
PWA가 제공하는 기능
“그럼 매번 브라우저로 접속해야 하는건가여? 흐으음…”
우려의 목소리 1
• Multi platforms (안드로이드 / IOS + 데스크탑)
• Install (홈화면에 추가) 🏠
해결 !
“이거 깜빡하는 사람 많을 듯 ㅎㅎ”
우려의 목소리 2
• Push Notification 💡 해결 !
PWA 개발시작
19 / 72
Install -> Offline ->Cache -> Notification
Hello PWA
index.js
Create-React-App
2019.8.19
PWA 출퇴근 기록 시스템
Earlybird 🕊
베타런칭
PWA라 하기 부끄럽다…
여기서 잠깐!
PWA 개발을 시작하기 전에
꼭 이해해야 할 것☝
PWA 입문자
10명 중 9명이
맞닥뜨릴 문제
배포를 했는데
업데이트 적용이 안돼요 🤔
왜?...
“배포가 제대로 안된거 아냐?”
“강력새로고침 해봐!”
PWA는
새로운 버전을 배포해도
변경사항이 곧바로 적용되지 않음
Q. 그럼 언제 적용돼요?
1. 브라우저 내에 해당 PWA를 실행중인 모든
탭이 종료됐을 때
2. 특정시간이 흐른 뒤 (기본값: 24시간)
둘 중 하나를 만족해야한다
Service Worker 때문에
Service Worker가 뭔데요?
Browser Server
Service Worker
요청 요청
응답응답
(Proxy server 역할)
Service Worker
1. Cache 관리
2. Notification 관리
브라우저 X_
Notification Token: NEKOT_YM
캐쉬전략: Network First
Tab 1 Tab 2
mypwa.co.kr mypwa.co.kr
Service worker
브라우저 X_
Tab 1 Tab 2
새로고침!
mypwa.co.kr
mypwa.co.kr
Notification Token: NEKOT_YM
캐쉬전략: Network First
Service worker
브라우저 X_
Tab 1 Tab 2
Notification Token: MY_NEW_TOKEN
캐쉬전략: Lady First
mypwa.co.kr mypwa.co.kr
Notification Token: NEKOT_YM
캐쉬전략: Network First
Service workerNew Service worker
긴급배포는요?...
37 / 72
업데이트 강제로 일어나게하기
service-worker.js
Offline
+
Cache
39 / 72
Offline 동작
영상보기 🎥
Service Worker
이제 일
시작하려는데
먼저 캐쉬해둘만한
거 없소?
aka. precache
html
css
js
font
등등….
API 응답도
캐쉬해보자 🎥
45 / 72
캐쉬된 요청들
응답 상세정보
요청을 가로챌 경로 Regex로 등록
캐쉬에 넣는다
어떤 Method의 요청을 가로챌지
GET 요청만 Cache할 수 있다!
https://w3c.github.io/ServiceWorker/#cache-put
💡 Notification
49 / 72
iOS는 푸쉬알림 미지원
참고1 (단점1)
브라우저가 실행되고 있는
상태에서만 수신 가능
참고2 (단점2)
Browser
Service Worker
여기가
우리집!
권한 승인권한 요청 토큰 저장
토큰발급
Firebase
(Firestore)
53 / 72
🕊
알림수신 및
OS로 전달
알림발송
알림발송
(Optional)
추가 동작
Firebase
(messaging)
와! 알림이 온다!
2개나 오네?...
Chrome Opera Samsung Firefox
Token
: EMO…
Token
: ARE…
Token
: GNU…
Token
: XOF…
User의 Notification token는
Unique하도록 관리
1. 마지막으로 접속한 브라우저로 알림이 온다.
2. 토큰 저장시 브라우저 정보를 저장하고
유저에게 물어본다.
“어느 브라우저로 받으실래여?”
유사한 문제 하나 소개
얘기 나온김에…
Firefox
Whale
Chrome
Firefox Whale Chrome
브라우저마다 사용자 경험이 다르다.
PWA의 가장 큰 한계
하고싶은 말
https://whatwebcando.today
정리
• 페이지 로딩에 필요한 파일을 사전에
Cache
• API 요청도 Cache
PWA는 빠르다
• Push Notification 💡
• 홈화면에 Install
PWA는 친절하다
iOS는 아직 덜 친절
• 브라우저마다 지원 범위가 다르다
• 브라우저가 종료되면 아무것도 할 수
없다.
PWA는 완벽하지 않다
Reference
h<ps://w3c.github.io/ServiceWorker/#cache-put
h<ps://developers.google.com/web/fundamentals/primers/service-workers/lifecycle
https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerGlobalScope/skipWaitin
h<ps://bitsofco.de/what-self-skipwaiFng-does-to-the-service-worker-lifecycle/
h<ps://vaadin.com/pwa/learn/serviceworker
발표는 여기까지
채 용 중
finda.co.kr/careers
감사합니다
Q&A
kwoncheol@finda.co.kr

More Related Content

What's hot

실시간으로 안드로이드 프론트엔드 작업하기
실시간으로 안드로이드 프론트엔드 작업하기실시간으로 안드로이드 프론트엔드 작업하기
실시간으로 안드로이드 프론트엔드 작업하기
Haze Lee
 
PHP로 웹개발을 해보자
PHP로 웹개발을 해보자PHP로 웹개발을 해보자
PHP로 웹개발을 해보자
Young Min Shin
 
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
JinKwon Lee
 
모두의 클라우드 딥러닝
모두의 클라우드 딥러닝모두의 클라우드 딥러닝
모두의 클라우드 딥러닝
NAVER Engineering
 
[D2 campus]착 하면 척! chak 서비스 개발기
[D2 campus]착 하면 척! chak 서비스 개발기[D2 campus]착 하면 척! chak 서비스 개발기
[D2 campus]착 하면 척! chak 서비스 개발기
NAVER D2
 
ASP.NET Core 3.0과 Blazor를 활용한 새로운 WEB 개발(그리고 Try.NET)
ASP.NET Core 3.0과 Blazor를 활용한 새로운 WEB 개발(그리고 Try.NET)ASP.NET Core 3.0과 Blazor를 활용한 새로운 WEB 개발(그리고 Try.NET)
ASP.NET Core 3.0과 Blazor를 활용한 새로운 WEB 개발(그리고 Try.NET)
SangHoon Han
 
Logcat과 함께 하는 모바일 웹 디버깅
Logcat과 함께 하는 모바일 웹 디버깅Logcat과 함께 하는 모바일 웹 디버깅
Logcat과 함께 하는 모바일 웹 디버깅JinKwon Lee
 
Cooking jquery
Cooking jqueryCooking jquery
Cooking jquery
JinKwon Lee
 
How_to_choose_the_right_framework
How_to_choose_the_right_frameworkHow_to_choose_the_right_framework
How_to_choose_the_right_framework
JT Jintae Jung
 
Service Worker 101 (한국어)
Service Worker 101 (한국어)Service Worker 101 (한국어)
Service Worker 101 (한국어)
Chang W. Doh
 
피니엔진
피니엔진피니엔진
피니엔진
승우 백
 
Golang+on+analytics+and+blockchain
Golang+on+analytics+and+blockchainGolang+on+analytics+and+blockchain
Golang+on+analytics+and+blockchain
NAVER Engineering
 
스마트폰 앱 백-엔드 솔루션 개발을 위한 Node.js 실전 가이드
스마트폰 앱 백-엔드 솔루션 개발을 위한 Node.js 실전 가이드스마트폰 앱 백-엔드 솔루션 개발을 위한 Node.js 실전 가이드
스마트폰 앱 백-엔드 솔루션 개발을 위한 Node.js 실전 가이드Jeongsang Baek
 
응답하라 반응형웹 - 4. angular
응답하라 반응형웹 - 4. angular응답하라 반응형웹 - 4. angular
응답하라 반응형웹 - 4. angular
redribbon1307
 
JavaScript 프레임워크 살펴보기
JavaScript 프레임워크 살펴보기JavaScript 프레임워크 살펴보기
JavaScript 프레임워크 살펴보기항희 이
 
[124] 하이브리드 앱 개발기 김한솔
[124] 하이브리드 앱 개발기 김한솔[124] 하이브리드 앱 개발기 김한솔
[124] 하이브리드 앱 개발기 김한솔
NAVER D2
 
HTML5로 만드는 데스크탑 어플리케이션 (Node-Webkit)
HTML5로 만드는 데스크탑 어플리케이션 (Node-Webkit)HTML5로 만드는 데스크탑 어플리케이션 (Node-Webkit)
HTML5로 만드는 데스크탑 어플리케이션 (Node-Webkit)
JinKwon Lee
 
Phonegap 3.3.0
Phonegap 3.3.0Phonegap 3.3.0
Phonegap 3.3.0
용훈 정
 
패키지 매니저 골라골라! Cocoapod, Carthage, SPM
패키지 매니저 골라골라! Cocoapod, Carthage, SPM패키지 매니저 골라골라! Cocoapod, Carthage, SPM
패키지 매니저 골라골라! Cocoapod, Carthage, SPM
hyunho Lee
 
[133] 브라우저는 vsync를 어떻게 활용하고 있을까
[133] 브라우저는 vsync를 어떻게 활용하고 있을까[133] 브라우저는 vsync를 어떻게 활용하고 있을까
[133] 브라우저는 vsync를 어떻게 활용하고 있을까
NAVER D2
 

What's hot (20)

실시간으로 안드로이드 프론트엔드 작업하기
실시간으로 안드로이드 프론트엔드 작업하기실시간으로 안드로이드 프론트엔드 작업하기
실시간으로 안드로이드 프론트엔드 작업하기
 
PHP로 웹개발을 해보자
PHP로 웹개발을 해보자PHP로 웹개발을 해보자
PHP로 웹개발을 해보자
 
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
 
모두의 클라우드 딥러닝
모두의 클라우드 딥러닝모두의 클라우드 딥러닝
모두의 클라우드 딥러닝
 
[D2 campus]착 하면 척! chak 서비스 개발기
[D2 campus]착 하면 척! chak 서비스 개발기[D2 campus]착 하면 척! chak 서비스 개발기
[D2 campus]착 하면 척! chak 서비스 개발기
 
ASP.NET Core 3.0과 Blazor를 활용한 새로운 WEB 개발(그리고 Try.NET)
ASP.NET Core 3.0과 Blazor를 활용한 새로운 WEB 개발(그리고 Try.NET)ASP.NET Core 3.0과 Blazor를 활용한 새로운 WEB 개발(그리고 Try.NET)
ASP.NET Core 3.0과 Blazor를 활용한 새로운 WEB 개발(그리고 Try.NET)
 
Logcat과 함께 하는 모바일 웹 디버깅
Logcat과 함께 하는 모바일 웹 디버깅Logcat과 함께 하는 모바일 웹 디버깅
Logcat과 함께 하는 모바일 웹 디버깅
 
Cooking jquery
Cooking jqueryCooking jquery
Cooking jquery
 
How_to_choose_the_right_framework
How_to_choose_the_right_frameworkHow_to_choose_the_right_framework
How_to_choose_the_right_framework
 
Service Worker 101 (한국어)
Service Worker 101 (한국어)Service Worker 101 (한국어)
Service Worker 101 (한국어)
 
피니엔진
피니엔진피니엔진
피니엔진
 
Golang+on+analytics+and+blockchain
Golang+on+analytics+and+blockchainGolang+on+analytics+and+blockchain
Golang+on+analytics+and+blockchain
 
스마트폰 앱 백-엔드 솔루션 개발을 위한 Node.js 실전 가이드
스마트폰 앱 백-엔드 솔루션 개발을 위한 Node.js 실전 가이드스마트폰 앱 백-엔드 솔루션 개발을 위한 Node.js 실전 가이드
스마트폰 앱 백-엔드 솔루션 개발을 위한 Node.js 실전 가이드
 
응답하라 반응형웹 - 4. angular
응답하라 반응형웹 - 4. angular응답하라 반응형웹 - 4. angular
응답하라 반응형웹 - 4. angular
 
JavaScript 프레임워크 살펴보기
JavaScript 프레임워크 살펴보기JavaScript 프레임워크 살펴보기
JavaScript 프레임워크 살펴보기
 
[124] 하이브리드 앱 개발기 김한솔
[124] 하이브리드 앱 개발기 김한솔[124] 하이브리드 앱 개발기 김한솔
[124] 하이브리드 앱 개발기 김한솔
 
HTML5로 만드는 데스크탑 어플리케이션 (Node-Webkit)
HTML5로 만드는 데스크탑 어플리케이션 (Node-Webkit)HTML5로 만드는 데스크탑 어플리케이션 (Node-Webkit)
HTML5로 만드는 데스크탑 어플리케이션 (Node-Webkit)
 
Phonegap 3.3.0
Phonegap 3.3.0Phonegap 3.3.0
Phonegap 3.3.0
 
패키지 매니저 골라골라! Cocoapod, Carthage, SPM
패키지 매니저 골라골라! Cocoapod, Carthage, SPM패키지 매니저 골라골라! Cocoapod, Carthage, SPM
패키지 매니저 골라골라! Cocoapod, Carthage, SPM
 
[133] 브라우저는 vsync를 어떻게 활용하고 있을까
[133] 브라우저는 vsync를 어떻게 활용하고 있을까[133] 브라우저는 vsync를 어떻게 활용하고 있을까
[133] 브라우저는 vsync를 어떻게 활용하고 있을까
 

Similar to PWA로 출퇴근 기록 시스템 개발하기 (2019 HTML5 Conf Seoul)

20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debugging20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debugging
Jongwon Han
 
20151219_(python_korea)_How_to_automate_webhacking.kr_with_Python_presentation
20151219_(python_korea)_How_to_automate_webhacking.kr_with_Python_presentation20151219_(python_korea)_How_to_automate_webhacking.kr_with_Python_presentation
20151219_(python_korea)_How_to_automate_webhacking.kr_with_Python_presentation
re4lfl0w
 
장고로 웹서비스 만들기 기초
장고로 웹서비스 만들기   기초장고로 웹서비스 만들기   기초
장고로 웹서비스 만들기 기초
Kwangyoun Jung
 
Showroom 2019-react
Showroom 2019-reactShowroom 2019-react
Showroom 2019-react
Deuk Jung Kim
 
쇼핑검색 React 전환 경험 공유
쇼핑검색 React 전환 경험 공유쇼핑검색 React 전환 경험 공유
쇼핑검색 React 전환 경험 공유
NAVER SHOPPING
 
PWA를 활용한 Daily Check In - 주니어 프론트 개발자가 혼자 웹앱 만든 썰
PWA를 활용한  Daily Check In - 주니어 프론트 개발자가 혼자 웹앱 만든 썰PWA를 활용한  Daily Check In - 주니어 프론트 개발자가 혼자 웹앱 만든 썰
PWA를 활용한 Daily Check In - 주니어 프론트 개발자가 혼자 웹앱 만든 썰
Seongsil Yoo
 
자바_웹_개발자를_위한_c#_핵심_기능
자바_웹_개발자를_위한_c#_핵심_기능자바_웹_개발자를_위한_c#_핵심_기능
자바_웹_개발자를_위한_c#_핵심_기능
Dexter Jung
 
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220
Seomgi Han
 
Place site Design
Place site DesignPlace site Design
Place site Design
HaYoungChoi17
 
DV 환경에서 PG 연동하기 ('우리 안의 소리', 2015-11-19)
DV 환경에서 PG 연동하기 ('우리 안의 소리', 2015-11-19)DV 환경에서 PG 연동하기 ('우리 안의 소리', 2015-11-19)
DV 환경에서 PG 연동하기 ('우리 안의 소리', 2015-11-19)
Jongwon Han
 
[Play.node] node.js 를 사용한 대규모 글로벌(+중국) 서비스
[Play.node] node.js 를 사용한 대규모 글로벌(+중국) 서비스[Play.node] node.js 를 사용한 대규모 글로벌(+중국) 서비스
[Play.node] node.js 를 사용한 대규모 글로벌(+중국) 서비스
Dan Kang (강동한)
 
버그 트래킹 시스템 Mantis의 사용 그리고 예제
버그 트래킹 시스템 Mantis의 사용 그리고 예제버그 트래킹 시스템 Mantis의 사용 그리고 예제
버그 트래킹 시스템 Mantis의 사용 그리고 예제
Kiyoung Moon
 
2021년 3월 27일 개발자 이야기
2021년 3월 27일 개발자 이야기2021년 3월 27일 개발자 이야기
2021년 3월 27일 개발자 이야기
Jay Park
 
manage inhouse openstack the hard way(kakao case study about 10,000 vms)
manage inhouse openstack the hard way(kakao case study about 10,000 vms)manage inhouse openstack the hard way(kakao case study about 10,000 vms)
manage inhouse openstack the hard way(kakao case study about 10,000 vms)
어형 이
 
클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기
YoungSu Son
 
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
YoungSu Son
 
500.JBoss Troubleshooting Essential
500.JBoss Troubleshooting Essential500.JBoss Troubleshooting Essential
500.JBoss Troubleshooting Essential
Opennaru, inc.
 
GDB와 strace로 Hang 걸린 Python Process 원격 디버깅
GDB와 strace로 Hang 걸린 Python Process 원격 디버깅GDB와 strace로 Hang 걸린 Python Process 원격 디버깅
GDB와 strace로 Hang 걸린 Python Process 원격 디버깅
Youngmin Koo
 
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
hoondong kim
 
Sccc 서버 사용내역
Sccc 서버 사용내역Sccc 서버 사용내역
Sccc 서버 사용내역
성화 이
 

Similar to PWA로 출퇴근 기록 시스템 개발하기 (2019 HTML5 Conf Seoul) (20)

20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debugging20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debugging
 
20151219_(python_korea)_How_to_automate_webhacking.kr_with_Python_presentation
20151219_(python_korea)_How_to_automate_webhacking.kr_with_Python_presentation20151219_(python_korea)_How_to_automate_webhacking.kr_with_Python_presentation
20151219_(python_korea)_How_to_automate_webhacking.kr_with_Python_presentation
 
장고로 웹서비스 만들기 기초
장고로 웹서비스 만들기   기초장고로 웹서비스 만들기   기초
장고로 웹서비스 만들기 기초
 
Showroom 2019-react
Showroom 2019-reactShowroom 2019-react
Showroom 2019-react
 
쇼핑검색 React 전환 경험 공유
쇼핑검색 React 전환 경험 공유쇼핑검색 React 전환 경험 공유
쇼핑검색 React 전환 경험 공유
 
PWA를 활용한 Daily Check In - 주니어 프론트 개발자가 혼자 웹앱 만든 썰
PWA를 활용한  Daily Check In - 주니어 프론트 개발자가 혼자 웹앱 만든 썰PWA를 활용한  Daily Check In - 주니어 프론트 개발자가 혼자 웹앱 만든 썰
PWA를 활용한 Daily Check In - 주니어 프론트 개발자가 혼자 웹앱 만든 썰
 
자바_웹_개발자를_위한_c#_핵심_기능
자바_웹_개발자를_위한_c#_핵심_기능자바_웹_개발자를_위한_c#_핵심_기능
자바_웹_개발자를_위한_c#_핵심_기능
 
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220
 
Place site Design
Place site DesignPlace site Design
Place site Design
 
DV 환경에서 PG 연동하기 ('우리 안의 소리', 2015-11-19)
DV 환경에서 PG 연동하기 ('우리 안의 소리', 2015-11-19)DV 환경에서 PG 연동하기 ('우리 안의 소리', 2015-11-19)
DV 환경에서 PG 연동하기 ('우리 안의 소리', 2015-11-19)
 
[Play.node] node.js 를 사용한 대규모 글로벌(+중국) 서비스
[Play.node] node.js 를 사용한 대규모 글로벌(+중국) 서비스[Play.node] node.js 를 사용한 대규모 글로벌(+중국) 서비스
[Play.node] node.js 를 사용한 대규모 글로벌(+중국) 서비스
 
버그 트래킹 시스템 Mantis의 사용 그리고 예제
버그 트래킹 시스템 Mantis의 사용 그리고 예제버그 트래킹 시스템 Mantis의 사용 그리고 예제
버그 트래킹 시스템 Mantis의 사용 그리고 예제
 
2021년 3월 27일 개발자 이야기
2021년 3월 27일 개발자 이야기2021년 3월 27일 개발자 이야기
2021년 3월 27일 개발자 이야기
 
manage inhouse openstack the hard way(kakao case study about 10,000 vms)
manage inhouse openstack the hard way(kakao case study about 10,000 vms)manage inhouse openstack the hard way(kakao case study about 10,000 vms)
manage inhouse openstack the hard way(kakao case study about 10,000 vms)
 
클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기
 
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
 
500.JBoss Troubleshooting Essential
500.JBoss Troubleshooting Essential500.JBoss Troubleshooting Essential
500.JBoss Troubleshooting Essential
 
GDB와 strace로 Hang 걸린 Python Process 원격 디버깅
GDB와 strace로 Hang 걸린 Python Process 원격 디버깅GDB와 strace로 Hang 걸린 Python Process 원격 디버깅
GDB와 strace로 Hang 걸린 Python Process 원격 디버깅
 
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
Auto Scalable 한 Deep Learning Production 을 위한 AI Serving Infra 구성 및 AI DevOps...
 
Sccc 서버 사용내역
Sccc 서버 사용내역Sccc 서버 사용내역
Sccc 서버 사용내역
 

PWA로 출퇴근 기록 시스템 개발하기 (2019 HTML5 Conf Seoul)