SlideShare a Scribd company logo
Curie / Musicurie
Deep-Linking과 App-Indexing을 이용한
모바일 어플리케이션 검색 엔진
SW Maestro 과정
Team Tehran Slippers
류원경 남성필 엄두성 정헌재
목차
• 팀 소개
• 시장 배경 - 문제점
• 서비스 개요
• Deep-Linking? App-Indexing?
• 주요 경쟁사 분석
• 비지니스 모델
• 목업 (가안)
• Musicurie
• Software Overall Structure
• Front-End Develop
• Back-End Develop
팀 소개
Dooseong EomHunjae Jung Wonkyung Lyu Sungpil Nam
Wooseok Seo
시장 배경 - 문제점
• 오늘날의 검색엔진은 웹 상의 데이터만 보여 줄 수 있음
• 그러나, 전 세계적으로 웹 컨텐츠 생산량은 감소하는 반면,
모바일 컨텐츠 생산량은 증가하는 추세
시장 배경 - 문제점
• 따라서 검색엔진 사용자는 사용자 경험과 유익이 감소
• 검색엔진의 입장에서도 컨텐츠 감소에 따른 광고 수익 경감
문제 발생
• 앱 소유주(광고주)는 새로운 유저 유입을 위해 매우 비효율
적인 마케팅 자원 소비
서비스 개요
• 큐리(Curie)는 앱 인덱싱(App Indexing)과 딥 링킹(Deep
Linking) 기술을 이용해 모바일 앱 내부의 데이터를 사용자
들이 검색할 수 있고, 또한 바로 실행할 수 있도록 해주는 신
개념 검색엔진
Deep-Linking? App-Indexing?
• Deep-Linking: 앱 내부의 고유 컨텐츠 자원에 대한 링크

(http://en.wikipedia.org/wiki/Mobile_deep_linking)
• 가령, Facebook 앱의 경우 ‘fb://' 프로토콜로 시작되어 ‘fb://
profile/1781740177' 등과 같이 특정 자원에 바로 접근할 수
있게 됨
Deep-Linking? App-Indexing?
• App-Indexing: 모바일 앱에 있는 컨텐츠 자원들을 색인화
하여 Deep-Link를 통해 외부에서 접근 가능하도록 하는 것
How to find Deep-Link URL?
- 웹 서비스(크롬 개발자 도구에
서 모바일 버전으로 접속)에
들어가서, 노래 재생 버튼을
눌렀을 때 모바일 어플리케이
션으로 넘어가는지 확인한다.
- 만약 어플리케이션으로 넘어
가서 정상적으로 노래가 재생
되면, 어플리케이션에 deep
link가 구현되어 있는 것이므
로, Deep link URL을 찾을
수 있을 거라 기대해도 좋다.
How to find Deep-Link URL?
- 크롬 개발자 도구를 이용하여, 재생버튼을 눌렀을 때 어떤 함수가 실행되는지 확인해보면,
최종적으로 위와 같이 deep link url을 포함하고 있는 함수를 발견할 수 있다.
주요 경쟁사 분석
번호 이름 주요 서비스 설명
투자 금액 및
매출액
1
Quixey
(http://www.crunchbase.com/
organization/quixey)
앱 검색 API를 개발하고 있는 기업으로 현재
Quixey 안드로이드 어플을 북미 시장에 출시
한 상태이다. 이 어플은 모바일 기기 내부의 어
플들의 기능들을 쉽게 검색해서 사용할 수 있
도록 해준다.
총 10개의 투자사로부터
5번의 라운드를 통해 약
760억 원($750M) 유치
2
URX
(http://www.crunchbase.com/
organization/urx)
앱 검색 API를 개발하고 있는 기업으로, 자연
검색, 소셜미디어, 이메일, 푸시메시지, 광고
리타게팅 등 다양한 분야에 당사의 검색 API
를 응용하고 있다.
총 34개의 투자사로부터
3번의 라운드를 통해 약
160억 원($15M) 유치
3
Branch Metrics
(http://www.crunchbase.com/
organization/branch-metrics)
특정 딥링크를 통한 앱 설치 시, 핑거프린팅 기
술을 통해 앱 설치 이후에 회원가입 이후에도
바로 맥락에 맞는 랜딩페이지로 이동시켜주는
기술.
총 3개의 투자사로부터 1
번의 라운드를 통해 약
30억 원($3M) 유치
비즈니스 모델
• 기술을 활용한 엔드포인트 서비스를 통해 수익 창출



기존 웹 검색엔진과 유사한, 검색 결과에 대한 특정 모바일 어플
리케이션으로의 트래픽 전달에 대한 광고 수익 모델
• DB 축적 및 엔진 개량을 통한 자산 확보 



추후 App-Indexing 맥락과 사용자 흐름에 따라 맞춤형 광고 노
출로 CTR, 전환율, 서비스 체류 기간을 획기적으로 증가시키도
록 함. 더 나아가 자연어 검색, 소셜 미디어, 이메일, 푸시 메시지,
광고 리타게팅 등을 통해 광고 채널을 더 풍부하게 하는 것이 목
적.
목업 (가안)
Musicurie
Deep-Link & App-Indexing을 이용한 습작
1. Software Overall Structure
2. Front-End Develop
3. Back-End Develop
1. Software Overall Structure
2. Front-End Develop
3. Back-End Develop
Software Overall Structure
1. Software Overall Structure
2. Front-End Develop
3. Back-End Develop
Front-End Develop
1. 개발환경
• MAC OSX
2. 사용기술
• Build Tool – Yeoman, Bower, Grunt
• MVC Framework – Angular.js –v 1.3.0 (animate, aria, 

material, route)
• jQuery –v 2.1.3
3. 개발도구
• SublimeText
4. 저장소
• Github : https://github.com/teheranslippers/curie-front-angular
Yeoman + Grunt + Bower
• Yeoman: AngularJS, 웹앱 개발에 필요한 여러 구성요
소들을 초반에 단 하나의 커맨드로 세팅해주며, 부트스트
래핑을 도와주는 도구.
• Grunt: SCSS 컴파일, Minify, Auto loading 등 다양한
작업들을 자동화시켜줘서 개발 및 배포 시 빠른 시간안에
특정 태스크를 수행할 수 있도록 해주는 도구.
• Bower: 개발 시 사용하는 다양한 써드파티 라이브러리들
의 버전 및 상호의존성을 관리해주고, 쉽게 설치할 수 있
도록 해주는 도구.
Yeoman 활용 예시
1. yo angular로 angular 세팅
2. bower install로 써드파티 의존성 체크
3. grunt serve 개발 시 명령어 실행

(Chrome LiveReload extension 설치)
4. grunt test로 테스트 및 배포 시 grunt 명령어 실행
Front-End Develop - OffCanvas
Front-End Develop - OffCanvas
• common.css • common.js
1. Software Overall Structure
2. Front-End Develop
3. Back-End Develop
Back-End Develop
1. 개발환경
• MAC OSX
2. 서버 환경
• Digital Ocean
3. 사용기술
• Framework – Flask (Python 3.4)
• Main DataBase – MariaDB (10.0.15)
• Sub DataBase(1) - ElasticSearch (+ elasticsearch-analysis-korean)
• Sub DataBase(2) - Memcache
• Crawler – Python (Beautiful Soup 4.0)
4. 저장소
• Github : https://github.com/teheranslippers/curie-front
Back-End Develop - Crawler
1. Github: https://github.com/teheranslippers/Curie-Crawler
2. Python (Beautiful Soup 4.0)으로 제작
3. 크롤러는 크게 아래의 2가지 역할을 담당
1. getBeatMusicInfo.py: 음악 정보 수집
• 음악 정보(가수, 노래 제목, 앨범명, 앨범 이미지 URL)을 가지고 있는 특정 사이
트(Beat)에서 해당 정보들을 크롤링 해온다. 최종 결과물로 CSV 파일이 생성
된다.
2. getTrackIDs.py: 각 어플리케이션 별 Track ID 수집
• 음악 정보를 담고 있는 CSV 파일을 기반으로, 크롤러에게 가수/노래 제목/앨범
명을 입력으로 주면 음악 어플리케이션 별 (멜론, 벅스, 유튜브 등) Track ID를
수집한다. 수집된 Track ID는 바로 Database(MySQL)로 Insert 되어, 수집
되자마자 서비스에서 이용 가능하다.
Back-End Develop – Flask Framework Structure
1. Micro framework이기 때문에 전체구조를 직접 정의해야 하는 이슈
• Degital Ocean에서 작성한 Article을 참조하여 구조 정의
• https://www.digitalocean.com/community/tutorials/how-to-structure-
large-flask-applications
2. 동일 출처 정책과 관련된 이슈.
• CORS 적용 : http://flask-cors.readthedocs.org/en/latest/
Back-End Develop - ElasticSearch
1. RESTful 분산 검색엔진 http://www.elasticsearch.org/
2. Elastic Search Plug-in
• Head: http://mobz.github.io/elasticsearch-head/
• Elasticsearch-analysis-korean
• JDBC River Plugin: https://github.com/jprante/elasticsearch-river-
jdbc

3. 참고: elasticsearh로 로그 검색 시스템 만들기

http://helloworld.naver.com/helloworld/textyle/273788
Back-End Develop - MariaDB
1. https://mariadb.org/
2. 구조
Back-End Develop - MariaDB
- Data retrieving procedure



CREATE PROCEDURE `proc_get_app_links`(IN songid INT)
BEGIN
SELECT app.name,CONCAT(app.android_prefix, link.link_id, app.android_appendix)
AS android_deeplink, app.googleplay_url, CONCAT(app.ios_prefix, link.link_id,
app.ios_appendix) AS ios_deeplink, app.iTunes_url
FROM curie_finish.app_info AS app
INNER JOIN curie_finish.link_ids AS link
ON app.id = link.app_id
WHERE link.song_id = songid;
END
Back-End Develop - Memcached
1. http://memcached.org/



DB 레벨까지 내려가 데이터를 가져오는 것이 매우 큰 비용을 소모하기 때문에,

자주 검색되는(HIT) 결과에 대해 Memcached를 이용하여 캐싱을 진행함

2. Memcached Python3 Plug-in



https://github.com/eguven/python3-memcached/
Demo
Now we give a demonstration
http://tehranslippers.com/
Thank you
Tehranslippers
Software Maestro 5th

More Related Content

PDF
딥링크 기반의 앱 마케팅 플랫폼: 지글(Jeegle)
PDF
사업소개서 Ab180(공개버전)
PDF
LIG넥스원 근두운 기획 사례(2013)
PDF
Facebook Analytics for apps
PDF
2015 라이브리 소셜리포트 3월호
PDF
최신 SNS 마케팅 성공사례, 라이브리 하우 투 (2013년 7월)
PDF
[경기창조경제혁신센터] 앙뜨프리너십 Bootcamp Season.1
PDF
[Creatip] Blog marketing for your business
딥링크 기반의 앱 마케팅 플랫폼: 지글(Jeegle)
사업소개서 Ab180(공개버전)
LIG넥스원 근두운 기획 사례(2013)
Facebook Analytics for apps
2015 라이브리 소셜리포트 3월호
최신 SNS 마케팅 성공사례, 라이브리 하우 투 (2013년 7월)
[경기창조경제혁신센터] 앙뜨프리너십 Bootcamp Season.1
[Creatip] Blog marketing for your business

What's hot (10)

PDF
2014 F8: 페이스북 개발자 컨퍼런스
PDF
인스타그램 이용행태 분석 자료 :: Instagram for Business
PDF
Innobirds social weekly review vol.129
PDF
Seo_searchengineoptimization
PPTX
인스타그램을 효과적으로 사용하는 6가지 방법
PDF
포트폴리오 오경원
PDF
SEO_GETCHA_HANJUNG
PDF
2016 inma스터디 발표 자료
PDF
Innobirds social weekly review vol.86
PPTX
검색엔진 최적화 (SEO)의 과거,현재와 미래
2014 F8: 페이스북 개발자 컨퍼런스
인스타그램 이용행태 분석 자료 :: Instagram for Business
Innobirds social weekly review vol.129
Seo_searchengineoptimization
인스타그램을 효과적으로 사용하는 6가지 방법
포트폴리오 오경원
SEO_GETCHA_HANJUNG
2016 inma스터디 발표 자료
Innobirds social weekly review vol.86
검색엔진 최적화 (SEO)의 과거,현재와 미래
Ad

Similar to Curie: Deep-linking & App-indexing based mobile search engine (20)

PPTX
Big Data platform을 위한 Sencha Ext JS 사례.
PDF
[141]지난 1년간의 웨일 브라우저와 그 미래 (부제: 제품 매니저가 들려주는 생생한 기술/제품 이야기)
PDF
Sencha ExtJS를 활용한 Big Data Platform 개발 사례
PPTX
서비스 기획부터 런칭까지 과정 + 좋은 개발자가 되는 법!
PDF
Firefox OS의 현재와 미래 (2013)
PDF
OSS개발자 포럼 캠프
PDF
차세대 웹비즈니스를 위한 "HTML5"
PDF
The comprehensive guide for optimizing the performance of mobile HTML5 Web ap...
PDF
Front end dev 2016 & beyond
PDF
도구를 활용한 더 나은 웹 개발: Yeoman
PDF
한 번에 개발하는 안드로이드&iOS 앱 with 앱메소드
PDF
스마트링크 소개 - 특급 개발팀
PDF
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
PDF
서버학개론(백엔드 서버 개발자를 위한)
PPT
발표자료
PPT
Nutch Homepage Search Engine
PPTX
프론트엔드 개발자의 자바스크립트
PDF
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY
PDF
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
PDF
하이브리드 앱(Hybrid App)
Big Data platform을 위한 Sencha Ext JS 사례.
[141]지난 1년간의 웨일 브라우저와 그 미래 (부제: 제품 매니저가 들려주는 생생한 기술/제품 이야기)
Sencha ExtJS를 활용한 Big Data Platform 개발 사례
서비스 기획부터 런칭까지 과정 + 좋은 개발자가 되는 법!
Firefox OS의 현재와 미래 (2013)
OSS개발자 포럼 캠프
차세대 웹비즈니스를 위한 "HTML5"
The comprehensive guide for optimizing the performance of mobile HTML5 Web ap...
Front end dev 2016 & beyond
도구를 활용한 더 나은 웹 개발: Yeoman
한 번에 개발하는 안드로이드&iOS 앱 with 앱메소드
스마트링크 소개 - 특급 개발팀
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
서버학개론(백엔드 서버 개발자를 위한)
발표자료
Nutch Homepage Search Engine
프론트엔드 개발자의 자바스크립트
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
하이브리드 앱(Hybrid App)
Ad

Curie: Deep-linking & App-indexing based mobile search engine

  • 1. Curie / Musicurie Deep-Linking과 App-Indexing을 이용한 모바일 어플리케이션 검색 엔진 SW Maestro 과정 Team Tehran Slippers 류원경 남성필 엄두성 정헌재
  • 2. 목차 • 팀 소개 • 시장 배경 - 문제점 • 서비스 개요 • Deep-Linking? App-Indexing? • 주요 경쟁사 분석 • 비지니스 모델 • 목업 (가안) • Musicurie • Software Overall Structure • Front-End Develop • Back-End Develop
  • 3. 팀 소개 Dooseong EomHunjae Jung Wonkyung Lyu Sungpil Nam Wooseok Seo
  • 4. 시장 배경 - 문제점 • 오늘날의 검색엔진은 웹 상의 데이터만 보여 줄 수 있음 • 그러나, 전 세계적으로 웹 컨텐츠 생산량은 감소하는 반면, 모바일 컨텐츠 생산량은 증가하는 추세
  • 5. 시장 배경 - 문제점 • 따라서 검색엔진 사용자는 사용자 경험과 유익이 감소 • 검색엔진의 입장에서도 컨텐츠 감소에 따른 광고 수익 경감 문제 발생 • 앱 소유주(광고주)는 새로운 유저 유입을 위해 매우 비효율 적인 마케팅 자원 소비
  • 6. 서비스 개요 • 큐리(Curie)는 앱 인덱싱(App Indexing)과 딥 링킹(Deep Linking) 기술을 이용해 모바일 앱 내부의 데이터를 사용자 들이 검색할 수 있고, 또한 바로 실행할 수 있도록 해주는 신 개념 검색엔진
  • 7. Deep-Linking? App-Indexing? • Deep-Linking: 앱 내부의 고유 컨텐츠 자원에 대한 링크
 (http://en.wikipedia.org/wiki/Mobile_deep_linking) • 가령, Facebook 앱의 경우 ‘fb://' 프로토콜로 시작되어 ‘fb:// profile/1781740177' 등과 같이 특정 자원에 바로 접근할 수 있게 됨
  • 8. Deep-Linking? App-Indexing? • App-Indexing: 모바일 앱에 있는 컨텐츠 자원들을 색인화 하여 Deep-Link를 통해 외부에서 접근 가능하도록 하는 것
  • 9. How to find Deep-Link URL? - 웹 서비스(크롬 개발자 도구에 서 모바일 버전으로 접속)에 들어가서, 노래 재생 버튼을 눌렀을 때 모바일 어플리케이 션으로 넘어가는지 확인한다. - 만약 어플리케이션으로 넘어 가서 정상적으로 노래가 재생 되면, 어플리케이션에 deep link가 구현되어 있는 것이므 로, Deep link URL을 찾을 수 있을 거라 기대해도 좋다.
  • 10. How to find Deep-Link URL? - 크롬 개발자 도구를 이용하여, 재생버튼을 눌렀을 때 어떤 함수가 실행되는지 확인해보면, 최종적으로 위와 같이 deep link url을 포함하고 있는 함수를 발견할 수 있다.
  • 11. 주요 경쟁사 분석 번호 이름 주요 서비스 설명 투자 금액 및 매출액 1 Quixey (http://www.crunchbase.com/ organization/quixey) 앱 검색 API를 개발하고 있는 기업으로 현재 Quixey 안드로이드 어플을 북미 시장에 출시 한 상태이다. 이 어플은 모바일 기기 내부의 어 플들의 기능들을 쉽게 검색해서 사용할 수 있 도록 해준다. 총 10개의 투자사로부터 5번의 라운드를 통해 약 760억 원($750M) 유치 2 URX (http://www.crunchbase.com/ organization/urx) 앱 검색 API를 개발하고 있는 기업으로, 자연 검색, 소셜미디어, 이메일, 푸시메시지, 광고 리타게팅 등 다양한 분야에 당사의 검색 API 를 응용하고 있다. 총 34개의 투자사로부터 3번의 라운드를 통해 약 160억 원($15M) 유치 3 Branch Metrics (http://www.crunchbase.com/ organization/branch-metrics) 특정 딥링크를 통한 앱 설치 시, 핑거프린팅 기 술을 통해 앱 설치 이후에 회원가입 이후에도 바로 맥락에 맞는 랜딩페이지로 이동시켜주는 기술. 총 3개의 투자사로부터 1 번의 라운드를 통해 약 30억 원($3M) 유치
  • 12. 비즈니스 모델 • 기술을 활용한 엔드포인트 서비스를 통해 수익 창출
 
 기존 웹 검색엔진과 유사한, 검색 결과에 대한 특정 모바일 어플 리케이션으로의 트래픽 전달에 대한 광고 수익 모델 • DB 축적 및 엔진 개량을 통한 자산 확보 
 
 추후 App-Indexing 맥락과 사용자 흐름에 따라 맞춤형 광고 노 출로 CTR, 전환율, 서비스 체류 기간을 획기적으로 증가시키도 록 함. 더 나아가 자연어 검색, 소셜 미디어, 이메일, 푸시 메시지, 광고 리타게팅 등을 통해 광고 채널을 더 풍부하게 하는 것이 목 적.
  • 15. 1. Software Overall Structure 2. Front-End Develop 3. Back-End Develop
  • 16. 1. Software Overall Structure 2. Front-End Develop 3. Back-End Develop
  • 18. 1. Software Overall Structure 2. Front-End Develop 3. Back-End Develop
  • 19. Front-End Develop 1. 개발환경 • MAC OSX 2. 사용기술 • Build Tool – Yeoman, Bower, Grunt • MVC Framework – Angular.js –v 1.3.0 (animate, aria, 
 material, route) • jQuery –v 2.1.3 3. 개발도구 • SublimeText 4. 저장소 • Github : https://github.com/teheranslippers/curie-front-angular
  • 20. Yeoman + Grunt + Bower • Yeoman: AngularJS, 웹앱 개발에 필요한 여러 구성요 소들을 초반에 단 하나의 커맨드로 세팅해주며, 부트스트 래핑을 도와주는 도구. • Grunt: SCSS 컴파일, Minify, Auto loading 등 다양한 작업들을 자동화시켜줘서 개발 및 배포 시 빠른 시간안에 특정 태스크를 수행할 수 있도록 해주는 도구. • Bower: 개발 시 사용하는 다양한 써드파티 라이브러리들 의 버전 및 상호의존성을 관리해주고, 쉽게 설치할 수 있 도록 해주는 도구.
  • 21. Yeoman 활용 예시 1. yo angular로 angular 세팅 2. bower install로 써드파티 의존성 체크 3. grunt serve 개발 시 명령어 실행
 (Chrome LiveReload extension 설치) 4. grunt test로 테스트 및 배포 시 grunt 명령어 실행
  • 22. Front-End Develop - OffCanvas
  • 23. Front-End Develop - OffCanvas • common.css • common.js
  • 24. 1. Software Overall Structure 2. Front-End Develop 3. Back-End Develop
  • 25. Back-End Develop 1. 개발환경 • MAC OSX 2. 서버 환경 • Digital Ocean 3. 사용기술 • Framework – Flask (Python 3.4) • Main DataBase – MariaDB (10.0.15) • Sub DataBase(1) - ElasticSearch (+ elasticsearch-analysis-korean) • Sub DataBase(2) - Memcache • Crawler – Python (Beautiful Soup 4.0) 4. 저장소 • Github : https://github.com/teheranslippers/curie-front
  • 26. Back-End Develop - Crawler 1. Github: https://github.com/teheranslippers/Curie-Crawler 2. Python (Beautiful Soup 4.0)으로 제작 3. 크롤러는 크게 아래의 2가지 역할을 담당 1. getBeatMusicInfo.py: 음악 정보 수집 • 음악 정보(가수, 노래 제목, 앨범명, 앨범 이미지 URL)을 가지고 있는 특정 사이 트(Beat)에서 해당 정보들을 크롤링 해온다. 최종 결과물로 CSV 파일이 생성 된다. 2. getTrackIDs.py: 각 어플리케이션 별 Track ID 수집 • 음악 정보를 담고 있는 CSV 파일을 기반으로, 크롤러에게 가수/노래 제목/앨범 명을 입력으로 주면 음악 어플리케이션 별 (멜론, 벅스, 유튜브 등) Track ID를 수집한다. 수집된 Track ID는 바로 Database(MySQL)로 Insert 되어, 수집 되자마자 서비스에서 이용 가능하다.
  • 27. Back-End Develop – Flask Framework Structure 1. Micro framework이기 때문에 전체구조를 직접 정의해야 하는 이슈 • Degital Ocean에서 작성한 Article을 참조하여 구조 정의 • https://www.digitalocean.com/community/tutorials/how-to-structure- large-flask-applications 2. 동일 출처 정책과 관련된 이슈. • CORS 적용 : http://flask-cors.readthedocs.org/en/latest/
  • 28. Back-End Develop - ElasticSearch 1. RESTful 분산 검색엔진 http://www.elasticsearch.org/ 2. Elastic Search Plug-in • Head: http://mobz.github.io/elasticsearch-head/ • Elasticsearch-analysis-korean • JDBC River Plugin: https://github.com/jprante/elasticsearch-river- jdbc
 3. 참고: elasticsearh로 로그 검색 시스템 만들기
 http://helloworld.naver.com/helloworld/textyle/273788
  • 29. Back-End Develop - MariaDB 1. https://mariadb.org/ 2. 구조
  • 30. Back-End Develop - MariaDB - Data retrieving procedure
 
 CREATE PROCEDURE `proc_get_app_links`(IN songid INT) BEGIN SELECT app.name,CONCAT(app.android_prefix, link.link_id, app.android_appendix) AS android_deeplink, app.googleplay_url, CONCAT(app.ios_prefix, link.link_id, app.ios_appendix) AS ios_deeplink, app.iTunes_url FROM curie_finish.app_info AS app INNER JOIN curie_finish.link_ids AS link ON app.id = link.app_id WHERE link.song_id = songid; END
  • 31. Back-End Develop - Memcached 1. http://memcached.org/
 
 DB 레벨까지 내려가 데이터를 가져오는 것이 매우 큰 비용을 소모하기 때문에,
 자주 검색되는(HIT) 결과에 대해 Memcached를 이용하여 캐싱을 진행함
 2. Memcached Python3 Plug-in
 
 https://github.com/eguven/python3-memcached/
  • 32. Demo Now we give a demonstration http://tehranslippers.com/