본문 바로가기

Computer

jquery 이용해서 키보드 입력시 input에 포커스 설정 및 블록 선택하기 123456789101112131415161718192021 $is_focused = false; $("body").keydown(function() { $("#query_input").focus(); }); $("#query_input").focus(function() { if($is_focused == false) { this.select(); $is_focused = true; }; }); $("#query_input").focusout(function() { if($is_focused == true) { $is_focused = false; }; });Colored by Color Scriptercs 더보기
ArrayList를 List로 선언하는 이유 List terms = new ArrayList(); 이렇게 선언해야 한다. 왜? List는 인터페이스ArrayList는 List의 구현체로 볼 수 있다. 그렇다면, 좀 더 큰 개념으로 선언해서 사용하는것인데... 그 이유는 다형성(polymorphism)의 개념으로 이해할 수 있다.List 인터페이스는 여러가지 구현체로 변경될 수 있는 형태이고,ArrayList는 List 인터페이스의 구현체 중 하나이다. 이 때, List로 선언해서 사용하면 차후에 다른 구현체로 변경하고자 할 때, 실제로 구현체를 이용하는 세부 코드(?)만 변경해 줄 수 있다. (반대로, ArrayList = new ArrayList()로 선언했다면 ArrayList로 선언한 모든 부분을 찾아 변경해줘야 한다.) 이런 부분이 다형성의.. 더보기
elasticsearch thread pool http://www.elastic.co/guide/en/elasticsearch/reference/1.x/modules-threadpool.html node는 thread memory consumption의 관리를 위해 several thread pools을 가진다.이 pool들은 queues를 가지고, request를 폐기하는대신 대기할 수 있다. index : fixed # of available processors, queue_size of 200search : fixed 3x # of available processors, queue_size of 1000suggest : fixed # of available processors, queue_size of 1000get : fixed # of av.. 더보기
hdfs 파일 라인 수 계산하기 일단 내가 아는 방법 hadoop fs -cat | wc -l 이렇게 세면 한참 걸린다... 그래서 찾아본 방법 1. MR로 라인 수 계산하고, $HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/hadoop-streaming.jar -Dmapred.reduce.tasks=100 -input -output -mapper /bin/cat -reducer "wc -l" 이렇게 하면 MR을 사용해서 라인을 계산하게 된다.이렇게 계산된 파일은 local로 다시 받아와서, awk를 이용해서 계산하면 된다. 2. hdfs 상에 계산된 파일을 local로 복사hadoop fs -getmerge 3. awk 이용해서 최종 결과 출력awk '{s += $1}END { print s }' 참고: ht.. 더보기
doc values http://www.elastic.co/guide/en/elasticsearch/guide/current/doc-values.html 인덱스 시점에 disk에 in-memory fielddata를 저장하는 방법doc value는 in-memory fielddata에 비해 10~25% 느리다.하지만, 2가지 장점이 있다.1) heap memory 대신 disk에 있다. 더 적은 heap을 사용할 수 있고, gc의 속도를 향상 시킬 수 있고, 일관성과 노드의 안정성을 향상 시킬 수 있다.2) doc values는 index time에 빌드된다. trade-off는 larger index size와 약간 느려진 fielddata access이다.doc values는 상당히 효율적이다. 그래서 많은 querie.. 더보기
eager, eager global ordinals http://www.elastic.co/guide/en/elasticsearch/guide/current/preload-fielddata.html ES는 기본적으로 fielddata를 lazily load 한다.ES는 particular field에 fielddata가 필요한 query가 생기면, 전체 field를 각 index의 segement에 대해 메모리로 load한다. 작은 segments에서는 이 시간이 별로 안 걸리지만, 5GB segments는 10GB fielddata를 메모리로 올려야 한다. 이 과정은 수십초가 걸린다. 지연에 대비할 수 있는 3가지 방법이 있다.1) Eagerly load fielddata2) Eagerly load global ordinals3) Prepopulate .. 더보기
Field data Field data: http://www.elastic.co/guide/en/elasticsearch/reference/1.4/index-modules-fielddata.html field data cache는 주로 field에 대해 sorting 또는 faceting에 사용된다.그것은 value에 문서기반으로 빨리 접근할 수 있도록 field values은 메모리로 읽는다.field data cache는 비용이 많이 들 수 있다. 그래서 충분한 메모리를 사용할 수 있을 때 있을 때 추천되고, 그것은 load를 유지한다. field data cache에서 사용할 메모리 크기는 indices.fielddata.cache.size에서 설정할 수 있다.참고로, cache가 적절하지 않다면 field data를.. 더보기
english pos tagger english pos tagger 찾기 NLP 역사가 오래된 만큼, 여러 tagger 들이 존재한다. http://aclweb.org/aclwiki/index.php?title=POS_Tagging_(State_of_the_art) 여기에 잘 정리되어 있다.몇멏 tagger에 대해 테스트 해 볼 예정이다. 더보기
git tag 내가 기록하고 싶은 내용은 git에서 tag 리스트 확인, tag 삭제, tag 원격 삭제이다. 일단... - tag 리스트 확인$ git tag -l - tag 삭제$ git tag -d tag명 - tag 원격 삭제$ git push origin :refs/tags/tag명 끝. 더보기
git color 설정하기 git config --global color.ui true 아주 간단한데... 매번 잊어버려서... 이렇게 블로그에 정리한다. 출처 : http://git-scm.com/book/ko/v1/Git%EB%A7%9E%EC%B6%A4-Git-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0 더보기