meteor korea dev school 1st day

28
Meteor Korea DEV School 1 st day

Upload: seung-hyun-park

Post on 16-Jul-2015

3.902 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: Meteor Korea DEV School 1st day

Meteor Korea DEV School 1st day

Page 2: Meteor Korea DEV School 1st day

- 박승현

- [email protected]

- http://digveloper.ppillip.com

발표자 소개

Page 3: Meteor Korea DEV School 1st day

선제 공격 아니. 질문!!

1. javascript , jQuery 2. mongodb3. angular Mean steak4. meteor

Page 4: Meteor Korea DEV School 1st day

0. Meteor 란

http://bookies.meteor.com → 접속해 봅니다.

https://github.com/ppillip/bookies

Page 5: Meteor Korea DEV School 1st day

0. Meteor 란

1. 순수 자바스크립트입니다.

2. 실시간 업데이트됩니다. 매번 다시 빌드하거나 서버를 내렸다 올리지 않아도 자동으로 갱신됩니다.

3. 깔끔하고 강력한 데이터 동기화를 합니다.

4. 데이터 동기화시 자체적으로 지연 보정을 합니다.

5. Hot Code Push를 지원하여 가동 중에도 코드를 변경할 수 있습니다. 사

용중인 유저들을 쫓아내지 않고서도 말이죠.

6. 민감한 코드는 서버 보안 영역에 분리하여 실행할 수 있습니다.

7. 커맨드라인 한번으로 완전히 작동하는 어플리케이션 번들을 만들 수 있습니다.

8. 호환성이 뛰어납니다. 심플한 DDP 프로토콜을 구현하는 것 만으로 어디든 연결 할 수 있습니다.

9. atmospherejs.com 에서 검색하고 meteor add 한번에 필요한 기능을 추가하세요

출처 : http://www.meteorjs.kr/posts/KEJKpzboiJSBrZ2AS

Page 6: Meteor Korea DEV School 1st day

1. 개발툴

Page 7: Meteor Korea DEV School 1st day

mongoDBMeteor

Folder

- client - server - model - public

meteor deploy meteor add

collection API (CRUD)

1. polling2. oplog scanning

mini mongo

collection API (CRUD)

publish

subcribe

Meteor.callmethod

meteor run(build)

.meteor

(client source) Hot Code Reload

page

session template

Blaze Iron:router

Accounts package(Signup/Signin)

Browser

Server

2. Meteor Platform 전체 도식

헉! 복잡해! 한개씩 보면 쉬워요

Page 8: Meteor Korea DEV School 1st day

하나씩 해봅니다.

설치, 구동, 등등...

Page 9: Meteor Korea DEV School 1st day

Browser

Server

2. Meteor Platform – 필요한 시스템

OSX / Linux / Unix

64Bit !!!!

윈도우면 버철머신 , 우비 ..

Page 10: Meteor Korea DEV School 1st day

2. Meteor Platform – 설치해보자

Browser

Server

Meteor

$curl https://install.meteor.com/ | sh

DownLoad and Install

Page 11: Meteor Korea DEV School 1st day

2. Meteor Platform – 프로젝트 생성

Browser

Server

Meteor

$meteor create 프로젝트

Page 12: Meteor Korea DEV School 1st day

mongoDBMeteor

Folder

- client - server - model - public

.meteor

Browser

Server

2. Meteor Platform – 개발

코딩을 합니다. 폴더구조가....

Page 13: Meteor Korea DEV School 1st day

mongoDBMeteor

Folder

- client - server - model - public

.meteor

Browser

Server

2. Meteor Platform – 패키지 설치

프로젝트$meteor add iron:router

meteor add

Page 14: Meteor Korea DEV School 1st day

mongoDBMeteor

Folder

- client - server - model - public

mini mongo

meteor run(build)

.meteor page

session template

Blaze Iron:router

Browser

Server

2. Meteor Platform – 서버 구동

meteor add

프로젝트$meteor run

Page 15: Meteor Korea DEV School 1st day

mongoDBMeteor

Folder

- client - server - model - public

mini mongo

meteor run(build)

.meteor page

session template

Blaze Iron:router

Browser

Server

2. Meteor Platform – 서버 구동

meteor add

프로젝트$meteor run

Page 16: Meteor Korea DEV School 1st day

mongoDBMeteor

Folder

- client - server - model - public

mini mongo

meteor run(build)

.meteor page

session template

Blaze Iron:router

Browser

Server

2. Meteor Platform – 서버 구동

meteor add

프로젝트$meteor run

(client source) Hot Code Reload

Page 17: Meteor Korea DEV School 1st day

Data 주고 받기

- pub / sub - method call

Page 18: Meteor Korea DEV School 1st day

mongoDBMeteor

Folder

- client - server - model - public

mini mongo

meteor run(build)

.meteor page

session template

Blaze Iron:router

Browser

Server

2. Meteor Platform – Data 주고 받기 (Publish/Subscribe)

Subscribe 를 합니다.

meteor add

(client source) Hot Code Reload

subcribe

Page 19: Meteor Korea DEV School 1st day

mongoDBMeteor

Folder

- client - server - model - public

mini mongo

meteor run(build)

.meteor page

session template

Blaze Iron:router

Browser

Server

2. Meteor Platform – Data 주고 받기 (Publish/Subscribe)

Publish 해줍니다. 시시 때때로. 계속..어떻게?

meteor add

(client source) Hot Code Reload

publish

subcribe

Page 20: Meteor Korea DEV School 1st day

mongoDBMeteor

Folder

- client - server - model - public

mini mongo

meteor run(build)

.meteor page

session template

Blaze Iron:router

Browser

Server

2. Meteor Platform – Data 주고 받기 (Publish/Subscribe)

폴링, 스케닝.. 어려우신가요? 여기서 질문 받습니다.

meteor add

(client source) Hot Code Reload

publish

subcribe

1. polling2. oplog scanning

Page 21: Meteor Korea DEV School 1st day

mongoDBMeteor

Folder

- client - server - model - public

mini mongo

meteor run(build)

.meteor page

session template

Blaze Iron:router

Browser

Server

2. Meteor Platform – Data 주고 받기 (Method.call : RPC)

콜백으로데이터 받음

meteor add

(client source) Hot Code Reload

publish

subcribe

method1. polling2. oplog scanning

Meteor.call

Page 22: Meteor Korea DEV School 1st day

데이터 조회

- 클라이언트에서- 서버에서

Page 23: Meteor Korea DEV School 1st day

mongoDBMeteor

Folder

- client - server - model - public

mini mongo

meteor run(build)

.meteor page

session template

Blaze Iron:router

Browser

Server

2. Meteor Platform – 클라이언트에서 데이터 조회

pub/sub 받은 데이터중에서..

meteor add

(client source) Hot Code Reload

publish

subcribe

method

collection API (CRUD)

1. polling2. oplog scanning

Meteor.call

Page 24: Meteor Korea DEV School 1st day

mongoDBMeteor

Folder

- client - server - model - public

mini mongo

meteor run(build)

.meteor page

session template

Blaze Iron:router

Browser

Server

2. Meteor Platform – 서버에서 데이터 조회

서버API가 전체데이터를 대상으로 조회

meteor add

(client source) Hot Code Reload

publish

subcribe

method

collection API (CRUD)

collection API (CRUD)

1. polling2. oplog scanning

Meteor.call

Page 25: Meteor Korea DEV School 1st day

mongoDBMeteor

Folder

- client - server - model - public

meteor deploy meteor add

collection API (CRUD)

1. polling2. oplog scanning

mini mongo

collection API (CRUD)

publish

subcribe

Meteor.callmethod

meteor run(build)

.meteor

(client source) Hot Code Reload

page

session template

Blaze Iron:router

Accounts package(Signup/Signin)

Browser

Server

2. Meteor Platform 전체 도식

Page 26: Meteor Korea DEV School 1st day

기타

- sns 로그인- deploy 해보자

Page 27: Meteor Korea DEV School 1st day

mongoDBMeteor

Folder

- client - server - model - public

meteor add

collection API (CRUD)

1. polling2. oplog scanning

mini mongo

collection API (CRUD)

publish

subcribe

Meteor.callmethod

meteor run(build)

.meteor

(client source) Hot Code Reload

page

session template

Blaze Iron:router

Accounts package(Signup/Signin)

Browser

Server

2. Meteor Platform - SNS 로그인? 간단히..

Page 28: Meteor Korea DEV School 1st day

mongoDBMeteor

Folder

- client - server - model - public

meteor deploy meteor add

collection API (CRUD)

1. polling2. oplog scanning

mini mongo

collection API (CRUD)

publish

subcribe

Meteor.callmethod

meteor run(build)

.meteor

(client source) Hot Code Reload

page

session template

Blaze Iron:router

Accounts package(Signup/Signin)

Browser

Server

2. Meteor Platform - 미티어 서버에 배포!

프로젝트$meteor deploy bookies.meteor.com