SlideShare a Scribd company logo
1 of 7
이 장 호
Intro
• 프로젝트 명 : Furkid
• 반려동물이 테마인 동영상 SNS 어플리케이션
• 팀 프로젝트 ( / 기획 / 클라이언트 / 디자이너) 中 서버
• 개발언어 : Javascript
• Platform : Node.js
서버
System Architecture
Amazon EC2Amazon RDS
Node.js
Ubuntu 13.04
MySQL
Client
JSON
Request
Streaming
Server Architecture
Media
process
JSON
Crop
Manager
Thumbnail
Manager
Module
Async
File
Manager
Client
HTTP
Node.js
Single
Thread
Connection
pool
RESTful
Web Server
Login
Module
Timeline
Module
User
Module

More Related Content

What's hot

[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기
[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기
[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기Youngjae Kim
 
Mesos + Marathon + Docker
Mesos + Marathon + DockerMesos + Marathon + Docker
Mesos + Marathon + Dockerbighouse
 
[Td 2015] 국내에서 처음으로 선보이는 microsoft 차세대 서버 운영 체제 windows server 2016
[Td 2015] 국내에서 처음으로 선보이는 microsoft 차세대 서버 운영 체제 windows server 2016[Td 2015] 국내에서 처음으로 선보이는 microsoft 차세대 서버 운영 체제 windows server 2016
[Td 2015] 국내에서 처음으로 선보이는 microsoft 차세대 서버 운영 체제 windows server 2016Sang Don Kim
 
알람몬으로 알아보는 Node.js 트러블 슈팅 케이스 스터디
알람몬으로 알아보는 Node.js 트러블 슈팅 케이스 스터디알람몬으로 알아보는 Node.js 트러블 슈팅 케이스 스터디
알람몬으로 알아보는 Node.js 트러블 슈팅 케이스 스터디Chiung Choi
 
[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)
[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)
[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)Sang Don Kim
 
Enterprise Docker
Enterprise DockerEnterprise Docker
Enterprise DockerLee Ji Eun
 
컨테이너 기술과 가상화 기술의 주요한 차이점
컨테이너 기술과 가상화 기술의 주요한 차이점컨테이너 기술과 가상화 기술의 주요한 차이점
컨테이너 기술과 가상화 기술의 주요한 차이점Opennaru, inc.
 
02.JBOSS EAP7(FOR CONTAINER/CLOUD)
02.JBOSS EAP7(FOR CONTAINER/CLOUD)02.JBOSS EAP7(FOR CONTAINER/CLOUD)
02.JBOSS EAP7(FOR CONTAINER/CLOUD)Opennaru, inc.
 
커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021
커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021
커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021AWSKRUG - AWS한국사용자모임
 
슬로우캠퍼스 - 안드로이드 개발자들이여 Firebase로 날아보자 :)
슬로우캠퍼스 - 안드로이드 개발자들이여  Firebase로 날아보자 :)슬로우캠퍼스 - 안드로이드 개발자들이여  Firebase로 날아보자 :)
슬로우캠퍼스 - 안드로이드 개발자들이여 Firebase로 날아보자 :)마이캠퍼스
 
03. 이것만은 알자. 컨테이너 기술 기초부터 최신 트렌드 까지
03. 이것만은 알자. 컨테이너 기술 기초부터 최신 트렌드 까지03. 이것만은 알자. 컨테이너 기술 기초부터 최신 트렌드 까지
03. 이것만은 알자. 컨테이너 기술 기초부터 최신 트렌드 까지Opennaru, inc.
 
Social game and windows azure platform (final)
Social game and windows azure platform (final)Social game and windows azure platform (final)
Social game and windows azure platform (final)정현 남
 
[TD 2015] Microsoft Azure IaaS v2(최정현)
[TD 2015] Microsoft Azure IaaS v2(최정현)[TD 2015] Microsoft Azure IaaS v2(최정현)
[TD 2015] Microsoft Azure IaaS v2(최정현)Sang Don Kim
 
Unionweb프로젝트
Unionweb프로젝트Unionweb프로젝트
Unionweb프로젝트Dong-Jin Park
 
가상화 기술과 컨테이너 기술의 차이점과 기대 효과
가상화 기술과 컨테이너 기술의 차이점과 기대 효과가상화 기술과 컨테이너 기술의 차이점과 기대 효과
가상화 기술과 컨테이너 기술의 차이점과 기대 효과Opennaru, inc.
 
컨테이너 기술 ( Container Technology ) 발표 자료 다운로드
컨테이너 기술 ( Container Technology ) 발표 자료 다운로드컨테이너 기술 ( Container Technology ) 발표 자료 다운로드
컨테이너 기술 ( Container Technology ) 발표 자료 다운로드Opennaru, inc.
 
[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트
[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트
[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트iFunFactory Inc.
 
Firebase for Web (웹개발을 위한 파이어베이스) 1 Hosting
Firebase for Web (웹개발을 위한 파이어베이스) 1 HostingFirebase for Web (웹개발을 위한 파이어베이스) 1 Hosting
Firebase for Web (웹개발을 위한 파이어베이스) 1 Hosting승빈이네 공작소
 

What's hot (20)

[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기
[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기
[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기
 
Mesos + Marathon + Docker
Mesos + Marathon + DockerMesos + Marathon + Docker
Mesos + Marathon + Docker
 
[Td 2015] 국내에서 처음으로 선보이는 microsoft 차세대 서버 운영 체제 windows server 2016
[Td 2015] 국내에서 처음으로 선보이는 microsoft 차세대 서버 운영 체제 windows server 2016[Td 2015] 국내에서 처음으로 선보이는 microsoft 차세대 서버 운영 체제 windows server 2016
[Td 2015] 국내에서 처음으로 선보이는 microsoft 차세대 서버 운영 체제 windows server 2016
 
알람몬으로 알아보는 Node.js 트러블 슈팅 케이스 스터디
알람몬으로 알아보는 Node.js 트러블 슈팅 케이스 스터디알람몬으로 알아보는 Node.js 트러블 슈팅 케이스 스터디
알람몬으로 알아보는 Node.js 트러블 슈팅 케이스 스터디
 
[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)
[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)
[TD 2015] windows server에서 만나보는 docker와 windows container(최한홍)
 
Enterprise Docker
Enterprise DockerEnterprise Docker
Enterprise Docker
 
현실적 PWA
현실적 PWA현실적 PWA
현실적 PWA
 
컨테이너 기술과 가상화 기술의 주요한 차이점
컨테이너 기술과 가상화 기술의 주요한 차이점컨테이너 기술과 가상화 기술의 주요한 차이점
컨테이너 기술과 가상화 기술의 주요한 차이점
 
02.JBOSS EAP7(FOR CONTAINER/CLOUD)
02.JBOSS EAP7(FOR CONTAINER/CLOUD)02.JBOSS EAP7(FOR CONTAINER/CLOUD)
02.JBOSS EAP7(FOR CONTAINER/CLOUD)
 
커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021
커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021
커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021
 
슬로우캠퍼스 - 안드로이드 개발자들이여 Firebase로 날아보자 :)
슬로우캠퍼스 - 안드로이드 개발자들이여  Firebase로 날아보자 :)슬로우캠퍼스 - 안드로이드 개발자들이여  Firebase로 날아보자 :)
슬로우캠퍼스 - 안드로이드 개발자들이여 Firebase로 날아보자 :)
 
03. 이것만은 알자. 컨테이너 기술 기초부터 최신 트렌드 까지
03. 이것만은 알자. 컨테이너 기술 기초부터 최신 트렌드 까지03. 이것만은 알자. 컨테이너 기술 기초부터 최신 트렌드 까지
03. 이것만은 알자. 컨테이너 기술 기초부터 최신 트렌드 까지
 
Social game and windows azure platform (final)
Social game and windows azure platform (final)Social game and windows azure platform (final)
Social game and windows azure platform (final)
 
Docker Container
Docker ContainerDocker Container
Docker Container
 
[TD 2015] Microsoft Azure IaaS v2(최정현)
[TD 2015] Microsoft Azure IaaS v2(최정현)[TD 2015] Microsoft Azure IaaS v2(최정현)
[TD 2015] Microsoft Azure IaaS v2(최정현)
 
Unionweb프로젝트
Unionweb프로젝트Unionweb프로젝트
Unionweb프로젝트
 
가상화 기술과 컨테이너 기술의 차이점과 기대 효과
가상화 기술과 컨테이너 기술의 차이점과 기대 효과가상화 기술과 컨테이너 기술의 차이점과 기대 효과
가상화 기술과 컨테이너 기술의 차이점과 기대 효과
 
컨테이너 기술 ( Container Technology ) 발표 자료 다운로드
컨테이너 기술 ( Container Technology ) 발표 자료 다운로드컨테이너 기술 ( Container Technology ) 발표 자료 다운로드
컨테이너 기술 ( Container Technology ) 발표 자료 다운로드
 
[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트
[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트
[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트
 
Firebase for Web (웹개발을 위한 파이어베이스) 1 Hosting
Firebase for Web (웹개발을 위한 파이어베이스) 1 HostingFirebase for Web (웹개발을 위한 파이어베이스) 1 Hosting
Firebase for Web (웹개발을 위한 파이어베이스) 1 Hosting
 

Viewers also liked

Fpage 주요포트폴리오
Fpage 주요포트폴리오Fpage 주요포트폴리오
Fpage 주요포트폴리오Kyudo Lee
 
Single Page Web
Single Page WebSingle Page Web
Single Page Web종복 박
 
高工的个人发展规划
高工的个人发展规划高工的个人发展规划
高工的个人发展规划Duoyi Wu
 
Beejei node.js & web service
Beejei   node.js & web serviceBeejei   node.js & web service
Beejei node.js & web serviceBumjin Kim
 
Web server page_ed10
Web server page_ed10Web server page_ed10
Web server page_ed10hungrok
 
서버개발자의 프론트엔드 맛보기
서버개발자의 프론트엔드 맛보기서버개발자의 프론트엔드 맛보기
서버개발자의 프론트엔드 맛보기JongYoon Lim
 
Story board for speaking
Story board for speakingStory board for speaking
Story board for speakingMiftahussifa
 
Trabajo final tecnologia
Trabajo final tecnologiaTrabajo final tecnologia
Trabajo final tecnologiaJuan Ramirez
 
Dreamweaver cs5
Dreamweaver cs5Dreamweaver cs5
Dreamweaver cs5'Paola G
 
Power point nuevo tarea 2
Power point nuevo tarea 2Power point nuevo tarea 2
Power point nuevo tarea 2ro1204cas76
 
한장으로 모아보는 한양의 궁궐
한장으로 모아보는 한양의 궁궐한장으로 모아보는 한양의 궁궐
한장으로 모아보는 한양의 궁궐진영 김
 
Американські газети ХІХ, що існують і досі
Американські газети ХІХ, що існують і досіАмериканські газети ХІХ, що існують і досі
Американські газети ХІХ, що існують і досіNatali Kucher
 
Usabilidad web.
Usabilidad web.Usabilidad web.
Usabilidad web.'Paola G
 
cultural identity paper
cultural identity papercultural identity paper
cultural identity paperAkshara Raina
 

Viewers also liked (20)

Fpage 주요포트폴리오
Fpage 주요포트폴리오Fpage 주요포트폴리오
Fpage 주요포트폴리오
 
Single Page Web
Single Page WebSingle Page Web
Single Page Web
 
高工的个人发展规划
高工的个人发展规划高工的个人发展规划
高工的个人发展规划
 
Node.js at OKJSP
Node.js at OKJSPNode.js at OKJSP
Node.js at OKJSP
 
Beejei node.js & web service
Beejei   node.js & web serviceBeejei   node.js & web service
Beejei node.js & web service
 
Web server page_ed10
Web server page_ed10Web server page_ed10
Web server page_ed10
 
서버개발자의 프론트엔드 맛보기
서버개발자의 프론트엔드 맛보기서버개발자의 프론트엔드 맛보기
서버개발자의 프론트엔드 맛보기
 
Story board for speaking
Story board for speakingStory board for speaking
Story board for speaking
 
Trabajo final tecnologia
Trabajo final tecnologiaTrabajo final tecnologia
Trabajo final tecnologia
 
Dreamweaver cs5
Dreamweaver cs5Dreamweaver cs5
Dreamweaver cs5
 
Power point nuevo tarea 2
Power point nuevo tarea 2Power point nuevo tarea 2
Power point nuevo tarea 2
 
한장으로 모아보는 한양의 궁궐
한장으로 모아보는 한양의 궁궐한장으로 모아보는 한양의 궁궐
한장으로 모아보는 한양의 궁궐
 
Американські газети ХІХ, що існують і досі
Американські газети ХІХ, що існують і досіАмериканські газети ХІХ, що існують і досі
Американські газети ХІХ, що існують і досі
 
FACEBOOK
FACEBOOK FACEBOOK
FACEBOOK
 
Rock and roll
Rock and rollRock and roll
Rock and roll
 
Usabilidad web.
Usabilidad web.Usabilidad web.
Usabilidad web.
 
Miss simpatìa
Miss simpatìaMiss simpatìa
Miss simpatìa
 
Mi computador
Mi computadorMi computador
Mi computador
 
resume
resumeresume
resume
 
cultural identity paper
cultural identity papercultural identity paper
cultural identity paper
 

Recently uploaded

JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP Korea
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화JMP Korea
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP Korea
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP Korea
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP Korea
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법JMP Korea
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석JMP Korea
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?Jay Park
 

Recently uploaded (8)

JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
 

Furkid

Editor's Notes

  1. 안녕하십니까 홍익대학교 컴퓨터공학과 3학년 2학기까지 이수한 이장호입니다. 발표 시작하겠습니다.
  2. 전체적인 구조는 다음과 같이 간단하게 나타낼 수 있습니다. 우선 서버는 컴퓨팅 요구사항에 따라 유동적으로 서버를 확장하거나 축소할 수 있는 클라우드 서비스인 Amazon Web Service를 사용했습니다. 그 중 서버구성을 위해 Amazon에서 제공하는 EC2를 사용하였고 OS는 우분투 13.04버전을 설치하였습니다. 서버플랫폼은 single Thread 기반의 non-blocking I/O를 지원하는 Node.js를 사용하여 개발하였습니다. 데이터베이스도 마찬가지로 Amazon에서 제공하는 RDS를 사용하여 MySQL을 이용해 관리하였습니다. 클라이언트에서 요청이 오게 되면 JSON객체를 통해 응답을 하고 동영상은 Streaming 방식으로 재생하도록 하였습니다.
  3. 서버 내부 동작에 대해 좀더 자세히 설명 드리겠습니다. 서버는 HTTP방식으로 RESTful API를 설계하여 클라이언트와 통신하였습니다. 내부적으로는 미디어 프로세서와 모듈, 그리고 JSON과 DB형식으로 되어 있습니다. Media Process에서는 File Manager, Thumbnail Manager, Crop Manager 등을 사용하여 미디어 처리를 하였습니다. 모듈은 Async 모듈을 사용했고, DB와 매번 커넥션을 연결하는 부하를 줄이기 위해서 커넥션 풀을 사용하여 DB와 연결 하였습니다. 그리고 최종적으로 클라이언트에게 응답을 주기 위해, 설계한 RESTful API에 맞는 요청에 따라 클라이언트 개발자와 상의를 하여 JSON객체를 통해 데이터를 보내주는 형식으로 서버를 구성하였습니다.