본문 바로가기

나는개발자다

elasticsearch와 couchdb 연동 책 보고 처음 작업하는것이다. 내용이 불만족스럽지만 일단 정리먼저.. 전체 구조를 보면 elasticsearch -> couchdb에 주기적으로 폴링한다. elasticsearch index 생성은 couchdb에 있는 http://localhost:5982/dbname/_change의 내용을 가지고 만든다. 1. elasticsearch, couchdb 설치.. 더보기
아마존 상품 검색 API 연동하는 방법. 아마존 상품검색 API 연동하는 방법이다... 까다롭지는 않지만 힘들다. 입력값 하나 하나 조절 잘 해야 한다. 큰 그림을 설명하면 API는 product advertising API이다.API를 사용하기 위한 필수 값은 access key, access security key, associate tag 이 세개이다. 이 것을 알기 위해 먼 길을 돌고 돌았다. 1. 계정 등록. - 계정 만들 때 visa등의 카드가 필요하다. - 주소 입력 할 때 정확하게 필드를 잘 채운다. - 제대로 등록하지 않으면 사용정지 계정이라 나오면서 중요한 KEY값 변경을 하지 못한다. 2. 계정 등록 후 Access key , Access Security Key 생성 - Ssecurity CreDentials 를 선택 Con.. 더보기
ubuntu에 oracle java 설치 방법 ( apt-get 이용 ) 1. OpenJDK 삭제$ sudo apt-get purge openjdk* 2. repository 추가$ sudo add-apt-repository ppa:webupd8team/java 3. repository 업데이트$ sudo apt-get update 4. JDK 설치 - Java 8 $ sudo apt-get install oracle-java8-installer - Java 7 $ sudo apt-get install oracle-java7-installer 더보기
intelliJ에서 Clojure 개발하기 Intellij에서 제공하는 plug-in(La Clojure) 대신 http://cursiveclojure.com/에서 제공하는 plug-in이 더 편하고 기능이 좋다. Intellij 13 기준으로 이다. 1. Plug-in 설치. Setting - Plugin - Manage Repositories - +버튼 클릭http://cursiveclojure.com/plugins.xml for IntelliJ 12http://cursiveclojure.com/plugins-13.xml for IntelliJ 13http://cursiveclojure.com/plugins-13.1.xml for IntelliJ 13.1 Repositories 등록 완료가 되면 cursive가 목록에 보이게 된다.오른쪽 클릭.. 더보기
Cloudand에서 비밀번호 주의사항. 비밀번호에 특수문자를 입력하게 되면 로그인 및 DB 연결에 문제가 발생한다. 1. 로그인 후 개인정보 수정에 못 들어갈 수 있다. 수정되어 있을 수 있다. 2. db 계정 연동 실패 cloudandt에서 db 계정 연결하는 방법을 보면 https://latte:password@latte.cloudant.com/dbname cloudand에서 password 처리할 때 특수문자때문에 에러가 날 수 있다. 예측하기론 fdaf3232#4242#r343242@cloudand.com 어쩌구 저쩌구 하면서 있는데 # 키를 기준으로 id password를 나누는데... 이부분때문에 에러가 나는 듯 하다. 더보기
couchDB view 만들 때 주의점. couchDB에서 view를 만들 때 반드시 주의할 점이 있다. 말도 안 되는것때문에 뻘짓거리 많이 한다. 1. 특수문자 보통 user-id 나 user_id 라고 db의 컬럼 이름을 정의하는데 user-id는 view 조회에서 실행되지 않는다. 현재 TEST용 view 소스이다. { "_id": "_design/views", "_rev": "3-391ab363e9d091c048b5362466a15726", "views": { "user-id": { "map": "function(doc) {\n if(doc.user-id){\n emit(doc.user-id, doc);\n }\n}" }, "client": { "map": "function(doc) {\n if(doc.client){\n emit(doc.. 더보기
나의 최초의 clojure 코드.... clojure에서 cluch lib를 사용해서 cloudant를 호출 하는 코드이다. 더보기
gwt label에서 text에 맞게 label width 조절하기. final Label lbl = new Label("0"); Scheduler.get().scheduleDeferred(new ScheduledCommand() { @Override public void execute() { int length = lbl.getElement().getClientWidth()-16; lbl.setWidth(length+"px"); System.out.println(length+"px"); lbl.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER); } }); 핵심은 Scheduler부분이다. label에 글자수에 따라 lbl.getElement().getClientWidth()의 값1개 : 322개 : 463개 : 5.. 더보기
vmware에서 arrow key가 작동하지 않는 경우. sudo dpkg-reconfigure console-setup 중요한 점은 먼저 키보드의 화살표가 작동하지 않는다. 하지만 키 패드의 화살표는 작동한다. 키패드의 화살표를 이용해서 아래 것을 하나 하나 선택하면 된다. Generic 102-key (intl ) PC USA as origin of keyboard USA as keyboard layout No AltGr No Compose key Enter for the rest of the defaults. vi editor에서 문제가 발생한다.vim을 사용해서 edit하면 된다. 더보기
MySql procedure transaction 한 3시간 삽질했다.DB가 transaction이 안 되는 문제가 있다니.. 문제는 mysql engine의 다양성때문이다. 대표적으료MyISAM, InnoDB가 있다. 이 외 몇 가지 DB Engine이 있지만 오로지 InnoDB만 Transaction을 지원한다. 1. 현재 지원하는 engine 보는 방법show engines; 2. table에서 사용하는 engine 확인show table status where name='table_name'; 3. engine 변경하기.alter table table_name engine=innodb; 더보기