나혼자먹는다 개발발표
TRANSCRIPT
![Page 1: 나혼자먹는다 개발발표](https://reader036.vdocuments.mx/reader036/viewer/2022081517/58782c9c1a28abef5d8b5d13/html5/thumbnails/1.jpg)
나 혼자 먹는다
모바일 서버 전문가 과정 개발 발표
안드로이드 - 권혁서버 - 이상학
장소 : T 아카데미 일시 : 2015.02.24
![Page 2: 나혼자먹는다 개발발표](https://reader036.vdocuments.mx/reader036/viewer/2022081517/58782c9c1a28abef5d8b5d13/html5/thumbnails/2.jpg)
INDEX• 서비스 소개
• 데모 시연
• 클라이언트 기술 발표
• 서버 기술 발표
![Page 3: 나혼자먹는다 개발발표](https://reader036.vdocuments.mx/reader036/viewer/2022081517/58782c9c1a28abef5d8b5d13/html5/thumbnails/3.jpg)
Service Intro
![Page 4: 나혼자먹는다 개발발표](https://reader036.vdocuments.mx/reader036/viewer/2022081517/58782c9c1a28abef5d8b5d13/html5/thumbnails/4.jpg)
Ser-vice
Client Server
010203
대학생 혼밥족이혼자서도 잘 먹게 해주는
![Page 5: 나혼자먹는다 개발발표](https://reader036.vdocuments.mx/reader036/viewer/2022081517/58782c9c1a28abef5d8b5d13/html5/thumbnails/5.jpg)
Ser-vice
Client Server
010203 당신의 혼자 밥 먹는 일상을
기록하고 공유하세요
정서적 만족감: 혼자 밥 먹는 사람들끼리 인증 사진
집단지성 맞춤정보 : 지금 혼자 가기 좋은 식당 정보
![Page 6: 나혼자먹는다 개발발표](https://reader036.vdocuments.mx/reader036/viewer/2022081517/58782c9c1a28abef5d8b5d13/html5/thumbnails/6.jpg)
Ser-vice
Client Server
010203
MAIN 혼밥팁
프로필 수정
팁쓰기
설정 페이지
팁 글 글 찍기 ( 좋아요 )
팁쓴이 프로필
설정
팁쓴이 페이지
전문 보기 ( 사진 ,글 ) 댓글 남기기
카테고리 필터링 상황 별
내용 입력카테고리 선택로그인하기가입하기 사진선택 SNS 공유하기
저장 글 삭제
공지사항
사진수정 이름 이메일 자주 가는 곳
알림 x
친구 초대
로그인로그아웃
페이스북카카오톡
팔로잉 하기팔로잉 끊기
팔로잉 , 팔로워 , 레벨
확인
알림보기
팔로잉 /팔로워
좋아요 ,레벨업
로그인
랭킹보기
지역명 지역변경
서비스 기능
![Page 7: 나혼자먹는다 개발발표](https://reader036.vdocuments.mx/reader036/viewer/2022081517/58782c9c1a28abef5d8b5d13/html5/thumbnails/7.jpg)
Ser-vice
Client Server
010203
내혼밥
공감지수 (북마크 )
혼밥팁 ( 내 팁 )
프로필 수정
전문 보기 ( 사진 ,글 ) 댓글 확인
댓글 삭제
레벨지수
좋아요 찍은 글 모아보기
팔로잉 /팔로워
사진수정 이름 이메일 자주 가는 곳 MAIN
서비스 기능
![Page 8: 나혼자먹는다 개발발표](https://reader036.vdocuments.mx/reader036/viewer/2022081517/58782c9c1a28abef5d8b5d13/html5/thumbnails/8.jpg)
Ser-vice
Client Server
010203
서비스 주요 기능
혼밥팁 쓰기 SNS공유
Point레벨 업팔로우
![Page 9: 나혼자먹는다 개발발표](https://reader036.vdocuments.mx/reader036/viewer/2022081517/58782c9c1a28abef5d8b5d13/html5/thumbnails/9.jpg)
ClientAndroid
![Page 10: 나혼자먹는다 개발발표](https://reader036.vdocuments.mx/reader036/viewer/2022081517/58782c9c1a28abef5d8b5d13/html5/thumbnails/10.jpg)
Service Client Server
01020304 데모 시연
![Page 11: 나혼자먹는다 개발발표](https://reader036.vdocuments.mx/reader036/viewer/2022081517/58782c9c1a28abef5d8b5d13/html5/thumbnails/11.jpg)
Service Client Server
01020304
로그인 분리
![Page 12: 나혼자먹는다 개발발표](https://reader036.vdocuments.mx/reader036/viewer/2022081517/58782c9c1a28abef5d8b5d13/html5/thumbnails/12.jpg)
Service Client Server
01020304
PullToRefresh library
![Page 13: 나혼자먹는다 개발발표](https://reader036.vdocuments.mx/reader036/viewer/2022081517/58782c9c1a28abef5d8b5d13/html5/thumbnails/13.jpg)
Service Client Server
01020304
네비게이션 복잡도
![Page 14: 나혼자먹는다 개발발표](https://reader036.vdocuments.mx/reader036/viewer/2022081517/58782c9c1a28abef5d8b5d13/html5/thumbnails/14.jpg)
Service Client Server
01020304
Google Cloud Message
![Page 15: 나혼자먹는다 개발발표](https://reader036.vdocuments.mx/reader036/viewer/2022081517/58782c9c1a28abef5d8b5d13/html5/thumbnails/15.jpg)
Service Client Server
01020304 • 위치기반 글보기 및 글작성
• 카카오톡 친구초대
• 페이스북 로그인 , 글 공유
API 사용
![Page 16: 나혼자먹는다 개발발표](https://reader036.vdocuments.mx/reader036/viewer/2022081517/58782c9c1a28abef5d8b5d13/html5/thumbnails/16.jpg)
ServerNode.js
![Page 17: 나혼자먹는다 개발발표](https://reader036.vdocuments.mx/reader036/viewer/2022081517/58782c9c1a28abef5d8b5d13/html5/thumbnails/17.jpg)
Service Client Server
01020304
시스템 아키텍쳐ex-press
MEANndroid
![Page 18: 나혼자먹는다 개발발표](https://reader036.vdocuments.mx/reader036/viewer/2022081517/58782c9c1a28abef5d8b5d13/html5/thumbnails/18.jpg)
Service Client Server
020304
Mongo DB01
ExpressNode.js
Mongo DB
JSON
JSON
Mongoose Module• 모든 데이터가 JSON 으로 저장• 고정적 Schema 없음• 확장에 용이• RDBMS 에 뒤지지 않는 인덱싱
![Page 19: 나혼자먹는다 개발발표](https://reader036.vdocuments.mx/reader036/viewer/2022081517/58782c9c1a28abef5d8b5d13/html5/thumbnails/19.jpg)
기존 RDBMS
Service Client Server
020304
Mongo DB01
게시글좋아요
글쓴이글 사진
댓글
_id 글쓴이 댓글 글사진 좋아요a343fh1 Hak [] [] []
![Page 20: 나혼자먹는다 개발발표](https://reader036.vdocuments.mx/reader036/viewer/2022081517/58782c9c1a28abef5d8b5d13/html5/thumbnails/20.jpg)
Service Client Server
020304
DeNormalization역정규화01
• Users follower[], followee[]
• Articles comment[], like[], picture[]
• Notices
• Gcms
![Page 21: 나혼자먹는다 개발발표](https://reader036.vdocuments.mx/reader036/viewer/2022081517/58782c9c1a28abef5d8b5d13/html5/thumbnails/21.jpg)
Service Client Server
020304
DB Model01
![Page 22: 나혼자먹는다 개발발표](https://reader036.vdocuments.mx/reader036/viewer/2022081517/58782c9c1a28abef5d8b5d13/html5/thumbnails/22.jpg)
Service Client Server
020304
Session01
로그인(session 서버에 저장 )
서버 재실행
세션 날아감
로그인(session 을 저장소에 저장 )
서버 재실행
세션 유지
![Page 23: 나혼자먹는다 개발발표](https://reader036.vdocuments.mx/reader036/viewer/2022081517/58782c9c1a28abef5d8b5d13/html5/thumbnails/23.jpg)
Service Client Server
Redis Session
캐시 메모리에 저장 영속적으로 데이터 보존
• 세션의 생성 , 변경 , 삭제를 Redis 가 관리• 모바일 , 웹에서 생성되는 세션을 통합 관리• MongoDB 에 저장되는 정보와 따로 관리
Client Server2
Server3
Server1
Redis session store
020304
01
![Page 24: 나혼자먹는다 개발발표](https://reader036.vdocuments.mx/reader036/viewer/2022081517/58782c9c1a28abef5d8b5d13/html5/thumbnails/24.jpg)
Service Client Server
Redis Session020304
01
• Key, Value 에 따른 고유 session 관리• Connect-redis 모듈 지원• 세션시간 , 추가 기능 지원
![Page 25: 나혼자먹는다 개발발표](https://reader036.vdocuments.mx/reader036/viewer/2022081517/58782c9c1a28abef5d8b5d13/html5/thumbnails/25.jpg)
Service Client Server
Level-up Algorithm
Level 1 : 10 ~ 19Level 2 : 20 ~ 29Level 3 : 30 ~ 49Level 4 : 50 ~ 79Level 5 : 80 ~ 129Level 6 : 130 ~ 209Level 7 : 210 ~
글 1 개 게시 : 4 point좋아요 1 개 받음 : 2point
레벨이 변경됨
글쓰기 , 좋아요 요청을 받음
YES NO
Gcm 알림전송 포인트만 변경
Point 증가
020304
01
FibonacciSequence
![Page 26: 나혼자먹는다 개발발표](https://reader036.vdocuments.mx/reader036/viewer/2022081517/58782c9c1a28abef5d8b5d13/html5/thumbnails/26.jpg)
Service Client Server
Follow Logic"follower" : [ ObjectId("54d5c34c2896d21c26a4a540"), ObjectId("54dc573b164168d80a0956c1")]
follower배열확인
팔로우 요청
일치 불일치배열에서 제거
( 팔로우 취소 )배열에 추가
( 팔로우 하기 )
ObjectId• 배열 저장 가능• addToSet, pull 제공• Populate 제공
020304
01
follower배열확인
사용자정보 확인
일치followYn = 1
불일치 fol-lowYn = 0
ObjectId
![Page 27: 나혼자먹는다 개발발표](https://reader036.vdocuments.mx/reader036/viewer/2022081517/58782c9c1a28abef5d8b5d13/html5/thumbnails/27.jpg)
Service Client Server
Overall020304
01
• MongoDB 사용 (JSON 통신 )
• 빠른 DB 모델 수정• DB 에 배열을 사용 (follow, like)
• Redis session 저장소를 활용• Gcm 메시지를 MongoDB 에 저장• 새로운 의미의 MEAN stack
05
![Page 28: 나혼자먹는다 개발발표](https://reader036.vdocuments.mx/reader036/viewer/2022081517/58782c9c1a28abef5d8b5d13/html5/thumbnails/28.jpg)
Service Client Server
향후계획020304
01
05
• Instagram 연동 ( 타 SNS )
• 관리자 페이지 보완• MongoDB 트랜잭션 구현• 강력한 password 암호화• Redis 활용한 빠른 쿼리• Password 변경 및 찾기
![Page 29: 나혼자먹는다 개발발표](https://reader036.vdocuments.mx/reader036/viewer/2022081517/58782c9c1a28abef5d8b5d13/html5/thumbnails/29.jpg)
Thank you모바일 서버 전문가 과정 개발 발표
안드로이드 - 권혁서버 - 이상학