Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
모바일 앱의
실시간 운영을 위한
유저분석과 타게팅 기법
아이지에이웍스
백정상
발표자 소개
아이지에이웍스
블루윈드
엔씨소프트
넥슨
얼마 전까지 스타트업 개발자였습니다
게임 스타트업에서
제일 중요한 것
아이디어 프로토타이핑
컨텐츠 개발
수익화 모델 준비
운영 및 관리툴 개발
퍼블리싱 준비
런칭
1~2년 버틸 돈으로 시작
모바일 게임을 만드는 길
아이디어 프로토타이핑
컨텐츠 개발
수익화 모델 준비
운영 및 관리툴 개발
퍼블리싱 준비
런칭
6개월 ~ 1년
아이디어 프로토타이핑
컨텐츠 개발
수익화 모델 준비
운영 및 관리툴 개발
퍼블리싱 준비
런칭
어떡하지??
벼락치기 1
“유저에게 친구가 방문하면 푸쉬로 알려주고 싶어요"
기획자 : “친구가 방문하면 푸시로 알려줘야 할 것 같아요”
나 : “저 지금 컨텐츠도 수정 중인데…”
기획자 : “당장 내일 퍼블리셔 만나야 하는데 푸시 없으면 안돼요 ㅠㅠ“
갑자기 다가와 상냥한 말투로
푸시 서버
게임 서버유저 A
유저 B
유저 B 방문
푸시알림 요청
GCM/APN으로
푸시 알림
Node.js 모듈 다운받아서 3시간 만에 구현
GCM/APNS 그런 건 모르겠고
“전체유저 푸시는 부하 때문에 안 되요“
벼락치기 2
“모든 유저에게 푸시 메시지를 보내야겠어요"
푸시 서버
게임디비
콘솔 프로그램
전체 유저 데이터
요청
10000명씩 발송
요청당
1000명씩 발송
발송 시각은 개발자가 수동으로 설정
발송 시점마다 매번
전체 유저에게 제대로 발송 되었는지
유저가 실제 메시지를 봤는지
“구글/애플이 하라는 대로 했어요“
“잘 날아갔을 거에요“
왜 이랬을까
보통 혼자 아니면 둘
게임은 재미있어야 돈을 번다
재미있게 만들기에도 빠듯한 개발기간
당연히 운영/관리툴은 날림으로
누군가가 나 대신 해줬으면 좋겠다
내가 삽질을 돕자
운영 시스템 개발
“스테이지 100판이상 깬 유저에게만 푸시를 보내고 싶어요“
“그중 몇 명이나 푸시를 열어봤는지 알고 싶어요“
푸시 메시지 발송
공지 팝업
쿠폰
크로스프로모션
대표적 앱 운영 캠페인
마케터가 웹 페이지로
직접 푸시 이벤트를 등록하고
해당 푸시가 필요한 유저에게만
예약 된 시간에 발송하고
몇 명이나 푸시를 봤는지 알려줬으면
프론트
백엔드
타게팅 디비
푸시 센더
액티비티 트래커
개발자의 도움 없이 마케터가 직접 푸시 이벤트 등록
타게팅 데이터 기반으로 유저 타게팅
ASP.net MVC + Bootstrap
잘 만들어진 생산성 높은 웹 프레임워크
프론트
푸시 이벤트 등록/변경
유저 타게팅 정보 관리
Restful하게 프로토콜을 구현하긴 어렵다
내부 리소스를 사용자가 제어하게 두면 관리가 어려움
HTTP(POST) + JSON
node.js 로 빠르게 구현하자
백엔드
여러 종류의 앱이
정의되지 않은 유저 타게팅 데이터를
빠르게 입력/검색해야 하는 데이터베이스
1앱 == 1 콜렉션
NoSQL이 답
이 시스템의 실시간을 책임진다
node.js와 궁합이 좋은 mongoDB로 빠르게 구현하...
자주 변경되지 않는 정보
디바이스, 국가, 언어, 결제금액, 결제횟수
빈번하게 변경되는 정보
게임 데이터 : 스테이지, 레벨, 직업
마케팅 데이터 : 이벤트 참여,
수익화 : 결제, 오퍼월 리워드 지급
타게팅 정보
자주 변경되지 않는 정보
분석 시스템에서 매일 갱신하자
빈번하게 변경되는 정보
앱에서 실시간으로 직접 받아 갱신
타게팅 정보 업데이트
npm에 푸시를 전송하는 기능은 충분히 많은 모듈이 존재
최적화를 통해 GCM은 1분당 30만건 정도 전송
APNS는 best effort로 전송됨
푸시센더
푸시 반응 트래킹
푸시를 받고 24시간 안에 실행했다면 반응
대신 1시간 단위로 반응 수치를 보여주자
타게팅 데이터 트래킹
스테이지 클리어
유료 결제
오퍼월에서 리워드 지급
개발사에서 마음대로 커스텀 가능
액티비티 트래커
초기 시스템 구성
초기 시스템 요약
총 개발기간 : 약 3개월
가장 필요한 기능 위주
타게팅 데이터 매니저
푸시 이벤트 예약/발송
발송유저 타게팅
푸시 총 반응 리포트
클로즈 베타
“클베 시작 하자마자 500만 유저 유입 감사"
클로즈 베타
일본에서 이미 히트한 모 게임
“출시 전에 푸시서비스 만들어야 하는데 잘 됐네요“
“테스트해야 했는데 잘 되었네요“
“원하는 것을 다 해드리겠습니다”
연동 후 출시
출시 하자마자 인기무료 1위
그 뒤로 약 2주간 1위
출시 하자마자 바로 100만 이상의 유저유입
유저 로딩하는데 100초
인덱싱 이슈
WAS를 아무리 투입하고 스케일-업해도 계속 CPU 100퍼센트
아 이건 디비 이슈다
디비 상태를 보니 CPU 100퍼센트
mms를 보니 요청이 전부 디비 풀스캔
아 이건 인덱스 이슈다
몇몇 타게팅 데이터에...
인덱싱 이슈 (cont.)
개발사에서 타게팅 데이터를 추가할 때 마다
서버에서 자동으로 해당 값을 인덱싱
8개의 타게팅 데이터 == 8개의 인덱스 추가
몽고디비 인덱스 64개 제한의 압박
처음엔 DMP에서 프로필을 추출해 일괄 입력 했었음
mongodb는 insert가 느림
2.6 버전 락 구조상 전체 성능저하 이슈
유저가 수백만이 되자 일괄 입력이 성능상 불가능
유저 로그인 시점에 DMP에서 비동기 갱...
기능 개선
매번 타게팅 하려니 귀찮다
실시간 유저그룹, 타게팅 정보 관리
매번 이벤트 등록하려니 귀찮다
요일, 시간별 이벤트 관리
경쟁사는 HTML이나 이미지로 이쁘게 푸시 보내던데
HTML, 이미지 푸시 지원
동일 그...
정식 서비스
마케터가 직접 푸시 캠페인을 운영하세요
출시
지스타에 맞춰 기능개선 후 출시
지스타에서 최초 공개 후 폭발적인 반응
“무료 1위 게임 XX도 쓴 그 서비스입니다“
write가 빠를 때 == 모든 데이터가 램에 올라와 있을 때
사용자가 늘어나자 캐시 미스 발생
콜렉션당 도큐먼트가 200만개가 넘어가면 성능에 영향
AWS ElasticCache 적용
동일한 유저그룹 요청일 경우 캐시...
일괄입력, 일괄 업데이트 금지
일괄처리의 휴리스틱 최대치는 1000개
MapReduce나 Aggregate는 시기상조
Read는 Secondary preferred로
Lock 관리
100여개 앱이 사용하자 바로 100GB+
디스크는 1TB
꽉 차면 어쩌지?
디스크가 꽉 차면 어쩌지?
몽고디비 샤딩은 컬렉션 기반
오토 리밸런스는 재앙
앱 추가될 때 마다 컬렉션 생성하고 수작업으로 샤딩;;;
현실적으로 손이 많이 감
샤딩
온라인 게임 서버 증설하는 방식
기존 리플리카 셋은 페더레이션 0번 이후 1씩 증가
새로운 페더레이션 멤버가 추가되면 수작업
앱별 페더레이션 맵퍼 구현
수동 페더레이션
백업은
Glacier에 저장
삭제 유저는
6개월마다 스위핑
타게팅 데이터 관리
푸시 이벤트가 많이 처리되다 보니
푸시 API -> 푸시 센더로의 http 요청이 가끔 실패하는 경우가 있음
SQS를 통해 푸시 전송 요청 메시지 유실 방지
푸시 센더 병렬화가 간편해짐
푸시가 계속 발송중 상태에요
대부분 고객사 자체적으로 푸시 서비스를 만들어 쓰는 상황
APNS는 큰 문제가 없으나
GCM은 register를 누가 먼저 어떻게 하느냐에 따라 푸시 발송불가
멀티푸시가 가능하도록 구현 및 가이드 제공
우리 자체 푸시도...
꿀팁 : 푸시 이벤트 운영 노하우
리포트를 통해 성과 최적화
전체 유저에게 지속적으로 보내면 반응이 하락
최근 1일 내 접속 유저에게만 보내면 반응이 상승
점심보단 저녁에 보내는 것이 효과적
동일한 메시지를
주중보다 주말에 푸시를 더 많이 볼까?
어느 시간대에 푸시를 보내야 할까?
전체 데이터 중 일부를 샘플링하여 분석
요일/시간대별 반응
월요일 화요일 수요일 목요일 금요일 토요일 일요일
요일별 푸시 메시지 반응
금,토요일에 소폭 상승이 있을 뿐
요일별 차이는 크게 없음
요일/시간별로 보면 어떨까?
결과
전체적인 반응이 점심, 저녁시간에 집중되어 있음
금요일 18~19시는 최고조 불금!
월요일 점심, 저녁 시간은 의외
재미있는 결과
맺음
개발기간 : 1년+
앱 : 200+
디바이스 : 31,400,000+
진행된 캠페인 : 9,100+
푸시 발송건수 : 540,000,000+
성과
마케팅 캠페인 기능 추가
공지팝업 New!
마케팅 및 운영에 필요한 실시간 정보 제공
방금 접속한 유저의 성향 알림
최근 1시간동안의 매출정보
실시간 정보 기준 유저 타게팅
앞으로의 과제
팔지 말고 돕자
고객이 불편하면 우리 잘못
애정이 있어서 쓴 소리도 하시는 것
고객이 필요한 기능은 우리의 다음 발걸음
느낀 점
DONE IS BETTER THAN
PERFECT
감사합니다
WE’RE HIRING!
jason@igaworks.com
NDC15_백정상_최종_모바일_앱의_실시간_운영을_위한_유저분석과_타게팅_기법
NDC15_백정상_최종_모바일_앱의_실시간_운영을_위한_유저분석과_타게팅_기법
NDC15_백정상_최종_모바일_앱의_실시간_운영을_위한_유저분석과_타게팅_기법
NDC15_백정상_최종_모바일_앱의_실시간_운영을_위한_유저분석과_타게팅_기법
NDC15_백정상_최종_모바일_앱의_실시간_운영을_위한_유저분석과_타게팅_기법
NDC15_백정상_최종_모바일_앱의_실시간_운영을_위한_유저분석과_타게팅_기법
NDC15_백정상_최종_모바일_앱의_실시간_운영을_위한_유저분석과_타게팅_기법
NDC15_백정상_최종_모바일_앱의_실시간_운영을_위한_유저분석과_타게팅_기법
Upcoming SlideShare
Loading in …5
×
Upcoming SlideShare
NDC 2015 비정형데이터분석 & 온라인게임운영
Next
Download to read offline and view in fullscreen.

42

Share

Download to read offline

NDC15_백정상_최종_모바일_앱의_실시간_운영을_위한_유저분석과_타게팅_기법

Download to read offline

NDC 15에서 발표한 라이브 오퍼레이션 개발기

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

NDC15_백정상_최종_모바일_앱의_실시간_운영을_위한_유저분석과_타게팅_기법

  1. 1. 모바일 앱의 실시간 운영을 위한 유저분석과 타게팅 기법 아이지에이웍스 백정상
  2. 2. 발표자 소개
  3. 3. 아이지에이웍스 블루윈드 엔씨소프트 넥슨
  4. 4. 얼마 전까지 스타트업 개발자였습니다
  5. 5. 게임 스타트업에서 제일 중요한 것
  6. 6. 아이디어 프로토타이핑 컨텐츠 개발 수익화 모델 준비 운영 및 관리툴 개발 퍼블리싱 준비 런칭 1~2년 버틸 돈으로 시작 모바일 게임을 만드는 길
  7. 7. 아이디어 프로토타이핑 컨텐츠 개발 수익화 모델 준비 운영 및 관리툴 개발 퍼블리싱 준비 런칭 6개월 ~ 1년
  8. 8. 아이디어 프로토타이핑 컨텐츠 개발 수익화 모델 준비 운영 및 관리툴 개발 퍼블리싱 준비 런칭 어떡하지??
  9. 9. 벼락치기 1 “유저에게 친구가 방문하면 푸쉬로 알려주고 싶어요"
  10. 10. 기획자 : “친구가 방문하면 푸시로 알려줘야 할 것 같아요” 나 : “저 지금 컨텐츠도 수정 중인데…” 기획자 : “당장 내일 퍼블리셔 만나야 하는데 푸시 없으면 안돼요 ㅠㅠ“ 갑자기 다가와 상냥한 말투로
  11. 11. 푸시 서버 게임 서버유저 A 유저 B 유저 B 방문 푸시알림 요청 GCM/APN으로 푸시 알림
  12. 12. Node.js 모듈 다운받아서 3시간 만에 구현 GCM/APNS 그런 건 모르겠고 “전체유저 푸시는 부하 때문에 안 되요“
  13. 13. 벼락치기 2 “모든 유저에게 푸시 메시지를 보내야겠어요"
  14. 14. 푸시 서버 게임디비 콘솔 프로그램 전체 유저 데이터 요청 10000명씩 발송 요청당 1000명씩 발송
  15. 15. 발송 시각은 개발자가 수동으로 설정 발송 시점마다 매번 전체 유저에게 제대로 발송 되었는지 유저가 실제 메시지를 봤는지 “구글/애플이 하라는 대로 했어요“ “잘 날아갔을 거에요“
  16. 16. 왜 이랬을까
  17. 17. 보통 혼자 아니면 둘 게임은 재미있어야 돈을 번다 재미있게 만들기에도 빠듯한 개발기간 당연히 운영/관리툴은 날림으로 누군가가 나 대신 해줬으면 좋겠다
  18. 18. 내가 삽질을 돕자
  19. 19. 운영 시스템 개발 “스테이지 100판이상 깬 유저에게만 푸시를 보내고 싶어요“ “그중 몇 명이나 푸시를 열어봤는지 알고 싶어요“
  20. 20. 푸시 메시지 발송 공지 팝업 쿠폰 크로스프로모션 대표적 앱 운영 캠페인
  21. 21. 마케터가 웹 페이지로 직접 푸시 이벤트를 등록하고 해당 푸시가 필요한 유저에게만 예약 된 시간에 발송하고 몇 명이나 푸시를 봤는지 알려줬으면 프론트 백엔드 타게팅 디비 푸시 센더 액티비티 트래커
  22. 22. 개발자의 도움 없이 마케터가 직접 푸시 이벤트 등록 타게팅 데이터 기반으로 유저 타게팅 ASP.net MVC + Bootstrap 잘 만들어진 생산성 높은 웹 프레임워크 프론트
  23. 23. 푸시 이벤트 등록/변경 유저 타게팅 정보 관리 Restful하게 프로토콜을 구현하긴 어렵다 내부 리소스를 사용자가 제어하게 두면 관리가 어려움 HTTP(POST) + JSON node.js 로 빠르게 구현하자 백엔드
  24. 24. 여러 종류의 앱이 정의되지 않은 유저 타게팅 데이터를 빠르게 입력/검색해야 하는 데이터베이스 1앱 == 1 콜렉션 NoSQL이 답 이 시스템의 실시간을 책임진다 node.js와 궁합이 좋은 mongoDB로 빠르게 구현하자 타게팅 디비
  25. 25. 자주 변경되지 않는 정보 디바이스, 국가, 언어, 결제금액, 결제횟수 빈번하게 변경되는 정보 게임 데이터 : 스테이지, 레벨, 직업 마케팅 데이터 : 이벤트 참여, 수익화 : 결제, 오퍼월 리워드 지급 타게팅 정보
  26. 26. 자주 변경되지 않는 정보 분석 시스템에서 매일 갱신하자 빈번하게 변경되는 정보 앱에서 실시간으로 직접 받아 갱신 타게팅 정보 업데이트
  27. 27. npm에 푸시를 전송하는 기능은 충분히 많은 모듈이 존재 최적화를 통해 GCM은 1분당 30만건 정도 전송 APNS는 best effort로 전송됨 푸시센더
  28. 28. 푸시 반응 트래킹 푸시를 받고 24시간 안에 실행했다면 반응 대신 1시간 단위로 반응 수치를 보여주자 타게팅 데이터 트래킹 스테이지 클리어 유료 결제 오퍼월에서 리워드 지급 개발사에서 마음대로 커스텀 가능 액티비티 트래커
  29. 29. 초기 시스템 구성
  30. 30. 초기 시스템 요약 총 개발기간 : 약 3개월 가장 필요한 기능 위주 타게팅 데이터 매니저 푸시 이벤트 예약/발송 발송유저 타게팅 푸시 총 반응 리포트
  31. 31. 클로즈 베타 “클베 시작 하자마자 500만 유저 유입 감사"
  32. 32. 클로즈 베타 일본에서 이미 히트한 모 게임 “출시 전에 푸시서비스 만들어야 하는데 잘 됐네요“ “테스트해야 했는데 잘 되었네요“ “원하는 것을 다 해드리겠습니다”
  33. 33. 연동 후 출시 출시 하자마자 인기무료 1위 그 뒤로 약 2주간 1위 출시 하자마자 바로 100만 이상의 유저유입
  34. 34. 유저 로딩하는데 100초
  35. 35. 인덱싱 이슈 WAS를 아무리 투입하고 스케일-업해도 계속 CPU 100퍼센트 아 이건 디비 이슈다 디비 상태를 보니 CPU 100퍼센트 mms를 보니 요청이 전부 디비 풀스캔 아 이건 인덱스 이슈다 몇몇 타게팅 데이터에 인덱스를 걸자 기적과 같이 서비스가 말짱해짐
  36. 36. 인덱싱 이슈 (cont.) 개발사에서 타게팅 데이터를 추가할 때 마다 서버에서 자동으로 해당 값을 인덱싱 8개의 타게팅 데이터 == 8개의 인덱스 추가 몽고디비 인덱스 64개 제한의 압박
  37. 37. 처음엔 DMP에서 프로필을 추출해 일괄 입력 했었음 mongodb는 insert가 느림 2.6 버전 락 구조상 전체 성능저하 이슈 유저가 수백만이 되자 일괄 입력이 성능상 불가능 유저 로그인 시점에 DMP에서 비동기 갱신하자 타게팅 데이터 갱신이슈
  38. 38. 기능 개선 매번 타게팅 하려니 귀찮다 실시간 유저그룹, 타게팅 정보 관리 매번 이벤트 등록하려니 귀찮다 요일, 시간별 이벤트 관리 경쟁사는 HTML이나 이미지로 이쁘게 푸시 보내던데 HTML, 이미지 푸시 지원 동일 그룹에 메시지를 다르게 보내서 성과를 측정하고 싶다 A/B 테스팅 추가 푸시를 받으면 특정 앱 페이지로 이동시키고 싶다 딥링킹 추가
  39. 39. 정식 서비스 마케터가 직접 푸시 캠페인을 운영하세요
  40. 40. 출시 지스타에 맞춰 기능개선 후 출시 지스타에서 최초 공개 후 폭발적인 반응 “무료 1위 게임 XX도 쓴 그 서비스입니다“
  41. 41. write가 빠를 때 == 모든 데이터가 램에 올라와 있을 때 사용자가 늘어나자 캐시 미스 발생 콜렉션당 도큐먼트가 200만개가 넘어가면 성능에 영향 AWS ElasticCache 적용 동일한 유저그룹 요청일 경우 캐시에서 전송 몽고디비의 배신
  42. 42. 일괄입력, 일괄 업데이트 금지 일괄처리의 휴리스틱 최대치는 1000개 MapReduce나 Aggregate는 시기상조 Read는 Secondary preferred로 Lock 관리
  43. 43. 100여개 앱이 사용하자 바로 100GB+ 디스크는 1TB 꽉 차면 어쩌지? 디스크가 꽉 차면 어쩌지?
  44. 44. 몽고디비 샤딩은 컬렉션 기반 오토 리밸런스는 재앙 앱 추가될 때 마다 컬렉션 생성하고 수작업으로 샤딩;;; 현실적으로 손이 많이 감 샤딩
  45. 45. 온라인 게임 서버 증설하는 방식 기존 리플리카 셋은 페더레이션 0번 이후 1씩 증가 새로운 페더레이션 멤버가 추가되면 수작업 앱별 페더레이션 맵퍼 구현 수동 페더레이션
  46. 46. 백업은 Glacier에 저장 삭제 유저는 6개월마다 스위핑 타게팅 데이터 관리
  47. 47. 푸시 이벤트가 많이 처리되다 보니 푸시 API -> 푸시 센더로의 http 요청이 가끔 실패하는 경우가 있음 SQS를 통해 푸시 전송 요청 메시지 유실 방지 푸시 센더 병렬화가 간편해짐 푸시가 계속 발송중 상태에요
  48. 48. 대부분 고객사 자체적으로 푸시 서비스를 만들어 쓰는 상황 APNS는 큰 문제가 없으나 GCM은 register를 누가 먼저 어떻게 하느냐에 따라 푸시 발송불가 멀티푸시가 가능하도록 구현 및 가이드 제공 우리 자체 푸시도 써야 되는데
  49. 49. 꿀팁 : 푸시 이벤트 운영 노하우 리포트를 통해 성과 최적화
  50. 50. 전체 유저에게 지속적으로 보내면 반응이 하락 최근 1일 내 접속 유저에게만 보내면 반응이 상승 점심보단 저녁에 보내는 것이 효과적 동일한 메시지를
  51. 51. 주중보다 주말에 푸시를 더 많이 볼까? 어느 시간대에 푸시를 보내야 할까? 전체 데이터 중 일부를 샘플링하여 분석 요일/시간대별 반응
  52. 52. 월요일 화요일 수요일 목요일 금요일 토요일 일요일 요일별 푸시 메시지 반응
  53. 53. 금,토요일에 소폭 상승이 있을 뿐 요일별 차이는 크게 없음 요일/시간별로 보면 어떨까? 결과
  54. 54. 전체적인 반응이 점심, 저녁시간에 집중되어 있음 금요일 18~19시는 최고조 불금! 월요일 점심, 저녁 시간은 의외 재미있는 결과
  55. 55. 맺음
  56. 56. 개발기간 : 1년+ 앱 : 200+ 디바이스 : 31,400,000+ 진행된 캠페인 : 9,100+ 푸시 발송건수 : 540,000,000+ 성과
  57. 57. 마케팅 캠페인 기능 추가 공지팝업 New! 마케팅 및 운영에 필요한 실시간 정보 제공 방금 접속한 유저의 성향 알림 최근 1시간동안의 매출정보 실시간 정보 기준 유저 타게팅 앞으로의 과제
  58. 58. 팔지 말고 돕자 고객이 불편하면 우리 잘못 애정이 있어서 쓴 소리도 하시는 것 고객이 필요한 기능은 우리의 다음 발걸음 느낀 점
  59. 59. DONE IS BETTER THAN PERFECT
  60. 60. 감사합니다 WE’RE HIRING! jason@igaworks.com
  • noneckwolf

    May. 22, 2019
  • jephrix

    May. 8, 2018
  • ssuser215764

    Sep. 29, 2017
  • ssuser9da522

    Apr. 19, 2017
  • DaveCha

    Apr. 4, 2017
  • maskmanred

    Mar. 24, 2017
  • micus74

    Jul. 1, 2016
  • putyourhandsup

    May. 23, 2016
  • euari

    Apr. 28, 2016
  • gedwarp

    Nov. 11, 2015
  • hyuntaeklee399

    Oct. 4, 2015
  • jvrian

    Aug. 31, 2015
  • ewankim83

    Aug. 28, 2015
  • JonglyelYoun

    Jul. 28, 2015
  • jungsuksong9

    Jun. 26, 2015
  • hurrydog

    Jun. 18, 2015
  • HongSeokNa

    Jun. 11, 2015
  • winninghabit

    Jun. 11, 2015
  • prodig

    Jun. 11, 2015
  • totuworld

    Jun. 11, 2015

NDC 15에서 발표한 라이브 오퍼레이션 개발기

Views

Total views

6,015

On Slideshare

0

From embeds

0

Number of embeds

1,359

Actions

Downloads

121

Shares

0

Comments

0

Likes

42

×