SlideShare uma empresa Scribd logo
1 de 57
Baixar para ler offline
추천 시스템을 위한 어플리케이션 서버
개발 후기
김광섭
김광섭
mrkwangsub@gmail.com
C++/Python 개발자
Pattern Recognition 전공
추천 시스템 / 머신러닝에 관심있습니다
추천 시스템
추천 시스템
https://cse.umn.edu/news-release/university-of-minnesota-professors-and-alumnus-win-international-award-for-groundbreaking-recommender-systems-research/
데이터를 소비하는 새로운 경험!
음악 블로그 뉴스 영화
추천 시스템은 복잡한 문제입니다.
https://leankit.com/blog/2016/01/managing-complex-workflows-in-leankit/
추천 시스템은 복잡한 문제입니다.
하지만, 우리가 해야할 일을 아주 간단히 축소하면,
다음 두가지 맥락으로 해석할 수 있습니다
https://leankit.com/blog/2016/01/managing-complex-workflows-in-leankit/
아이템 추천
개인화 추천
아이템
개인
Thanks a lot to http://xkcd.com
설계
쿼리 유사도 정렬 메타데이터/선호도 조회
필터링
다이어트
바나나...
품절
사과혐오
아이템 추천 시나리오
어떤 게 적합할까?
여기서 원하는 게 뭘까?
2. 관계, 유사도, 거리, .... • 상품명
• 재고량
• 가격
• 판매처
• …
3. 상품 정보1. 활동 정보
• 좋아요
• 싫어요
• 산 것/본 것
• …
이런 저런 기술로 만들어요
2. 관계, 유사도, 거리, ....
오렌지 토마토 레몬
바나나 0.831321 0.8221123 0.747661
• 상품명
• 재고량
• 가격
• 판매처
• …
3. 상품 정보1. 활동 정보
• 좋아요
• 싫어요
• 산 것/본 것
• …
2. 관계, 유사도, 거리, ....
3. 상품 정보
1. 활동 정보
데이터베이스
데이터 수집
데이터 분석
어플리케이션 서버
장보기/과일추천
{
type: “similar”,
database: “장보기”,
filter: {“kind”: “disliked”, “n”: 5},
where: {“status”: “okay”},
limit: 20
}
과일추천
Rule(Schema)
이제 만들어 보자!
이제 만들어 보자!
vs
그냥 있는거 쓰면 안되요? (이런 사람 꼭 있다)
유사도/메타/이력 데이터 적재
수평 확장이 용이해야하며 대량
의 쓰기와 읽기에도 안정적인 성
능을 유지해야함
실시간 개인화 추천, 복잡한 필터
링, 비지니스 로직, 온라인 기계학
습에 필요한 실시간 분석 기능을
제공해야 하며 실시간 서비스에
필요한 수준으로 빠르게 처리해
야함
실시간분석 데이터베이스
관계형 분석 기능을 제공하며 낮
은 지연시간을 보장해야함(실시
간 분석에 필요한 시간을 위해)
OLTP
실시간분석 Online Transaction Processing 데이터베이스
어플리케이션 서버 요구 사항 분석
유사도/메타/이력 데이터 적재
수평 확장이 용이해야하며 대량
의 쓰기와 읽기에도 안정적인 성
능을 유지해야함
실시간 개인화 추천, 복잡한 필터
링, 비지니스 로직, 온라인 기계학
습에 필요한 실시간 분석 기능을
제공해야 하며 실시간 서비스에
필요한 수준으로 빠르게 처리해
야함
실시간분석 데이터베이스
관계형 분석 기능을 제공하며 낮
은 지연시간을 보장해야함(실시
간 분석에 필요한 시간을 위해)
OLTP
실시간분석 Online Transaction Processing 데이터베이스
어플리케이션 서버 요구 사항 분석
중요!
실시간 개인화 추천, 복잡한 필터
링, 비지니스 로직, 온라인 기계학
습에 필요한 실시간 분석 기능을
제공해야 하며 실시간 서비스에
필요한 수준으로 빠르게 처리해
야함
실시간분석
실시간분석
어플리케이션 서버 요구 사항 분석
개인화 추천을 미리 계산하는 것은 매우 비효율적.
실시간 분석이 적합.
벤치마킹
실시간분석 OLTP 데이터베이스 기타
실시간분석이 거의 제공 되지 않음
스케일 아웃이 쉽지 않음(확장성)
실시간분석이 거의 제공 되지 않음
OLTP성 작업에 제약이 있음
일부 실시간분석이 가능하지만 처리 속도가 느림
안정성이 충분히 검증되지 않음
일부 실시간분석을 만족할만한 시간 내에 처리 하지만
안정성이 낮음(버전 1.0이하 테스트)
실시간분석 기능을 가장 많이 제공하나, 여전히 불충분
하고, 유료임
그냥 있는거 쓰면 안되요? 네.
1. 실시간분석
• “결과가 없으면 같은 카테고리내 다른 상품을 보여줬으면 좋겠어요.”
• “본 거는 빼주세요. 그런데 3번 정도 봐야 빠졌으면 좋겠어요.”
• 대용량 개인화 추천, 온라인 기계학습
2. 속도/성능
• 데이터베이스 작업을 단순화하고, 복잡한 로직을 더 효과적으로 구현하자. (혹은 써드파티 라이브러리의 활용)
3. 확장성/안정성
• 대용량 데이터베이스의 특성과 실시간 분석 두가지를 하나의 플랫폼으로 만족시키기 어렵다.
4. 완결성
• API를 사용하는 입장에서 추가 작업 없이 바로 사용 가능하도록 하자.
이제 만들어 보자!
실시간분석 데이터베이스OLTP
실시간분석과 OLTP 연산을 처리하는 것에 집중하고
데이터베이스는 외부 솔루션에 의존
만드려는 것은 여기에 집중
L7 스위치백엔드
마라톤 LB (HaProxy)
마라톤 앱
NGINX
GUNICORN
APP APP
Redis
Mongo

DB
External
API
APP
MySQL
룰(스키마)
리소스
실시간 분석
APP
MySQL
정의된 룰(스키마) 로드
brunch/similar
{
“bucket_A”: {
},
“bucket_B”: {
}
}
brunch/similar (200 OK)
dinner/similar (404)
Mongo

DB
External
API
Redis
개발 후기
만들면서 겪었던 문제들
• python2 vs python3: tornado vs sanic
• asyncio.Future
• 데이터베이스 프로파일링
• 꼼꼼한 캐싱
• 복잡한 필터링
• 설정 배포
• 퍼포먼스
v.s.
python2 v.s. python3
python2 v.s. python3
v.s.
Flask-like Python 3.5+ web server
서비스에 사용중이던 파이썬2 + 토네이도 기반의 비슷한 구현체가
있었습니다
가능하면 재활용을 하고 싶었지만, 몇가지 장점으로 파이썬3 +
Sanic 조합으로 변경했습니다
python2 v.s. python3
코드 가독성 증가 및 LOC 감소
Sanic의 문법이 tornado보다 간결하기도 하지만 파이썬3와 써드
파티 라이브러리 전반적으로 코드 사용이 더 쉬웠습니다
python2 v.s. python3
성능
uvloop 덕택인지 tornado 구현체 대비해 동일 환경에서 약 2.1배
가량 빠른 응답 속도를 보였습니다
https://magic.io/blog/uvloop-blazing-fast-python-networking/
python2 v.s. python3
asyncio.Future
asyncio.Future
VS
asyncio.Future
VS
RUN/WAIT
RUN/WAIT
RUN
RUN/WAIT
WAIT
네트워크 I/O 대기를 최소화해서 CPU를 최대한 뽑아먹자
데이터베이스 프로파일링
코드를 최적화 하다 보니 결국에는 쿼리를 처리하는데 소요되는 대
부분의 시간은 데이터베이스 조회에(혹은 다른 RPC) 사용됐습니다
데이터베이스는 MongoDB를 사용했습니다 sanic-motor를 사용
하면 쉽게 비동기 호출 방식으로 사용할 수 있습니다
고민이 되는 지점은 데이터베이스의 기능을 어디까지 사용할지 입
니다
데이터베이스 프로파일링
ELSE
32%
DB
68%
ELSE
1%
DB
99%
Rule A Rule B
데이터베이스 프로파일링
품절
APP
Mongo

DB
품절
APP
Mongo

DB
MongoDB에 aggregate라는 기능으로 여러 연산을 중복해서 실행
할 수 있습니다. 그 중에 $filter 연산은 사용하는 것이 더 좋았습니다.
앱서버 CPU 사용량 감소
데이터 전송량 감소
데이터베이스 부하는 비슷
데이터베이스 프로파일링
Mongo

DB
Mongo

DB
반면 $group는 어플리케이션 서버에서 처리하는 것이 수배 빨랐습
니다.
3개
3개
3개
3개
APP
APP
데이터베이스 프로파일링
데이터베이스에서 제공하는 기능을 그대로 사용할지 어플리케이션
서버에서 구현할지 테스트 해보자!
꼼꼼한 캐싱
꼼꼼한 캐싱
데이터베이스 조회 비용이 비싸기 때문에 최대한 캐싱을 꼼꼼히 할
필요가 있습니다
인스턴스내 여러 프로세스로 앱 프로세스가 생성되기 때문에 프로
세스간 중복되는 연산을 줄이기 위해 임베디드 캐시 대신 Redis를
사용했습니다
APP
Redis
APPAPP
꼼꼼한 캐싱
쿼리
쿼리
단일 인스턴스
프로세스B
프로세스A
중복 질의
꼼꼼한 캐싱
슈퍼 노드를 해결을 위해서도 인스턴스 내의 캐시는 필요했습니다
Mongo

DB
Shard1
Shard2
ShardN
적절한 키로 샤드를 구성하더라도
공통되어 사용되는 리소스가 존재하는 경우
특정 샤드에 부하가 집중됩니다
핫 포도
복잡한 필터링
복잡한 필터링
바나나 싫다
바나나 싫다
제거하기
뒤로 밀어내기
최근에 봤거나, 결과 수를 일정하게
유지 하기 위해서는 커스텀 필터 구현
복잡한 필터링
빌트인 프로시져로 처리할 수 없는 필터링의 경우를 위해 

룰에 파이썬 코드를 심고 런타임 컴파일을 사용
brunch/similar
{
“bucket_A”: {
“$filter”: “{"$match": {"$and": [{"is_black_user": {"$eq": 0}}, {"status": {"$eq": “normal”}}]}}”,
},
“bucket_B”: {
“@filter”: “lambda x: “,
}
설정 배포
설정 배포
마라톤 앱
NGINX
GUNICORN
APP APP
Redis
External
API
APP
MySQL
룰(스키마)
brunch/similar
{
“bucket_A”: {
},
“bucket_B”: {
}
}
설정 배포
마라톤 앱
NGINX
GUNICORN
APP APP
Redis
External
API
APP
MySQL
룰(스키마)
brunch/similar
{
“bucket_A”: {
}
}
테스트를 포함해 룰을 바꾸는 일은 잦음
설정 배포
마라톤 앱
NGINX
GUNICORN
APP APP
Redis
External
API
APP
MySQL
룰(스키마)
순차적 재시작
이럴 경우 요청이 유실
될 수 있습니다.
설정 배포
마라톤 앱
NGINX
GUNICORN
APP APP
Redis
External
API
APP
MySQL
룰(스키마)
KILL SIGTERM
안전하게 앱을 재시작
할 수 있습니다.
설정 배포
마라톤 앱
NGINX
GUNICORN
APP APP
Redis
External
API
APP
MySQL
룰(스키마)
KILL SIGTERM
안전하게 앱을 재시작
할 수 있습니다.
퍼포먼스
퍼포먼스
API
API 요청 350M+
평균 응답 속도 17ms
100ms 이하 응답 비율 99.7%
/ day
데이터베이스
INSERT 1B+
UPDATE 1.5B+
SELECT 1.2B+
/ day
인스턴스(1Thread)
294.98 TPS
20 가상 유저, 60초 버스트
평균 전송 데이터 43KB
linear scalability
그 밖의 코멘트
파이썬으로 그런거 만드는 거 아니에요
(그만 좀 들었으면... 실제로 이런 경우가 적지 않습니다)
실시간 어플리케이션 서버의 병목 대부분 네트워크 IO
(왜 우리 파이썬한태 그래요!!?!)
CPU 연산의 경우 수치 연산에 최적화된 라이브러리를 잘 활용하자
(그래도 느리다면 내 코드가 문ㅈ...)
FAQ
kakao > 추천팀 영입 공고
• 추천 시스템 연구/개발: https://careers.kakao.com/jobs/P-9883
• 추천 시스템 소프트웨어 엔지니어: https://careers.kakao.com/jobs/P-10200

Mais conteúdo relacionado

Mais procurados

[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기CONNECT FOUNDATION
 
데이터는 차트가 아니라 돈이 되어야 한다.
데이터는 차트가 아니라 돈이 되어야 한다.데이터는 차트가 아니라 돈이 되어야 한다.
데이터는 차트가 아니라 돈이 되어야 한다.Yongho Ha
 
개인화 및 추천 기능의 맞춤형 AI 서비스 혁명: Amazon Personalize - 남궁영환 솔루션즈 아키텍트, AWS / 강성문 솔루...
개인화 및 추천 기능의 맞춤형 AI 서비스 혁명: Amazon Personalize - 남궁영환 솔루션즈 아키텍트, AWS / 강성문 솔루...개인화 및 추천 기능의 맞춤형 AI 서비스 혁명: Amazon Personalize - 남궁영환 솔루션즈 아키텍트, AWS / 강성문 솔루...
개인화 및 추천 기능의 맞춤형 AI 서비스 혁명: Amazon Personalize - 남궁영환 솔루션즈 아키텍트, AWS / 강성문 솔루...Amazon Web Services Korea
 
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장Dylan Ko
 
AWS Personalize 중심으로 살펴본 추천 시스템 원리와 구축
AWS Personalize 중심으로 살펴본 추천 시스템 원리와 구축AWS Personalize 중심으로 살펴본 추천 시스템 원리와 구축
AWS Personalize 중심으로 살펴본 추천 시스템 원리와 구축Sungmin Kim
 
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA)
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA) 오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA)
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA) Yongho Ha
 
글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)
글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)
글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)Treasure Data, Inc.
 
커머스 스타트업의 효율적인 데이터 분석 플랫폼 구축기 - 하지양 데이터 엔지니어, 발란 / 강웅석 데이터 엔지니어, 크로키닷컴 :: AWS...
커머스 스타트업의 효율적인 데이터 분석 플랫폼 구축기 - 하지양 데이터 엔지니어, 발란 / 강웅석 데이터 엔지니어, 크로키닷컴 :: AWS...커머스 스타트업의 효율적인 데이터 분석 플랫폼 구축기 - 하지양 데이터 엔지니어, 발란 / 강웅석 데이터 엔지니어, 크로키닷컴 :: AWS...
커머스 스타트업의 효율적인 데이터 분석 플랫폼 구축기 - 하지양 데이터 엔지니어, 발란 / 강웅석 데이터 엔지니어, 크로키닷컴 :: AWS...Amazon Web Services Korea
 
2011 H3 컨퍼런스-파이썬으로 클라우드 하고 싶어요
2011 H3 컨퍼런스-파이썬으로 클라우드 하고 싶어요2011 H3 컨퍼런스-파이썬으로 클라우드 하고 싶어요
2011 H3 컨퍼런스-파이썬으로 클라우드 하고 싶어요Yongho Ha
 
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015 AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015 Amazon Web Services Korea
 
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기AWSKRUG - AWS한국사용자모임
 
Data Engineering 101
Data Engineering 101Data Engineering 101
Data Engineering 101DaeMyung Kang
 
스타트업 데이터분석 - 퍼널분석과 코호트분석
스타트업 데이터분석 - 퍼널분석과 코호트분석스타트업 데이터분석 - 퍼널분석과 코호트분석
스타트업 데이터분석 - 퍼널분석과 코호트분석Seonggwan Lee
 
하이퍼커넥트에서 자동 광고 측정 서비스 구현하기 - PyCon Korea 2018
하이퍼커넥트에서 자동 광고 측정 서비스 구현하기 - PyCon Korea 2018하이퍼커넥트에서 자동 광고 측정 서비스 구현하기 - PyCon Korea 2018
하이퍼커넥트에서 자동 광고 측정 서비스 구현하기 - PyCon Korea 2018승호 박
 
로그 기깔나게 잘 디자인하는 법
로그 기깔나게 잘 디자인하는 법로그 기깔나게 잘 디자인하는 법
로그 기깔나게 잘 디자인하는 법Jeongsang Baek
 
빅데이터, 클라우드, IoT, 머신러닝. 왜 이렇게 많은 것들이 나타날까?
빅데이터, 클라우드, IoT, 머신러닝. 왜 이렇게 많은 것들이 나타날까?빅데이터, 클라우드, IoT, 머신러닝. 왜 이렇게 많은 것들이 나타날까?
빅데이터, 클라우드, IoT, 머신러닝. 왜 이렇게 많은 것들이 나타날까?Yongho Ha
 
데이터 분석가는 어떤 SKILLSET을 가져야 하는가? - 데이터 분석가 되기
데이터 분석가는 어떤 SKILLSET을 가져야 하는가?  - 데이터 분석가 되기데이터 분석가는 어떤 SKILLSET을 가져야 하는가?  - 데이터 분석가 되기
데이터 분석가는 어떤 SKILLSET을 가져야 하는가? - 데이터 분석가 되기Hui Seo
 
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.Yongho Ha
 
쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기Brian Hong
 
[KAIST 채용설명회] 데이터 엔지니어는 무슨 일을 하나요?
[KAIST 채용설명회] 데이터 엔지니어는 무슨 일을 하나요?[KAIST 채용설명회] 데이터 엔지니어는 무슨 일을 하나요?
[KAIST 채용설명회] 데이터 엔지니어는 무슨 일을 하나요?Juhong Park
 

Mais procurados (20)

[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
 
데이터는 차트가 아니라 돈이 되어야 한다.
데이터는 차트가 아니라 돈이 되어야 한다.데이터는 차트가 아니라 돈이 되어야 한다.
데이터는 차트가 아니라 돈이 되어야 한다.
 
개인화 및 추천 기능의 맞춤형 AI 서비스 혁명: Amazon Personalize - 남궁영환 솔루션즈 아키텍트, AWS / 강성문 솔루...
개인화 및 추천 기능의 맞춤형 AI 서비스 혁명: Amazon Personalize - 남궁영환 솔루션즈 아키텍트, AWS / 강성문 솔루...개인화 및 추천 기능의 맞춤형 AI 서비스 혁명: Amazon Personalize - 남궁영환 솔루션즈 아키텍트, AWS / 강성문 솔루...
개인화 및 추천 기능의 맞춤형 AI 서비스 혁명: Amazon Personalize - 남궁영환 솔루션즈 아키텍트, AWS / 강성문 솔루...
 
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장
 
AWS Personalize 중심으로 살펴본 추천 시스템 원리와 구축
AWS Personalize 중심으로 살펴본 추천 시스템 원리와 구축AWS Personalize 중심으로 살펴본 추천 시스템 원리와 구축
AWS Personalize 중심으로 살펴본 추천 시스템 원리와 구축
 
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA)
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA) 오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA)
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA)
 
글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)
글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)
글로벌 사례로 보는 데이터로 돈 버는 법 - 트레저데이터 (Treasure Data)
 
커머스 스타트업의 효율적인 데이터 분석 플랫폼 구축기 - 하지양 데이터 엔지니어, 발란 / 강웅석 데이터 엔지니어, 크로키닷컴 :: AWS...
커머스 스타트업의 효율적인 데이터 분석 플랫폼 구축기 - 하지양 데이터 엔지니어, 발란 / 강웅석 데이터 엔지니어, 크로키닷컴 :: AWS...커머스 스타트업의 효율적인 데이터 분석 플랫폼 구축기 - 하지양 데이터 엔지니어, 발란 / 강웅석 데이터 엔지니어, 크로키닷컴 :: AWS...
커머스 스타트업의 효율적인 데이터 분석 플랫폼 구축기 - 하지양 데이터 엔지니어, 발란 / 강웅석 데이터 엔지니어, 크로키닷컴 :: AWS...
 
2011 H3 컨퍼런스-파이썬으로 클라우드 하고 싶어요
2011 H3 컨퍼런스-파이썬으로 클라우드 하고 싶어요2011 H3 컨퍼런스-파이썬으로 클라우드 하고 싶어요
2011 H3 컨퍼런스-파이썬으로 클라우드 하고 싶어요
 
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015 AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
 
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
 
Data Engineering 101
Data Engineering 101Data Engineering 101
Data Engineering 101
 
스타트업 데이터분석 - 퍼널분석과 코호트분석
스타트업 데이터분석 - 퍼널분석과 코호트분석스타트업 데이터분석 - 퍼널분석과 코호트분석
스타트업 데이터분석 - 퍼널분석과 코호트분석
 
하이퍼커넥트에서 자동 광고 측정 서비스 구현하기 - PyCon Korea 2018
하이퍼커넥트에서 자동 광고 측정 서비스 구현하기 - PyCon Korea 2018하이퍼커넥트에서 자동 광고 측정 서비스 구현하기 - PyCon Korea 2018
하이퍼커넥트에서 자동 광고 측정 서비스 구현하기 - PyCon Korea 2018
 
로그 기깔나게 잘 디자인하는 법
로그 기깔나게 잘 디자인하는 법로그 기깔나게 잘 디자인하는 법
로그 기깔나게 잘 디자인하는 법
 
빅데이터, 클라우드, IoT, 머신러닝. 왜 이렇게 많은 것들이 나타날까?
빅데이터, 클라우드, IoT, 머신러닝. 왜 이렇게 많은 것들이 나타날까?빅데이터, 클라우드, IoT, 머신러닝. 왜 이렇게 많은 것들이 나타날까?
빅데이터, 클라우드, IoT, 머신러닝. 왜 이렇게 많은 것들이 나타날까?
 
데이터 분석가는 어떤 SKILLSET을 가져야 하는가? - 데이터 분석가 되기
데이터 분석가는 어떤 SKILLSET을 가져야 하는가?  - 데이터 분석가 되기데이터 분석가는 어떤 SKILLSET을 가져야 하는가?  - 데이터 분석가 되기
데이터 분석가는 어떤 SKILLSET을 가져야 하는가? - 데이터 분석가 되기
 
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
 
쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기
 
[KAIST 채용설명회] 데이터 엔지니어는 무슨 일을 하나요?
[KAIST 채용설명회] 데이터 엔지니어는 무슨 일을 하나요?[KAIST 채용설명회] 데이터 엔지니어는 무슨 일을 하나요?
[KAIST 채용설명회] 데이터 엔지니어는 무슨 일을 하나요?
 

Semelhante a [PYCON Korea 2018] Python Application Server for Recommender System

서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)수보 김
 
레가시 프로젝트의 빌드 자동화
레가시 프로젝트의 빌드 자동화레가시 프로젝트의 빌드 자동화
레가시 프로젝트의 빌드 자동화Jaehoon Choi
 
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019devCAT Studio, NEXON
 
멸종하는 공룡이 되지 않으려면
멸종하는 공룡이 되지 않으려면멸종하는 공룡이 되지 않으려면
멸종하는 공룡이 되지 않으려면Byeongsu Kang
 
웹에 빠른 날개를 달아주는 웹 성능 향상 이야기
웹에 빠른 날개를 달아주는 웹 성능 향상 이야기웹에 빠른 날개를 달아주는 웹 성능 향상 이야기
웹에 빠른 날개를 달아주는 웹 성능 향상 이야기SangJin Kang
 
클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기YoungSu Son
 
진화하는 소셜 큐레이션 서비스와 관련 기술
진화하는 소셜 큐레이션 서비스와 관련 기술진화하는 소셜 큐레이션 서비스와 관련 기술
진화하는 소셜 큐레이션 서비스와 관련 기술Taegon Kim
 
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220Seomgi Han
 
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기YoungSu Son
 
모니터링 영역의 변천사_클라우드, 디지털 경험까지)
모니터링 영역의 변천사_클라우드, 디지털 경험까지)모니터링 영역의 변천사_클라우드, 디지털 경험까지)
모니터링 영역의 변천사_클라우드, 디지털 경험까지)IMQA
 
Chap1. 개발환경구성 3주차 20130329
Chap1. 개발환경구성 3주차 20130329Chap1. 개발환경구성 3주차 20130329
Chap1. 개발환경구성 3주차 20130329광명 우
 
[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규
[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규
[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규ChangKyu Song
 
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)Sang Don Kim
 
쇼핑검색 React 전환 경험 공유
쇼핑검색 React 전환 경험 공유쇼핑검색 React 전환 경험 공유
쇼핑검색 React 전환 경험 공유NAVER SHOPPING
 
Tdc2013 선배들에게 배우는 server scalability
Tdc2013 선배들에게 배우는 server scalabilityTdc2013 선배들에게 배우는 server scalability
Tdc2013 선배들에게 배우는 server scalability흥배 최
 
Realtime Big data Anaytics and Exampes of Daum (2013)
Realtime Big data Anaytics and Exampes of Daum (2013)Realtime Big data Anaytics and Exampes of Daum (2013)
Realtime Big data Anaytics and Exampes of Daum (2013)Channy Yun
 
UI/UX 개선을 위한 빠른 프로토타이핑
UI/UX 개선을 위한 빠른 프로토타이핑UI/UX 개선을 위한 빠른 프로토타이핑
UI/UX 개선을 위한 빠른 프로토타이핑Dongsik Yang
 

Semelhante a [PYCON Korea 2018] Python Application Server for Recommender System (20)

서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)
 
레가시 프로젝트의 빌드 자동화
레가시 프로젝트의 빌드 자동화레가시 프로젝트의 빌드 자동화
레가시 프로젝트의 빌드 자동화
 
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
 
멸종하는 공룡이 되지 않으려면
멸종하는 공룡이 되지 않으려면멸종하는 공룡이 되지 않으려면
멸종하는 공룡이 되지 않으려면
 
[팝콘 시즌1] 이인영 : AWS QuickSight 맛보기
[팝콘 시즌1] 이인영 : AWS QuickSight 맛보기[팝콘 시즌1] 이인영 : AWS QuickSight 맛보기
[팝콘 시즌1] 이인영 : AWS QuickSight 맛보기
 
웹에 빠른 날개를 달아주는 웹 성능 향상 이야기
웹에 빠른 날개를 달아주는 웹 성능 향상 이야기웹에 빠른 날개를 달아주는 웹 성능 향상 이야기
웹에 빠른 날개를 달아주는 웹 성능 향상 이야기
 
클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기
 
진화하는 소셜 큐레이션 서비스와 관련 기술
진화하는 소셜 큐레이션 서비스와 관련 기술진화하는 소셜 큐레이션 서비스와 관련 기술
진화하는 소셜 큐레이션 서비스와 관련 기술
 
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220
피플펀드 웹서비스 성능개선기(+초기 스타트업의 개발방법론) 20171220
 
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
 
모니터링 영역의 변천사_클라우드, 디지털 경험까지)
모니터링 영역의 변천사_클라우드, 디지털 경험까지)모니터링 영역의 변천사_클라우드, 디지털 경험까지)
모니터링 영역의 변천사_클라우드, 디지털 경험까지)
 
Chap1. 개발환경구성 3주차 20130329
Chap1. 개발환경구성 3주차 20130329Chap1. 개발환경구성 3주차 20130329
Chap1. 개발환경구성 3주차 20130329
 
[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규
[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규
[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규
 
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
 
Showroom 2019-react
Showroom 2019-reactShowroom 2019-react
Showroom 2019-react
 
쇼핑검색 React 전환 경험 공유
쇼핑검색 React 전환 경험 공유쇼핑검색 React 전환 경험 공유
쇼핑검색 React 전환 경험 공유
 
Aws로 ci하기 안기욱
Aws로 ci하기 안기욱Aws로 ci하기 안기욱
Aws로 ci하기 안기욱
 
Tdc2013 선배들에게 배우는 server scalability
Tdc2013 선배들에게 배우는 server scalabilityTdc2013 선배들에게 배우는 server scalability
Tdc2013 선배들에게 배우는 server scalability
 
Realtime Big data Anaytics and Exampes of Daum (2013)
Realtime Big data Anaytics and Exampes of Daum (2013)Realtime Big data Anaytics and Exampes of Daum (2013)
Realtime Big data Anaytics and Exampes of Daum (2013)
 
UI/UX 개선을 위한 빠른 프로토타이핑
UI/UX 개선을 위한 빠른 프로토타이핑UI/UX 개선을 위한 빠른 프로토타이핑
UI/UX 개선을 위한 빠른 프로토타이핑
 

[PYCON Korea 2018] Python Application Server for Recommender System