parse.com 맛보기

97
parse.com 맛보기 2015-08 불투 스터디

Upload: flashscope

Post on 16-Apr-2017

4.741 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Parse.com 맛보기

parse.com 맛보기

2015-08 불투 스터디

Page 2: Parse.com 맛보기

이 자료는 아래의 항목을 파스닷컴의 튜토리얼을 정리한 내용입니다.

-안드로이드 푸시 -안드로이드 데이터 추가 조회 수정 삭제 !-클라우드 코드 -클라우드 호스팅 ㄴ JS 푸시 ㄴ JS 데이터 추가 조회 수정 삭제

Page 3: Parse.com 맛보기

예전부터 좋다고 이야기는 많이 들어본 parse.com… 튜토리얼 문서를 보고 따라 해 보겠습니다.

Page 4: Parse.com 맛보기

https://www.parse.com/products/core

DB도 제공해 주고… 푸시 서버도 제공해 주고… 사용 분석도 제공합니다. +@!

Parse서비스란?

Page 5: Parse.com 맛보기

가격 정책은… 초당 30처리 제한이 있지만… 저장소도 20GB에 푸시는 월 백만건 무료!

Page 6: Parse.com 맛보기

이메일(혹은 페북, 깃헙, 구플)로 간단 가입! 신용 카드 등록 X!

Page 7: Parse.com 맛보기

Android Push 맛보기

Page 8: Parse.com 맛보기

대시보드의 모습… 일단 문서를…

Page 9: Parse.com 맛보기

QuickStart선택

Page 10: Parse.com 맛보기

https://www.parse.com/apps/quickstart여러 서비스들의 안내가 있지만 일단 푸쉬를!

Page 11: Parse.com 맛보기

플랫폼은 안드로이드로…

Page 12: Parse.com 맛보기

자바 언어를 선택(사마린까지 제공하다니…)

Page 13: Parse.com 맛보기

새 프로젝트에서 파스를 연동할 건지 기존 프로젝트에서 할 건지 물어봅니다.

Page 14: Parse.com 맛보기

새 프로젝트를 하면 파스 라이브러리가 연동되어있는 상태의 빈 프로젝트를 다운받아서 사용 할 수 있습니다.

Page 15: Parse.com 맛보기

기존 프로젝트를 선택하면 라이브러리 파일을 다운로드해서 사용할 수 있게 안내합니다.

Page 16: Parse.com 맛보기

AndroidStudio New Project ← Existing project

양쪽다 약간씩 경험하기 위해 안드로이드 스튜디오에서 새 프로젝트를 만들고 기존 프로젝트에 추가하는 방식으로 해보겠습니다.

Page 17: Parse.com 맛보기

compile 'com.parse.bolts:bolts-android:1.2.1' compile 'com.parse:parse-android:1.10.1'

문서에는 sdk를 다운받아서 사용하도록 안내 되어있지만 dependencies 설정만으로 사용이 가능합니다.

Page 18: Parse.com 맛보기

Application을 상속받는 새 클래스를 만들겠습니다.

Page 19: Parse.com 맛보기

Application을 상속받고 onCreate를 만들었습니다.

Page 20: Parse.com 맛보기

QuickStart 페이지를 보면 자신의 키에 맞게 복사 붙여넣기를 할 수 있도록 잘 안내되어 있습니다.

Page 21: Parse.com 맛보기

Copy And Paste…

Page 22: Parse.com 맛보기

Manifest에 방금 만든 Application 클래스를 등록 합니다.

Page 23: Parse.com 맛보기

QuickStart에는 Manifest -> application안에 들어가야 할 내용도 안내되어있습니다.

Page 24: Parse.com 맛보기

application 사이에 붙여 넣기…

Page 25: Parse.com 맛보기

단 category name은 기존의 com.parse.starter가 아니라 자신의 패키지명을 사용해야 합니다.

Page 26: Parse.com 맛보기

마찬가지로 QuickStart의 퍼미션 정보도 붙여넣기…

Page 27: Parse.com 맛보기

여기도 자신의 패키지명으로 수정… ( 패키지명.permission.C2D_MESSAGE )

Page 28: Parse.com 맛보기

아무것도 없는 앱이지만…

Page 29: Parse.com 맛보기

QuickStart에서 하단의 Test버튼을 눌러보겠습니다.

Page 30: Parse.com 맛보기

푸쉬가 정상적으로 들어왔습니다!

Page 31: Parse.com 맛보기

키를 잘못 선택해서 예전 프로젝트로 테스트를…

대시보드의 Push탭을 보면 전송 내역들을 보거나 +Send a push버튼을 누르면 웹에서 푸쉬를 전송 할 수 있습니다.

Page 32: Parse.com 맛보기

메시지를 보낼 대상을 고를 수 있고…

Page 33: Parse.com 맛보기

메시지를 적고…스샷에는 누락되었지만 메시지의 A/B테스트도 가능하고

메시지 열람률과 열람 시각도 푸쉬 전송 내역에서 확인이 가능합니다.

Page 34: Parse.com 맛보기

미리보기를 한번 보고…

Page 35: Parse.com 맛보기

전송!

Page 36: Parse.com 맛보기

수신!

Page 37: Parse.com 맛보기

데이터 다루기

Page 38: Parse.com 맛보기

http://pastebin.com/uwVhUmpa

테스트를 위해 간단한 레이아웃을 만들었습니다.

Page 39: Parse.com 맛보기

http://pastebin.com/FPdET77J

일단 MainActivity의 버튼에 리스너들좀 달고…

Page 40: Parse.com 맛보기

데이터 삽입

데이터를 삽입해 보겠습니다… ParseObject를 만들고 넣고 싶은 값을 key-value형태로 넣고 save하면 끝!

(콜백에 exception이 null == 정상 그리고 db Id를 잠시 TextView에 저장하였습니다.)

Page 41: Parse.com 맛보기

대시보드의 Core를 보면 데이터가 잘 들어가 있는것을 보실 수 있습니다. (몽고DB등을 사용해 보신분은 익숙하시지만 MySql등만을 사용하셨으면 좀 신기하실 지도…)

Page 42: Parse.com 맛보기

objectId

데이터를 가져 올 때에는 ParseQuery를 사용합니다. !

(objectId가 아니라 다른 값으로 데이터를 가져 올 때에는 whereEqualTo나 lessThan greaterThan등등을 사용합니다…

단 한번에 가져올 수 있는 갯수에 제한이 있으므로 많은 데이터를 가져 올 때에는 limit과 skip을 조합해서 여러번에 나누어서 데이터를 받아와야 합니다.)

Page 43: Parse.com 맛보기

Put버튼을 누르면 데이터가 삽입되고 그 데이터의 id가 표시가 됩니다. Get버튼을 누르면 방금 전 삽입한 데이터를 표시합니다.

Page 44: Parse.com 맛보기

데이터의 수정은 전에 한 Get과 동일합니다. 단 찾은 ParseObject의 값을 수정하고 다시 Save하면 끝!

데이터 수정

Page 45: Parse.com 맛보기

Update 버튼을 누르고 대시보드에서 새로 고침 하시면 데이터가 수정된 것을 확인할 수 있습니다.

Page 46: Parse.com 맛보기

만약 원자적인 데이터 수정이 필요하시면 increment나 decre를 사용하시면 됩니다!

Page 47: Parse.com 맛보기

데이터 삭제

Update와 마찬가지로 찾고 찾은 ParseObject를 delete호출 하면 끝…

Page 48: Parse.com 맛보기

delete버튼을 누르고 새로고침하면…

Page 49: Parse.com 맛보기

간단하게 삭제!

Page 50: Parse.com 맛보기

지금 방식은 ObjectId 만 알고 있으면 누구나 수정해버릴 수 있는 게 아닌가?

Page 51: Parse.com 맛보기

지금 방식은 ObjectId 만 알고 있으면 누구나 수정해버릴 수 있는 게 아닌가?

해당기기만 그 데이터를 다룰 수 있게 하기…

Page 52: Parse.com 맛보기

Application클래스에서 ACL(Access Control List)설정을 합니다. (기기 고유번호를 생성합니다.)

Page 53: Parse.com 맛보기

기존에 ParseObject를 save하기 전에 setACL을 합니다.

Page 54: Parse.com 맛보기

대시보드를 보면 고유번호가 ACL에 추가되게 됩니다.

Page 55: Parse.com 맛보기

하드코딩 테스트 (다른 디바이스가 ObjectId를 찾아내서 데이터를 가져온다면?!)

Page 56: Parse.com 맛보기

데이터를 입력했던 곳에서는 데이터를 가져 올 수 있지만 다른곳에서는 실패합니다.

Page 57: Parse.com 맛보기

Cloud Code… Cloud Hosting 맛보기

Page 58: Parse.com 맛보기

Core에는 Cloud Code라는 기능도 제공합니다. Cloud Code를 사용하면 쉽게 API서버를 만들 수 있습니다.

Page 59: Parse.com 맛보기

https://www.parse.com/docs/js/guide#command-line-installation

Cloud Code를 이용하기 위해서는 Command Line Tool을 설치해야 합니다.

Page 60: Parse.com 맛보기

MAC AND LINUX curl -s https://www.parse.com/downloads/cloud_code/installer.sh | sudo /bin/bash

!WINDOWS

https://github.com/ParsePlatform/parse-cli/releases/tag/release_2.2.4

(환경변수 설정 or 파일 직접 실행)

맥,리눅스는 쉘코드 받아서 실행하고 윈도우즈는 exe파일을 다운 받습니다.

Page 61: Parse.com 맛보기

1.parse new를 입력 2.로그인을 합니다.

3.새로운 앱을 만들거냐고 묻는데 여기서는 전에 안드로이드 테스트에 사용하던 앱을 계속 사용하겠습니다.

4.테스트해볼 curl예제를 줍니다. appId, api Key등이 나와있습니다.

1.

2.3.

4.

Page 62: Parse.com 맛보기

parse new를 하면 앱 폴더가 생성되고 main.js를 확인할 수 있습니다.

hello로 요청이 들어오면 Hello world!를 리턴해줍니다.

Page 63: Parse.com 맛보기

단 테스트 하기 위해서는 먼저 앱 폴더로 가서 parse deploy를 합니다

(앞으로 변경점이 생길시에는 꼭 deploy로 반영을 합니다.)

Page 64: Parse.com 맛보기

curl로 테스트를 하였더니 main.js에 기재되어 있는 대로 HelloWorld가 돌아왔습니다.

Page 65: Parse.com 맛보기

Cloud Hosting 사용하기

Page 66: Parse.com 맛보기

Settings -> Hosting -> ParseApp Name에서 나만의 도메인을 설정할 수 있습니다.

Page 67: Parse.com 맛보기

앞에서 설정한 도메인으로 접속해 보면 인덱스 페이지가 잘 표시됩니다.

Page 68: Parse.com 맛보기

parse generate를 하면 app.js와 views가 생성됩니다.

!main.js에는

require(‘cloud/app.js’);를 추가합니다.

Page 69: Parse.com 맛보기

app.js를 보면 get방식으로 hello가 오면 views에 hello.ejs파일에 Congrats…의 메시지를 담아서

화면에 보여줍니다.

Page 70: Parse.com 맛보기

물론 변경점을 parse deploy로 적용을 해줘야 합니다…

Page 71: Parse.com 맛보기

~.parseapp.com/hello에 접속하면 헬로월드 페이지가 표시되는걸 확인 가능합니다!

Page 72: Parse.com 맛보기

get, post방식으로 인자를 받을 때… (render를 사용하지 않고 바로 데이터를 보내는 send를 사용하였습니다.)

Page 73: Parse.com 맛보기

테스트도 성공!

post test by postman

get test by browser

Page 74: Parse.com 맛보기

Cloud Hosting에서도 push와 데이터 다루기

Page 75: Parse.com 맛보기

/push로 요청이 들어오면 설치된 디바이스에 푸쉬 메시지 보내기

푸쉬 보내기

Page 76: Parse.com 맛보기
Page 77: Parse.com 맛보기

데이터 삽입 (안드로이드 버젼때와 내용은 같습니다.)

데이터 삽입

Page 78: Parse.com 맛보기
Page 79: Parse.com 맛보기

데이터 가져오기

데이터 가져오기

Page 80: Parse.com 맛보기
Page 81: Parse.com 맛보기

데이터 수정

마찬가지로 get한 오브젝트를 수정후 save…

Page 82: Parse.com 맛보기
Page 83: Parse.com 맛보기

get한 오브젝트를 destroy를 호출…

데이터 삭제

Page 84: Parse.com 맛보기
Page 85: Parse.com 맛보기

https://www.parse.com/tutorials

파스닷컴의 튜토리얼은 잘 준비되어 있습니다.

Page 86: Parse.com 맛보기

주변에 흔히 보기 쉬운 앱들의 예제를 소스코드까지 제공합니다!

Page 87: Parse.com 맛보기

간단한 게임을 만들고 파스를 붙여 보겠습니다.

Page 88: Parse.com 맛보기

Unity 5.0 + Parse Hosting

Page 89: Parse.com 맛보기

순서 맞추기 게임을 하고…

Page 90: Parse.com 맛보기

공유하기를 누르면…

Page 91: Parse.com 맛보기

내 스코어가 ParseData에 들어가고 결과페이지(Parse Hosting)를 공유 가능

Page 92: Parse.com 맛보기

Match Id로 상대방과 동일한 게임을 하고 점수를 비교

Page 93: Parse.com 맛보기

결과 페이지에는 도전자의 정보가 계속 기록 됨https://play.google.com/store/apps/details?id=com.limecolor.unity.sort

Page 94: Parse.com 맛보기

Api 제작하는데 약 2시간 소요 + 결과 페이지 UI적용에 시간이 오래 걸림…

Page 95: Parse.com 맛보기

사용자도 많이 없을 걸로 예상되니…ㅠㅠ 운영 비용도 없음!!

Page 96: Parse.com 맛보기

쉽고 빠르다… 이것만으로도 충분히 쓸만하지 않을까요?

Page 97: Parse.com 맛보기

감사합니다.