(maven) jar-dependency 복사하기

필자의 경우 자바 서버쪽에서 java -jar 로 만든 jar 파일을 만드는 경우가 있는데 그때에 maven 으로 연동한 라이브러리들을 모두 가지고 있어야 제대로 구동이 된다. 때문에 pom.xml 에 다음의 부분을 추가해서 jar 를 만들고 target/lib 에 연동된 라이브러리들을 배치(복사) 하도록 해야 한다.  이렇게 하고 나면 target 에 jar파일과 함께 lib 폴더가 생기게 된다.… Read More

(Java) Thread, Runnable 콜백함수

최근에 자바 네트워크 관련 책을 보고 있는데(조금 옛날책) 스레드에 관련된 내용이 나와서 정리한다. 이전에 ExcutorService 에 대해서 썼을때는 Runnable 의 run()함수가 void 형을 리턴하도록 되어 있기 때문에 결과 값을 받을수 없다고 설명했었는데, 이 책에서는 콜백 함수를 이용해서 각 스레드의 결과를 받을수 있다고 설명하고 있다.  그전에 폴링(polling) 방식에 대해서 설명을 하자면, 이건 스레드내… Read More

(Java) RSS 파싱 라이브러리 ROME

(adsbygoogle = window.adsbygoogle || []).push({}); RSS 파싱 작업을 물론 하위단계 부터 다 구현을 할려고 하면 할수 있겠지만, 바야흐로 오픈소스의 시대. 그리고 자바라는 언어에서 기능을 구현하는데, 찾아보지 않는다는것은 죄악이라는 생각에 찾아보니 ROME 이라는 것이 있다. 사실은 Jakarta FeedParser 라는 것이 있는데 dormant(휴식기) 상태인것 같다. 다운로드나 maven 주소가 없는 상태이다. 자바캔 : http://javacan.tistory.com/entry/ReadRSSAtomFeedUsingROME… Read More

(espressoOtr) Canister/Shelfer 소개

Canister shelfer from SeonyHyun AhnespressoOtr 에는 Canister/Shelfer 라는 데이터 구조(클래스)가 있다. 위의 설명은 영어로 써서 잘 이해가 안될수도 있는데 간단하게 말하자면 문자열(String)을 위한 구조이다. 그런데 문자열을 제일 앞글자를 기준으로 n 개의 Canister 라는 클래스로 나누어서 저장을 하는것이다.  이렇게 나누어서 저장을 하는 가장 큰 목적은 바로 탐색시 적은 수의 데이터를 대상으로… Read More

(espressoOtr) DateTime wrapping 작업

개인적으로 여러가지 데이터 형이 있겠지만 가장 쓰기 불편하고 짜증나는 형은 단연 날짜와 시간에 대한 데이터 형식인 Date(Java 기준, 다른 언어도 크게 다르지 않다.) 일것이다. wrapping 작업을 하는 이유는 사실 우리가 날짜 와 시간 관련 작업을 할때 하는 작업이 그리 다양하지 않다는 가정에서 출발했다. 실제로 내가 가장 필요했던 것은 현재 날짜/시간을 Date 형식 혹은… Read More

(espressoOtr) jericho parser를 이용한 HTMLExtractor

HTML 파싱은 이제 어떤 서비스와 연동할때 필수적인 부분이 되었다. 그래서 쉽게 쓸수 있게 클래스화 해두면 좋은것 같아서 개인적으로 만들고 있는 espressoOtr 이라는 자바 라이브버리에 jericho parser 를 이용해서 HTMLExtractor 클래스를 만들었다. jericho 파서는 자바기반 html parser 인데 쉽게 쓸수 있도록 되어 있다. espressoOtr 라이브러리에서는 다음과 같이 자주 사용하는 부분에 대해서 jericho 파서를 이용해서 util 클래스를… Read More

(JSP) 간단 OpenAPI 만들기

앱 작업을 하다 보면 서버에서 해주었으면 하는 작업들이 있다. 특히 아이폰 앱의 경우 애플 심사가 최소 일주일의 경우가 많기 때문에 파싱하는 부분이나 연동하는 외부 API가 변경되는 경우 아이폰 앱내에서 해당 코드가 있으면 변경을 하더라도 사용자가 다시 본래의 기능을 쓰려면 시간이 오래 걸린다.  내가 원하는건 단 한가지였다. HTTP GET 방식으로 어떤 데이터를 전달하면 그에 따른 응답을… Read More

[후기] 제 13회 JCO를 다녀와서

자바 개발자는 JCO를 다녀와야 하는가? 하는 물음을 가지고 있었다. 작년에 나는 전업 자바 개발자가 아니였기 때문에 JCO 를 가는 동료들을 바라보면서 굳이 갈 필요가 있을까 하는 생각을 가지고 있었다. Deview 와는 다르고 개인적으로 자바라는 언어는 어느정도 완성된 언어라는 느낌이 들었다. 더 새로울게 있을까 하는 느낌? 그렇지만 올해 내가 처음 참가한 JCO의 느낌과 내용을 쓰려고 한다.… Read More

(Java) mybatis 기본 사용 정리

(adsbygoogle = window.adsbygoogle || []).push({}); 필요 라이브러리 – mybatis-3.1.1.jar – mysql-connector-jara-5.1.22-bin.jar db.propertise 작성 – 데이터베이스 연결 정보가 담긴 파일 생성 – 아래의 내용은 mysql을 대상으로 작성된것임 driver=com.mysql.jdbc.Driver url=jdbc:mysql://127.0.01:3306/test username=ash84 password=xxxxxx mybatisConfig.xml 작성 – 이 파일이 중요한 이유는 mybatis 에서 SqlSessionFactory… Read More

(Java) ExecutorService, Thread 를 이용한 스레드 사용

자바 프로그래밍을 하면서 스레드를 자주 사용하는 편인데, 아무래도 속도가 안나오면 데이터를 많이 처리하는 부분에서 병렬처리를 하는 것이 가장 첫 번째로 생각할 수 있는 처리속도의 향상 방법이라고 할수 있겠다. Thread 객체를 사용하는 방법과 ExecutorService를 사용하는 방법이 있는데, 필자는 주로 각각 다른 작업을 병렬로 해야하는 경우에는 Thread-Runnable 조합을 이용하고, 같은 작업을 여러개로 나눠서 처리한 뒤 결과를 모아서… Read More