다양한 정보를 바탕으로 '검색 추천어'를 개발하고 있다.


지표 정보를  read_pv, read_uv, wirte_pv, write_uv, writer_uv 로 나누어 저장하고,

각 정보에 대한 가중치를 곱해 100점 만점의 점수표로 추천 검색의 순서(rank)를 정했다.


ES + R + MariaDB + java + python(hive) 로 진행하고 있다.


추가할 부분은 Time Decay에 대한 부분인데, 특정 지표에 대해서는 최신 데이터일수록 높은 가중치를 주는 방식으로 변경해 보았다.



(출처: https://www.borntosell.com/covered-call-blog)


이를 위한 참조 자료로 반감기(http://egloos.zum.com/taniguchi/v/2588675)를 참고로 해서 EXP 또는 ARCTAN 또는  Log 함수로 대충 느낌을 느낌을 낼 수 있다. (그냥 대충 숫자로 가중치 주는 것이 웃긴다.)  함수로 표현하기 위해서 https://www.desmos.com/ 를 사용한다. 그래프의 저장은 구글 계정으로 인증하면 구글 드라이브로 저장을 할 수 있다.


또한 논리적인 개념이 필요하니, http://docs.likejazz.com/k-ranker/ 블로그 글을 참조하여 나름 rank 시스템을 만들어보았다. 좀 더 다듬고 남이 어떻게 하는지 좀 보고 보정 작업을 진행할 예정이다. 





Posted by '김용환'
,


(숫자) 미만이라는 단어를 사용할 때, 

그동안 나는 Below than 이라는 콩글리쉬를 자주 썼었다.


영어 책을 보다가, Fewer than이라는 내용을 보았다. 잘 기억하고 있어야겠다.

(숫자) 이상은 Above 이다.


  • Fewer than (Less than) 100 kilometers
  • From 100 to 200 kilometers
  • From 200 to 500 kilometers
  • From 500 to 1000 kilometers
  • Above 1000 kilometers


Posted by '김용환'
,



google place api 를 테스트해보니, 특이한 점이 있다.


즉, 언어별로 검색 결과가 많이 또는 미묘하게 다른 점이 있다.


새로 추가된 autocomplete도 마찬가지이다.



재미있는 사례는 트레비 분수(trevi fountain)이다. 


ko 기반으로 trevi 검색하면 trevi fountain이 가장 먼저 나오는 검색어지만, 

en 기반으로 trevi를 검색하면 trevi fountain은 4번째로 나온다.




ko 기반, 한글로 '트레비 분수'로 검색하면 첫 번째만 트레비 분수 이고, 나머지는 나머지 19개는 호텔로 결과가 나온다.

호텔 랭킹(rate)까지 나온다. (이렇게 나오는 것은 에펠탑이다.)


en 기반, 영어로 'trevi fountain'으로 검색하면 호텔 뿐 아니라, 트레비 분수 근처의 정보도 보여준다.


즉, 언어별로 사용자가 원하는 데이터가 다르게 나온다. 

한국 사람들은 사랑하는 지역 poi 검색시에는 호텔이 많이 나오는 것 같았다. 한국인을 위한 사용자 정의 설정인 듯 싶다. (구글 코리아가 이런 일을 하는 건가...)


그리고, place api가 상당히 느린 편이다.(700ms ~ 1.2s)






'scribbling' 카테고리의 다른 글

Time Decay 측정 (부제: 추천 시스템 개발)  (0) 2015.07.17
~ (숫자, 단위) 이하를 영어로  (0) 2015.07.10
[펌] 서버 하드웨어 모니터링  (0) 2015.05.28
[펌] 글쓰기는?  (0) 2015.05.10
'땡큐 대디'의 명대사  (0) 2015.05.06
Posted by '김용환'
,


하드웨어 모니터링

(출처 : http://docs.cumulusnetworks.com/display/CL22/Monitoring+System+Hardware)



You monitor system hardware in these ways, using:

  • decode-syseeprom
  • sensors
  • smond
  • Net-SNMP


Commands

  • decode-syseeprom
  • dmidecode
  • lshw
  • sensors
  • smond





Posted by '김용환'
,

[펌] 글쓰기는?

scribbling 2015. 5. 10. 01:53



"글쓰기는 높은 수준의 집중력을 요구하는 두뇌 활동입니다." - 유시민 



출처

http://m.newsfund.media.daum.net/episode/680





저에게는  글쓰기는 진짜 어려운 것 같습니다. 매번 쓸 때마다 좌절하고 또 좌절합니다. 

사실 글쓰기가 어렵기 보다는 생각의 흐름을 세밀하게 분석하고 그것을 글로 담는 과정이 어려운 것 같습니다.

하지만, 계속 노력하다 보면 저의 생각을 제대로 잘 전달할 수 있는 기회로 여기고 계속 잘 써보겠습니다.

Posted by '김용환'
,
8년 전에 철인 아버지와 몸이 아프지만 철인의 생각을 가지고 아들의 뉴스와 동영상을 본 적이 있다.







 



소방관의 부인이 소방관 남편에게 한 말.
'세상을 구하기 전에 아들부터 구해'




Posted by '김용환'
,

line develop day 2015

scribbling 2015. 4. 29. 15:59



어제 도쿄에서 line developer day 2015가 있었다.

라인이 발표자료는 공개하지 않는 스타일인데, 일본 사람들의 모아놓은 정보는 아래 정보가 있다. 


http://togetter.com/li/814097


한국에서 진행한 라인 개발자 데이와 내용은 비슷하다. 오히려 한국 개발자 데이의 내용이 좋았던 것 같다. 

Posted by '김용환'
,




FIFA2014 홈페이지의 스트리밍 서비스를 담당했던 한 브라질의 회사(http://globo.com)의 서버 아키텍처가 공개되었다. globo 라는 회사가 오픈 소스를 많이 하는 회사이다. (https://github.com/globocom). 처음 보는 회사인데, 대단!!!



FIFA2014 홈페이지의 스트리밍 서비스를 소개한다.


python /rails  + nginx(lua) + redis + cassandra를 활용했다. 




출처 


Cassandra(앞 단에는 redis를 활용) 와 Nginx을 적절히 활용했다.

 


보통 한국의 스트리밍 서비스는 MS 제품을 활용하는데, 이 회사는 evostream 제품(현재는 오픈소스 화, https://github.com/arut/nginx-rtmp-module)을 활용해서 구현했다. 


재미있는 것은 cassandra 성능 관련해서 client에서 타임아웃을 발생하는 시점에 성능이 너무 안나와서 몇가지를 튜닝했더니. 99%의 요청에 대해 10ms 이하로 나왔다고 한다. read latency 체크는 cassandra-graphite plugin(http://www.datastax.com/dev/blog/pluggable-metrics-reporting-in-cassandra-2-0-2)를 활용했다.

 

1. 데이터를 쪼개고(denormalize),

2. level compaction strategy(

http://www.datastax.com/dev/blog/leveled-compaction-in-apache-cassandra )를 적용하고,

3. durable_writes를 false로 변경 

4. start column 사용 (기존에는 몽땅 가져오는 구조였던 것 같음)

5. SSD 사용




그리고, nginx에 lua script를 사용해서 cassandra 에 붙여서 사용했다.


player는 https://github.com/clappr/clappr 를 사용했다. 





지역별 모니터링은 logstash와 elasticsearch를 활용했다.





아키텍처 발표자료가 있다. 스페인어로 되어 있지만, 그럭저럭 볼 수 있다. 


Fisl15 Streaming de vídeo ao vivo na globo.com from leandro_moreira



좋은 자료

http://planetcassandra.org/blog/interview/globo-rewinds-redis-for-their-dvr-system-fast-forwards-to-apache-cassandra-for-increased-availability/




'scribbling' 카테고리의 다른 글

'땡큐 대디'의 명대사  (0) 2015.05.06
line develop day 2015  (0) 2015.04.29
졸트 어워드 (Jolt Award) 2014 - Best Books  (0) 2015.04.22
졸트 어워드 (Jolt Award) 2015 - 코딩 툴  (0) 2015.04.22
[좋은 영화 대사] 킹스맨  (0) 2015.03.29
Posted by '김용환'
,



2014년 말에 졸트 어워드 상을 받은 개발자 책 리스트


http://www.drdobbs.com/joltawards/jolt-awards-the-best-books/240169070


1. Automate With Grunt 


2. Rethinking the Internet of Things


3. Threat Modeling


4. Single Page Web Applications: JavaScript End-to-End


5. Programming: Principles and Practice Using C++, 2nd Edition


6. Python in Practice




Posted by '김용환'
,


2015년 졸트 어워드 를 받은 코딩 툴  6개


http://www.drdobbs.com/joltawards/jolt-awards-2015-coding-tools/240169420



1. Xcode 6.1


2. Light Table


3. Visual Studio 2013 Update 4


4. Xarmarin 3


5. Intellij IDEA 14


6. Cloud 9




Posted by '김용환'
,