SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
중고나라 거래 통계 서비스
1차 개발 완료 보고
2015. 8. 21.
조석현(zoe@embian.com)
개발 1본부 / Embian
목차
1. 서비스 정의 및 목적
2. 서비스 Concept & History
3. 개발 인력 및 일정
4. 주요 사용 기술
5. 서비스 시스템 구조 및 역할
6. 웹 페이지 구성(Demo)
7. 서비스 기대 효과
1. 서비스 정의 및 목적
1. 서비스 정의 및 목적
1.1. „중고나라 거래 통계 서비스‟란?
네이버 “중고나라” 까페 회원들이
업로드 하는 게시물, 제품의
실시갂 정보를 수집, 처리, 시각화하여
Dashboard 형태로 거래 통계 정보를 열람하는
웹 서비스
4
1. 서비스 정의 및 목적
1.2. 서비스의 목적
• “엠비안의 기술력”을 테스트하기 위한 수단
1. 데이터 수집 기술
2. 실시갂 처리 기술
3. 데이터 시각화 기술
CEP
(실시갂 처리)
Scraping
(수집)
Visualization
(시각화)
5
2. 서비스 Concept & History
2. 서비스 Concept & History
2.1. 초기 Concept(5월)
CEP
(실시갂 처리)
? ?
CEP 엔진 기술이 있으나, 내부 서비스 적용사례가 없음.
어떤 데이터(?)를, 어떻게 처리(?)하여, 어떤 결과(?)를 보여야 할 지 감(?)이 없음.
7
2. 서비스 Concept & History
2.1. 초기 Concept(5월)
팀 포퐁(Team Popong)의 정치 분석 사이트
– 나는 서울 시장이다
[ Reference URL : http://popong.com/iamseoulmayor/ ]
“서로 다른 성향 집단의
데이터를 비교 분석해보자”
8
2. 서비스 Concept & History
2.2. 과도기 Concept(6월)
“일베(일갂베스트)와 오유(오늘의 유머)의 데이터를
분석하여 정치 성향을 비교하는 통계를 보여주자.”
일베 - 일갂베스트 게시판 일 평균 게시물 업로드 약 1000건
오유 – 베스트게시판 일 평균 게시물 업로드 약 500건
그러나, 실시갂 정치성향 데이터 양이 부족해 의미 있는 결과가 나올 수 없음.
CEP
(실시갂 처리)
Scraping
(수집)
일베
Visualization
(시각화)
오유
9
2. 서비스 Concept & History
2.3. 현재 Concept(7-8월)
“실시갂 데이터 양이 풍부한 중고나라의 데이터를 이용해
실시갂 제품 정보 데이터를 Dashboard 형태로
제공하는 웹 서비스로 Concept을 변경”
중고나라의 일일 게시물 업로드 수는 약 15-20만 건
CEP
(실시갂 처리)
Scraping
(수집)
중고나라
Visualization
(시각화)
10
2. 서비스 Concept & History
2.4. History 요약
초기
Concept
과도기
Concept
현재
Concept
6월 7월 8월
Concept
변화
Event
Today
(8/21)
11
- 프로젝트 시작 - 1차 개발 완료
3. 개발 인력 및 일정
3. 개발 인력 및 일정
3.1. 갂트 차트 & History
전체 프로젝트 기준 : 3개월
현재 Concept 기준 : 1.2개월
5월 6월 7월 8월
4 1 2 3 4 1 2 3 4 1 2 3
석현
1 일베/오유 게시물 스크래퍼 개발
2 스크래퍼 속도 개선 / 모듈 교체
3 중고나라 웹 기획
4 중고나라 스크래퍼 개발
5 중고나라 스크래퍼 속도 개선
6 제품명 추출 및 비속어 제거
7 CEP 인수인계
8 웹 페이지 개발
9 d3js 차트 연동
10 서비스 deploy
정
1 CEP 개발
2 CEP 인수인계
3 서비스 deploy
재영 1 버블차트 구현
Today
(8/21)
13
4. 주요 사용 기술
4. 주요 사용 기술
4.1. 서비스 단위별 주요 사용기술
서비스 단위 주요 사용기술 및 언어
중고나라 Scraper
Python(python-scrapy)
bash
Message Queue
Apache Kafka
Zookeeper
Search Engine Elastic
CEP
Java/XML
eBay Pulsar(Jetstream)
Zookeeper
Virtualization(가상화) Docker
In-memory DB Redis
Visualization(시각화)
- Web Server
Python(python-flask)
Python(gevent-socketio)
Visualization(시각화)
- Client
HTML5+CSS
Javascript
jQuery
Bootstrap
D3js
15
5. 서비스 시스템 구조 및 역할
5. 서비스 시스템 구조 및 역할
5.1. 전체 구성도
Scraping
(중고나라 Scraper)
Elastic
Redis
App
#1
App
#3
App
#4
App
#2
Visualization
(WebServer)
중고나라
Visualization
(Client)
#231 Server
#232 Server
CEP
(Pulsar Jetstream)
MSG Queue
(Kafka)
Indexing
Query
SocketIO
Data Scraping
Pub Sub
Pub Sub
Request
(every 2s)
Response
(Aggregation, Index count)
1. Data Scraping
2. Data Parsing
3. Generate MSG
4. Publish MSG to Kafka
5. Indexing MSG to Elastic
1. Subscribe data1 from Redis
2. Handle data1 to socket
3. Request query to Elastic
4. Get response(data2) from Elastic
5. Parsing data2 and handle Rest API
Rest API
1. Request Webserver
2. Get data1, data2 from socket, Rest API
3. D3js Graph Visualization
zookeeper
EPLMSG ParsingConsume MSG
from Kafka
Publish to Redis
Check Point 1. Scraping, CEP, Visualization의 위치 확인.
Check Point 2. 서버 2대로 deploy되어 있음.
17
5. 서비스 시스템 구조 및 역할
5.2. Scraper(수집)
Scraping
(중고나라 Scraper)
Elastic
중고나라
MSG Queue
(Kafka)
Indexing
Data Scraping
Pub
Request
(every 2s)
Scraper 주요 역할
1. Data Scraping
2. Data Parsing
3. Generate MSG
4. Publish MSG to Kafka
5. Indexing MSG to Elastic
18
5. 서비스 시스템 구조 및 역할
5.3. CEP(실시갂 처리)
Redis
App
#1
App
#3
App
#4
App
#2
CEP
(Pulsar Jetstream)
MSG Queue
(Kafka)
Sub
Pub S
zookeeper
CEP 단계별 역할
App #1 : Consume MSG from Kafka
App #2 : MSG Parsing
App #3 : EPL
App #4 : Publish to Redis
19
5. 서비스 시스템 구조 및 역할
5.4. Visualization(시각화)
Elastic
Redis
Visualization
(Web Server)
Visualization
(Client)
Query
SocketIO
ub Sub
Response
(Aggregation, Index count)
Web Server 주요 동작
1. Subscribe data1 from Redis
2. Handle data1 to socket
3. Request query to Elastic
4. Get response(data2) from Elastic
5. Parsing data2 and handle Rest API
Rest API
Client 주요 동작
1. Request Webserver
2. Get data1, data2 from socket, Rest API
3. D3js Graph Visualization
20
6. 웹 페이지 구성
6. 웹 페이지 구성
6.1. 기획 및 구현
[최초 설계 Mock-up] [구현]
최초 설계한 Dashboard 모양과 유사하게 구현함.
22
Demo
http://joonggo.embian.com/
6. 웹 페이지 구성
6.2. Demo
23
6. 웹 페이지 구성
6.3. 웹 페이지 기능 설명
No 제목 기능 설명
1 실시갂 게시물 업로드 수 실시갂으로 중고나라에 게시되는 게시물의 업로드 수를 표시
2 최근 1분 게시물 업로드 현황 현재를 기준으로 최근 1분 동안 업로드 된 게시물의 현황을 선 그래프로 표시
3 실시갂 제품 Top 5 현재를 기준으로 최근 1시갂 동안 업로드 된 제품 중 가장 많이 업로드 된 제품을 1순위부터 5순위까지 표시
4 제품 실시갂 현황 현재를 기준으로 최근 1시갂 동안 업로드 된 제품 40개를 게시된 비중에 따라 버블차트로 표시
5 일별 게시물 수 통계 매일 중고나라에 업로드 된 게시물의 누적 게시 건수를 막대 그래프로 표시
6 일갂 Top 10 제품 통계 현재를 기준으로 하루 동안 업로드 된 제품 10개를 게시된 비중에 따라 파이 그래프로 표시
24
7. 서비스 기대 효과
7. 서비스 기대효과
1. “엠비안”의 목적 달성
– 기술력 테스트의 수단으로서, 프로젝트 관련 기술이 가시화된 결과(웹
서비스, 소스코드)로 나타남.
– 대규모의 데이터(일 20만건)를 축적할 수 있음.
2. “사용자”에게 객관적 지표 제공
– 실시갂 데이터와 일갂 통계 데이터를 제공.
26
END

Weitere ähnliche Inhalte

Was ist angesagt?

Airflow를 이용한 데이터 Workflow 관리
Airflow를 이용한  데이터 Workflow 관리Airflow를 이용한  데이터 Workflow 관리
Airflow를 이용한 데이터 Workflow 관리YoungHeon (Roy) Kim
 
Jco14 오픈소스를 이용한 모니터링 방법
Jco14 오픈소스를 이용한 모니터링 방법Jco14 오픈소스를 이용한 모니터링 방법
Jco14 오픈소스를 이용한 모니터링 방법정수 한
 
Scouter Tutorial & Sprint
Scouter Tutorial & SprintScouter Tutorial & Sprint
Scouter Tutorial & SprintGunHee Lee
 
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축Juhong Park
 
[오픈소스컨설팅]MySQL Monitoring
[오픈소스컨설팅]MySQL Monitoring[오픈소스컨설팅]MySQL Monitoring
[오픈소스컨설팅]MySQL MonitoringJi-Woong Choi
 
오픈소스로 만드는 DB 모니터링 시스템 (w/graphite+grafana)
오픈소스로 만드는 DB 모니터링 시스템 (w/graphite+grafana)오픈소스로 만드는 DB 모니터링 시스템 (w/graphite+grafana)
오픈소스로 만드는 DB 모니터링 시스템 (w/graphite+grafana)I Goo Lee
 
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1 나무기술(주) 최유석 20170912
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1  나무기술(주) 최유석 20170912Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1  나무기술(주) 최유석 20170912
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1 나무기술(주) 최유석 20170912Yooseok Choi
 
서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...
서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...
서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...Jemin Huh
 
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020Ji-Woong Choi
 
MS 빅데이터 서비스 및 게임사 PoC 사례 소개
MS 빅데이터 서비스 및 게임사 PoC 사례 소개MS 빅데이터 서비스 및 게임사 PoC 사례 소개
MS 빅데이터 서비스 및 게임사 PoC 사례 소개I Goo Lee
 
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.NAVER D2
 
4. Application - Oozie Fork
4. Application - Oozie Fork4. Application - Oozie Fork
4. Application - Oozie Forkmerry7
 
카프카(kafka) 성능 테스트 환경 구축 (JMeter, ELK)
카프카(kafka) 성능 테스트 환경 구축 (JMeter, ELK)카프카(kafka) 성능 테스트 환경 구축 (JMeter, ELK)
카프카(kafka) 성능 테스트 환경 구축 (JMeter, ELK)Hyunmin Lee
 
[214] data science with apache zeppelin
[214] data science with apache zeppelin[214] data science with apache zeppelin
[214] data science with apache zeppelinNAVER D2
 
what is_tabs_share
what is_tabs_sharewhat is_tabs_share
what is_tabs_shareNAVER D2
 
18. Install - Spark Streaming Env.
18. Install - Spark Streaming Env.18. Install - Spark Streaming Env.
18. Install - Spark Streaming Env.merry7
 

Was ist angesagt? (20)

Airflow를 이용한 데이터 Workflow 관리
Airflow를 이용한  데이터 Workflow 관리Airflow를 이용한  데이터 Workflow 관리
Airflow를 이용한 데이터 Workflow 관리
 
Jco14 오픈소스를 이용한 모니터링 방법
Jco14 오픈소스를 이용한 모니터링 방법Jco14 오픈소스를 이용한 모니터링 방법
Jco14 오픈소스를 이용한 모니터링 방법
 
Scouter Tutorial & Sprint
Scouter Tutorial & SprintScouter Tutorial & Sprint
Scouter Tutorial & Sprint
 
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
[NDC 2018] Spark, Flintrock, Airflow 로 구현하는 탄력적이고 유연한 데이터 분산처리 자동화 인프라 구축
 
[오픈소스컨설팅]MySQL Monitoring
[오픈소스컨설팅]MySQL Monitoring[오픈소스컨설팅]MySQL Monitoring
[오픈소스컨설팅]MySQL Monitoring
 
오픈소스로 만드는 DB 모니터링 시스템 (w/graphite+grafana)
오픈소스로 만드는 DB 모니터링 시스템 (w/graphite+grafana)오픈소스로 만드는 DB 모니터링 시스템 (w/graphite+grafana)
오픈소스로 만드는 DB 모니터링 시스템 (w/graphite+grafana)
 
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1 나무기술(주) 최유석 20170912
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1  나무기술(주) 최유석 20170912Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1  나무기술(주) 최유석 20170912
Bigquery와 airflow를 이용한 데이터 분석 시스템 구축 v1 나무기술(주) 최유석 20170912
 
2020.02.06 우리는 왜 glue를 버렸나?
2020.02.06 우리는 왜 glue를 버렸나?2020.02.06 우리는 왜 glue를 버렸나?
2020.02.06 우리는 왜 glue를 버렸나?
 
서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...
서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...
서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...
 
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
 
MS 빅데이터 서비스 및 게임사 PoC 사례 소개
MS 빅데이터 서비스 및 게임사 PoC 사례 소개MS 빅데이터 서비스 및 게임사 PoC 사례 소개
MS 빅데이터 서비스 및 게임사 PoC 사례 소개
 
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
[135] 오픈소스 데이터베이스, 은행 서비스에 첫발을 내밀다.
 
4. Application - Oozie Fork
4. Application - Oozie Fork4. Application - Oozie Fork
4. Application - Oozie Fork
 
Hystrix소개
Hystrix소개Hystrix소개
Hystrix소개
 
Dynamodb 삽질기
Dynamodb 삽질기Dynamodb 삽질기
Dynamodb 삽질기
 
카프카(kafka) 성능 테스트 환경 구축 (JMeter, ELK)
카프카(kafka) 성능 테스트 환경 구축 (JMeter, ELK)카프카(kafka) 성능 테스트 환경 구축 (JMeter, ELK)
카프카(kafka) 성능 테스트 환경 구축 (JMeter, ELK)
 
[214] data science with apache zeppelin
[214] data science with apache zeppelin[214] data science with apache zeppelin
[214] data science with apache zeppelin
 
2015 oce garuda
2015 oce garuda2015 oce garuda
2015 oce garuda
 
what is_tabs_share
what is_tabs_sharewhat is_tabs_share
what is_tabs_share
 
18. Install - Spark Streaming Env.
18. Install - Spark Streaming Env.18. Install - Spark Streaming Env.
18. Install - Spark Streaming Env.
 

Andere mochten auch

사업계획서 경량화
사업계획서 경량화사업계획서 경량화
사업계획서 경량화지은 박
 
핑그래프(Fingraph) 기능소개서
핑그래프(Fingraph) 기능소개서핑그래프(Fingraph) 기능소개서
핑그래프(Fingraph) 기능소개서VentureSquare
 
Key-Value Store를 사용한 대용량 게임 통계 : WoW 경매장 분석 서비스 wowz.kr를 사례로
Key-Value Store를 사용한 대용량 게임 통계: WoW 경매장 분석 서비스 wowz.kr를 사례로Key-Value Store를 사용한 대용량 게임 통계: WoW 경매장 분석 서비스 wowz.kr를 사례로
Key-Value Store를 사용한 대용량 게임 통계 : WoW 경매장 분석 서비스 wowz.kr를 사례로Seok-ju Yun
 
KG이니시스 IR자료
KG이니시스 IR자료KG이니시스 IR자료
KG이니시스 IR자료KGinside
 
사업계획서
사업계획서사업계획서
사업계획서Inhee Song
 
브랜디(Brandi) 소개서
브랜디(Brandi) 소개서브랜디(Brandi) 소개서
브랜디(Brandi) 소개서Gregory Lee
 
Logstash, ElasticSearch, Kibana
Logstash, ElasticSearch, KibanaLogstash, ElasticSearch, Kibana
Logstash, ElasticSearch, KibanaHyeonSeok Choi
 
2016 국민디자인단 - ‘통계’ 하면 통계청 ‘KOSIS!’, 내가 필요한 정보는 꼭 집어주네 !
2016 국민디자인단 - ‘통계’ 하면 통계청 ‘KOSIS!’, 내가 필요한 정보는 꼭 집어주네 !2016 국민디자인단 - ‘통계’ 하면 통계청 ‘KOSIS!’, 내가 필요한 정보는 꼭 집어주네 !
2016 국민디자인단 - ‘통계’ 하면 통계청 ‘KOSIS!’, 내가 필요한 정보는 꼭 집어주네 !한국디자인진흥원 공공서비스디자인PD
 
[New 로켓펀치] 로켓펀치 X SNEK 20160331
[New 로켓펀치] 로켓펀치 X SNEK 20160331[New 로켓펀치] 로켓펀치 X SNEK 20160331
[New 로켓펀치] 로켓펀치 X SNEK 20160331RocketPunch Inc.
 
엘라스틱서치, 로그스태시, 키바나
엘라스틱서치, 로그스태시, 키바나엘라스틱서치, 로그스태시, 키바나
엘라스틱서치, 로그스태시, 키바나종민 김
 
O2O 배달서비스의 기술 혁신기업 요기요 (YOGIYO) 서우석 부사장
O2O 배달서비스의 기술 혁신기업 요기요 (YOGIYO) 서우석 부사장O2O 배달서비스의 기술 혁신기업 요기요 (YOGIYO) 서우석 부사장
O2O 배달서비스의 기술 혁신기업 요기요 (YOGIYO) 서우석 부사장Wooseok Seo
 
내번개톡 웹 프로토타입 개발기
내번개톡 웹 프로토타입 개발기내번개톡 웹 프로토타입 개발기
내번개톡 웹 프로토타입 개발기경민 박
 
코드품질 개선을 위한 GS SHOP 고군분투기
코드품질 개선을 위한 GS SHOP 고군분투기코드품질 개선을 위한 GS SHOP 고군분투기
코드품질 개선을 위한 GS SHOP 고군분투기Darion Kim
 
킨트 커머스팩토리 Ir 발표자료 20150921
킨트 커머스팩토리 Ir 발표자료 20150921킨트 커머스팩토리 Ir 발표자료 20150921
킨트 커머스팩토리 Ir 발표자료 20150921화식 윤
 
[RoA] 투자자 피칭용 IR 10 pages slide 2013_ver1(가로)
[RoA] 투자자 피칭용 IR 10 pages slide 2013_ver1(가로)[RoA] 투자자 피칭용 IR 10 pages slide 2013_ver1(가로)
[RoA] 투자자 피칭용 IR 10 pages slide 2013_ver1(가로)JEONG HAN Eom
 
스타트업의 투자 유치
스타트업의 투자 유치 스타트업의 투자 유치
스타트업의 투자 유치 Hyunjong Wi
 
[프레젠테이션월드 2016 키노트 ] 사업계획서 쓰는법 ≠ 실제 투자 받는 PT
[프레젠테이션월드 2016 키노트 ] 사업계획서 쓰는법 ≠ 실제 투자 받는 PT[프레젠테이션월드 2016 키노트 ] 사업계획서 쓰는법 ≠ 실제 투자 받는 PT
[프레젠테이션월드 2016 키노트 ] 사업계획서 쓰는법 ≠ 실제 투자 받는 PTONOFFMIX Inc
 

Andere mochten auch (20)

사업계획서 경량화
사업계획서 경량화사업계획서 경량화
사업계획서 경량화
 
핑그래프(Fingraph) 기능소개서
핑그래프(Fingraph) 기능소개서핑그래프(Fingraph) 기능소개서
핑그래프(Fingraph) 기능소개서
 
Key-Value Store를 사용한 대용량 게임 통계 : WoW 경매장 분석 서비스 wowz.kr를 사례로
Key-Value Store를 사용한 대용량 게임 통계: WoW 경매장 분석 서비스 wowz.kr를 사례로Key-Value Store를 사용한 대용량 게임 통계: WoW 경매장 분석 서비스 wowz.kr를 사례로
Key-Value Store를 사용한 대용량 게임 통계 : WoW 경매장 분석 서비스 wowz.kr를 사례로
 
Zdnet Korea, CVISION 2013
Zdnet Korea, CVISION 2013Zdnet Korea, CVISION 2013
Zdnet Korea, CVISION 2013
 
KG이니시스 IR자료
KG이니시스 IR자료KG이니시스 IR자료
KG이니시스 IR자료
 
사업계획서
사업계획서사업계획서
사업계획서
 
브랜디(Brandi) 소개서
브랜디(Brandi) 소개서브랜디(Brandi) 소개서
브랜디(Brandi) 소개서
 
Logstash, ElasticSearch, Kibana
Logstash, ElasticSearch, KibanaLogstash, ElasticSearch, Kibana
Logstash, ElasticSearch, Kibana
 
2016 국민디자인단 - ‘통계’ 하면 통계청 ‘KOSIS!’, 내가 필요한 정보는 꼭 집어주네 !
2016 국민디자인단 - ‘통계’ 하면 통계청 ‘KOSIS!’, 내가 필요한 정보는 꼭 집어주네 !2016 국민디자인단 - ‘통계’ 하면 통계청 ‘KOSIS!’, 내가 필요한 정보는 꼭 집어주네 !
2016 국민디자인단 - ‘통계’ 하면 통계청 ‘KOSIS!’, 내가 필요한 정보는 꼭 집어주네 !
 
[New 로켓펀치] 로켓펀치 X SNEK 20160331
[New 로켓펀치] 로켓펀치 X SNEK 20160331[New 로켓펀치] 로켓펀치 X SNEK 20160331
[New 로켓펀치] 로켓펀치 X SNEK 20160331
 
엘라스틱서치, 로그스태시, 키바나
엘라스틱서치, 로그스태시, 키바나엘라스틱서치, 로그스태시, 키바나
엘라스틱서치, 로그스태시, 키바나
 
O2O 배달서비스의 기술 혁신기업 요기요 (YOGIYO) 서우석 부사장
O2O 배달서비스의 기술 혁신기업 요기요 (YOGIYO) 서우석 부사장O2O 배달서비스의 기술 혁신기업 요기요 (YOGIYO) 서우석 부사장
O2O 배달서비스의 기술 혁신기업 요기요 (YOGIYO) 서우석 부사장
 
Final Project Closing
Final Project ClosingFinal Project Closing
Final Project Closing
 
내번개톡 웹 프로토타입 개발기
내번개톡 웹 프로토타입 개발기내번개톡 웹 프로토타입 개발기
내번개톡 웹 프로토타입 개발기
 
코드품질 개선을 위한 GS SHOP 고군분투기
코드품질 개선을 위한 GS SHOP 고군분투기코드품질 개선을 위한 GS SHOP 고군분투기
코드품질 개선을 위한 GS SHOP 고군분투기
 
킨트 커머스팩토리 Ir 발표자료 20150921
킨트 커머스팩토리 Ir 발표자료 20150921킨트 커머스팩토리 Ir 발표자료 20150921
킨트 커머스팩토리 Ir 발표자료 20150921
 
[RoA] 투자자 피칭용 IR 10 pages slide 2013_ver1(가로)
[RoA] 투자자 피칭용 IR 10 pages slide 2013_ver1(가로)[RoA] 투자자 피칭용 IR 10 pages slide 2013_ver1(가로)
[RoA] 투자자 피칭용 IR 10 pages slide 2013_ver1(가로)
 
스타트업의 투자 유치
스타트업의 투자 유치 스타트업의 투자 유치
스타트업의 투자 유치
 
[프레젠테이션월드 2016 키노트 ] 사업계획서 쓰는법 ≠ 실제 투자 받는 PT
[프레젠테이션월드 2016 키노트 ] 사업계획서 쓰는법 ≠ 실제 투자 받는 PT[프레젠테이션월드 2016 키노트 ] 사업계획서 쓰는법 ≠ 실제 투자 받는 PT
[프레젠테이션월드 2016 키노트 ] 사업계획서 쓰는법 ≠ 실제 투자 받는 PT
 
sungmin slide
sungmin slidesungmin slide
sungmin slide
 

Ähnlich wie 중고나라 거래 통계 서비스 1차 개발 완료 보고

서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)수보 김
 
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)오픈소스 프레임워크 기반 웹 서비스 설계 (Example)
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)중선 곽
 
OCE - Cno 2014 private sector oriented open paas oce
OCE - Cno 2014 private sector oriented open paas   oceOCE - Cno 2014 private sector oriented open paas   oce
OCE - Cno 2014 private sector oriented open paas oceuEngine Solutions
 
스마일게이트 서버개발캠프 - QuadCore - BTS Deck
스마일게이트 서버개발캠프 - QuadCore - BTS Deck스마일게이트 서버개발캠프 - QuadCore - BTS Deck
스마일게이트 서버개발캠프 - QuadCore - BTS DeckServerDevCamp
 
소프트웨어 개발자 로드맵
소프트웨어 개발자 로드맵소프트웨어 개발자 로드맵
소프트웨어 개발자 로드맵중선 곽
 
Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3uEngine Solutions
 
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐Terry Cho
 
Big Data platform을 위한 Sencha Ext JS 사례.
Big Data platform을 위한 Sencha Ext JS 사례.Big Data platform을 위한 Sencha Ext JS 사례.
Big Data platform을 위한 Sencha Ext JS 사례.효근 박
 
반복적인 코드 작업 자동화, Codebone으로 손쉽게
반복적인 코드 작업 자동화, Codebone으로 손쉽게반복적인 코드 작업 자동화, Codebone으로 손쉽게
반복적인 코드 작업 자동화, Codebone으로 손쉽게Sungju Jin
 
Micro Service Architecture의 이해
Micro Service Architecture의 이해Micro Service Architecture의 이해
Micro Service Architecture의 이해Terry Cho
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해Terry Cho
 
2조 프로젝트 보고서 김동현
2조 프로젝트 보고서 김동현2조 프로젝트 보고서 김동현
2조 프로젝트 보고서 김동현kdh24
 
글로벌 지도 API 서비스 현황과 미래 - 한국지리정보학회 (2014)
글로벌 지도 API 서비스 현황과 미래 - 한국지리정보학회 (2014)글로벌 지도 API 서비스 현황과 미래 - 한국지리정보학회 (2014)
글로벌 지도 API 서비스 현황과 미래 - 한국지리정보학회 (2014)Channy Yun
 
Node.js에서 공공API를 활용해서 개발하기
Node.js에서 공공API를 활용해서 개발하기Node.js에서 공공API를 활용해서 개발하기
Node.js에서 공공API를 활용해서 개발하기Inho Kwon
 
정해균 포트폴리오
정해균 포트폴리오정해균 포트폴리오
정해균 포트폴리오Haegyun Jung
 
웹에 빠른 날개를 달아주는 웹 성능 향상 이야기
웹에 빠른 날개를 달아주는 웹 성능 향상 이야기웹에 빠른 날개를 달아주는 웹 성능 향상 이야기
웹에 빠른 날개를 달아주는 웹 성능 향상 이야기SangJin Kang
 
법안 검색 시스템 PPT
법안 검색 시스템 PPT법안 검색 시스템 PPT
법안 검색 시스템 PPTGwangho Kim
 

Ähnlich wie 중고나라 거래 통계 서비스 1차 개발 완료 보고 (20)

서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)
 
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)오픈소스 프레임워크 기반 웹 서비스 설계 (Example)
오픈소스 프레임워크 기반 웹 서비스 설계 (Example)
 
OCE - Cno 2014 private sector oriented open paas oce
OCE - Cno 2014 private sector oriented open paas   oceOCE - Cno 2014 private sector oriented open paas   oce
OCE - Cno 2014 private sector oriented open paas oce
 
스마일게이트 서버개발캠프 - QuadCore - BTS Deck
스마일게이트 서버개발캠프 - QuadCore - BTS Deck스마일게이트 서버개발캠프 - QuadCore - BTS Deck
스마일게이트 서버개발캠프 - QuadCore - BTS Deck
 
소프트웨어 개발자 로드맵
소프트웨어 개발자 로드맵소프트웨어 개발자 로드맵
소프트웨어 개발자 로드맵
 
Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3
 
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐
 
Big Data platform을 위한 Sencha Ext JS 사례.
Big Data platform을 위한 Sencha Ext JS 사례.Big Data platform을 위한 Sencha Ext JS 사례.
Big Data platform을 위한 Sencha Ext JS 사례.
 
반복적인 코드 작업 자동화, Codebone으로 손쉽게
반복적인 코드 작업 자동화, Codebone으로 손쉽게반복적인 코드 작업 자동화, Codebone으로 손쉽게
반복적인 코드 작업 자동화, Codebone으로 손쉽게
 
One ASP.NET
One ASP.NETOne ASP.NET
One ASP.NET
 
Micro Service Architecture의 이해
Micro Service Architecture의 이해Micro Service Architecture의 이해
Micro Service Architecture의 이해
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
 
Sencha ExtJS를 활용한 Big Data Platform 개발 사례
Sencha ExtJS를 활용한 Big Data Platform 개발 사례 Sencha ExtJS를 활용한 Big Data Platform 개발 사례
Sencha ExtJS를 활용한 Big Data Platform 개발 사례
 
2조 프로젝트 보고서 김동현
2조 프로젝트 보고서 김동현2조 프로젝트 보고서 김동현
2조 프로젝트 보고서 김동현
 
글로벌 지도 API 서비스 현황과 미래 - 한국지리정보학회 (2014)
글로벌 지도 API 서비스 현황과 미래 - 한국지리정보학회 (2014)글로벌 지도 API 서비스 현황과 미래 - 한국지리정보학회 (2014)
글로벌 지도 API 서비스 현황과 미래 - 한국지리정보학회 (2014)
 
Node.js에서 공공API를 활용해서 개발하기
Node.js에서 공공API를 활용해서 개발하기Node.js에서 공공API를 활용해서 개발하기
Node.js에서 공공API를 활용해서 개발하기
 
정해균 포트폴리오
정해균 포트폴리오정해균 포트폴리오
정해균 포트폴리오
 
Web Project
Web ProjectWeb Project
Web Project
 
웹에 빠른 날개를 달아주는 웹 성능 향상 이야기
웹에 빠른 날개를 달아주는 웹 성능 향상 이야기웹에 빠른 날개를 달아주는 웹 성능 향상 이야기
웹에 빠른 날개를 달아주는 웹 성능 향상 이야기
 
법안 검색 시스템 PPT
법안 검색 시스템 PPT법안 검색 시스템 PPT
법안 검색 시스템 PPT
 

중고나라 거래 통계 서비스 1차 개발 완료 보고

  • 1. 중고나라 거래 통계 서비스 1차 개발 완료 보고 2015. 8. 21. 조석현(zoe@embian.com) 개발 1본부 / Embian
  • 2. 목차 1. 서비스 정의 및 목적 2. 서비스 Concept & History 3. 개발 인력 및 일정 4. 주요 사용 기술 5. 서비스 시스템 구조 및 역할 6. 웹 페이지 구성(Demo) 7. 서비스 기대 효과
  • 3. 1. 서비스 정의 및 목적
  • 4. 1. 서비스 정의 및 목적 1.1. „중고나라 거래 통계 서비스‟란? 네이버 “중고나라” 까페 회원들이 업로드 하는 게시물, 제품의 실시갂 정보를 수집, 처리, 시각화하여 Dashboard 형태로 거래 통계 정보를 열람하는 웹 서비스 4
  • 5. 1. 서비스 정의 및 목적 1.2. 서비스의 목적 • “엠비안의 기술력”을 테스트하기 위한 수단 1. 데이터 수집 기술 2. 실시갂 처리 기술 3. 데이터 시각화 기술 CEP (실시갂 처리) Scraping (수집) Visualization (시각화) 5
  • 7. 2. 서비스 Concept & History 2.1. 초기 Concept(5월) CEP (실시갂 처리) ? ? CEP 엔진 기술이 있으나, 내부 서비스 적용사례가 없음. 어떤 데이터(?)를, 어떻게 처리(?)하여, 어떤 결과(?)를 보여야 할 지 감(?)이 없음. 7
  • 8. 2. 서비스 Concept & History 2.1. 초기 Concept(5월) 팀 포퐁(Team Popong)의 정치 분석 사이트 – 나는 서울 시장이다 [ Reference URL : http://popong.com/iamseoulmayor/ ] “서로 다른 성향 집단의 데이터를 비교 분석해보자” 8
  • 9. 2. 서비스 Concept & History 2.2. 과도기 Concept(6월) “일베(일갂베스트)와 오유(오늘의 유머)의 데이터를 분석하여 정치 성향을 비교하는 통계를 보여주자.” 일베 - 일갂베스트 게시판 일 평균 게시물 업로드 약 1000건 오유 – 베스트게시판 일 평균 게시물 업로드 약 500건 그러나, 실시갂 정치성향 데이터 양이 부족해 의미 있는 결과가 나올 수 없음. CEP (실시갂 처리) Scraping (수집) 일베 Visualization (시각화) 오유 9
  • 10. 2. 서비스 Concept & History 2.3. 현재 Concept(7-8월) “실시갂 데이터 양이 풍부한 중고나라의 데이터를 이용해 실시갂 제품 정보 데이터를 Dashboard 형태로 제공하는 웹 서비스로 Concept을 변경” 중고나라의 일일 게시물 업로드 수는 약 15-20만 건 CEP (실시갂 처리) Scraping (수집) 중고나라 Visualization (시각화) 10
  • 11. 2. 서비스 Concept & History 2.4. History 요약 초기 Concept 과도기 Concept 현재 Concept 6월 7월 8월 Concept 변화 Event Today (8/21) 11 - 프로젝트 시작 - 1차 개발 완료
  • 12. 3. 개발 인력 및 일정
  • 13. 3. 개발 인력 및 일정 3.1. 갂트 차트 & History 전체 프로젝트 기준 : 3개월 현재 Concept 기준 : 1.2개월 5월 6월 7월 8월 4 1 2 3 4 1 2 3 4 1 2 3 석현 1 일베/오유 게시물 스크래퍼 개발 2 스크래퍼 속도 개선 / 모듈 교체 3 중고나라 웹 기획 4 중고나라 스크래퍼 개발 5 중고나라 스크래퍼 속도 개선 6 제품명 추출 및 비속어 제거 7 CEP 인수인계 8 웹 페이지 개발 9 d3js 차트 연동 10 서비스 deploy 정 1 CEP 개발 2 CEP 인수인계 3 서비스 deploy 재영 1 버블차트 구현 Today (8/21) 13
  • 15. 4. 주요 사용 기술 4.1. 서비스 단위별 주요 사용기술 서비스 단위 주요 사용기술 및 언어 중고나라 Scraper Python(python-scrapy) bash Message Queue Apache Kafka Zookeeper Search Engine Elastic CEP Java/XML eBay Pulsar(Jetstream) Zookeeper Virtualization(가상화) Docker In-memory DB Redis Visualization(시각화) - Web Server Python(python-flask) Python(gevent-socketio) Visualization(시각화) - Client HTML5+CSS Javascript jQuery Bootstrap D3js 15
  • 16. 5. 서비스 시스템 구조 및 역할
  • 17. 5. 서비스 시스템 구조 및 역할 5.1. 전체 구성도 Scraping (중고나라 Scraper) Elastic Redis App #1 App #3 App #4 App #2 Visualization (WebServer) 중고나라 Visualization (Client) #231 Server #232 Server CEP (Pulsar Jetstream) MSG Queue (Kafka) Indexing Query SocketIO Data Scraping Pub Sub Pub Sub Request (every 2s) Response (Aggregation, Index count) 1. Data Scraping 2. Data Parsing 3. Generate MSG 4. Publish MSG to Kafka 5. Indexing MSG to Elastic 1. Subscribe data1 from Redis 2. Handle data1 to socket 3. Request query to Elastic 4. Get response(data2) from Elastic 5. Parsing data2 and handle Rest API Rest API 1. Request Webserver 2. Get data1, data2 from socket, Rest API 3. D3js Graph Visualization zookeeper EPLMSG ParsingConsume MSG from Kafka Publish to Redis Check Point 1. Scraping, CEP, Visualization의 위치 확인. Check Point 2. 서버 2대로 deploy되어 있음. 17
  • 18. 5. 서비스 시스템 구조 및 역할 5.2. Scraper(수집) Scraping (중고나라 Scraper) Elastic 중고나라 MSG Queue (Kafka) Indexing Data Scraping Pub Request (every 2s) Scraper 주요 역할 1. Data Scraping 2. Data Parsing 3. Generate MSG 4. Publish MSG to Kafka 5. Indexing MSG to Elastic 18
  • 19. 5. 서비스 시스템 구조 및 역할 5.3. CEP(실시갂 처리) Redis App #1 App #3 App #4 App #2 CEP (Pulsar Jetstream) MSG Queue (Kafka) Sub Pub S zookeeper CEP 단계별 역할 App #1 : Consume MSG from Kafka App #2 : MSG Parsing App #3 : EPL App #4 : Publish to Redis 19
  • 20. 5. 서비스 시스템 구조 및 역할 5.4. Visualization(시각화) Elastic Redis Visualization (Web Server) Visualization (Client) Query SocketIO ub Sub Response (Aggregation, Index count) Web Server 주요 동작 1. Subscribe data1 from Redis 2. Handle data1 to socket 3. Request query to Elastic 4. Get response(data2) from Elastic 5. Parsing data2 and handle Rest API Rest API Client 주요 동작 1. Request Webserver 2. Get data1, data2 from socket, Rest API 3. D3js Graph Visualization 20
  • 22. 6. 웹 페이지 구성 6.1. 기획 및 구현 [최초 설계 Mock-up] [구현] 최초 설계한 Dashboard 모양과 유사하게 구현함. 22
  • 24. 6. 웹 페이지 구성 6.3. 웹 페이지 기능 설명 No 제목 기능 설명 1 실시갂 게시물 업로드 수 실시갂으로 중고나라에 게시되는 게시물의 업로드 수를 표시 2 최근 1분 게시물 업로드 현황 현재를 기준으로 최근 1분 동안 업로드 된 게시물의 현황을 선 그래프로 표시 3 실시갂 제품 Top 5 현재를 기준으로 최근 1시갂 동안 업로드 된 제품 중 가장 많이 업로드 된 제품을 1순위부터 5순위까지 표시 4 제품 실시갂 현황 현재를 기준으로 최근 1시갂 동안 업로드 된 제품 40개를 게시된 비중에 따라 버블차트로 표시 5 일별 게시물 수 통계 매일 중고나라에 업로드 된 게시물의 누적 게시 건수를 막대 그래프로 표시 6 일갂 Top 10 제품 통계 현재를 기준으로 하루 동안 업로드 된 제품 10개를 게시된 비중에 따라 파이 그래프로 표시 24
  • 26. 7. 서비스 기대효과 1. “엠비안”의 목적 달성 – 기술력 테스트의 수단으로서, 프로젝트 관련 기술이 가시화된 결과(웹 서비스, 소스코드)로 나타남. – 대규모의 데이터(일 20만건)를 축적할 수 있음. 2. “사용자”에게 객관적 지표 제공 – 실시갂 데이터와 일갂 통계 데이터를 제공. 26
  • 27. END