본문 바로가기

반응형

java

ubuntu-eclipse-tomcat7 개발 환경 구성하기 - 1.oracle jdk 설치 간만에 웹 개발을 할 일이 생겨서 Xubuntu(Ubuntu with xfce4) 에 eclipse 와 tomcat7 을 설치하여 개발환경을 구성하고 있었는데 중간에 tomcat7에서 정상적으로 작동하지 않았습니다. 그래서 구글링 결과를 정리하여 올립니다. 1. java 설치하기 - openjdk 를 사용하지 않고 oracle java7을 사용할 것입니다. 아래 명령어를 터미널에서 순차적으로 실행하여 oracle java 를 설치합니다. oracle java 는 라이센스때문에 기본 우분투 저장소에는 open java 밖에 없습니다. 그래서 최신버전의 oracle java를 손쉽게 설치할 수 있는 저장소를 등록하고 그곳에서 설치를 하는 방식입니다. sudo add-apt-repository ppa:webu.. 더보기
[JSON] Simple Json 오브젝트 생성과 파싱 (Create JSonObject and Parsing) 오랜만에 글을 씁니다. 이번에는 Json 라이브러리중에 Simple Json 라이브러리를 이용하여 JsonObject 를 생성하고 Json 문자열을 생성하여 데이터 전달, 이후 다시 받은 문자열을 JsonObject로 가공하기 전의 데이터로 되돌리는 방법을 알아 봅니다. json-simple 프로젝트는 http://code.google.com/p/json-simple/ 에서 진행중입니다. 소스와 컴파일된 라이브러리등을 구할 수 있습니다. 이번에 json-simple을 사용한 이유는 결제시스템에서 데이터를 LinkedHashMap으로 가공하여 사용하는데 이를 보관하는 용도로 text 타입의 데이터가 필요하였습니다. 하여 데이터 클래스(가변적입니다. 고정적인 데이터가 아니고)를 text로 Serializat.. 더보기
jar 파일 내의 이미지 파일 로딩 실패에 관하여... eclipse에서 실행할 때는 참 로딩이 잘되던 것이 jar 파이로 배포하고 실행하려고 하면 이미지 위치를 못 찾는다? 웹을 검색해보신 분들은 잘 아시겠지만... 10여개의 글을 읽었는데 답답하더군요.. 되는게 하나도 없으니.. 자.. 하나만 기억하면 됩니다. '사용자가 생성한 폴더는 자동으로 리소스로 잡히지 않는다. 이걸 리소스라고 꼭 설명해줘야 한다.' 입니다. 다음 이미지를 보십시다. 주황색으로 표시된 부분을 살펴보면 우선 왼쪽은 img 폴더 밑에 logo.png 라는 이미지가 보입니다.오른쪽에서는 이미지를 로딩하는데 폴더명을 제외하고 파일명만 써놨네요?? 하지만 정상적으로 이미지를 로딩하고 프로그램이 실행됩니다. 왜 그럴까요? 답은 Properties에 있습니다. 프로젝트에서 마우스 오른쪽 클릭으.. 더보기
HTML Parser Jericho 라이브러리 안드로이드 프로그램을 배포하면서 사용자들이 항상 최신버전을 사용했으면 하는 경우가 있습니다. 대체적으로 서버에 업데이트한 버전코드를 저장하고 이를 조회하면 간단합니다. 별도의 서버를 사용하지 않고 체크하는 방법으로는 마켓의 앱정보 페이지에 보면 중간쯤 배포중인 앱의 버전이 표시가 됩니다. 이를 파싱하여 버전정보를 알아내는 방법을 사용해봤습니다. 웹페이지를 파싱해야 하므로 파서로는 jericho 라이브러리를 사용하였습니다. 코드도 간단하니 다음을 보겠습니다. import java.io.IOException; import java.net.URL; import java.util.Calendar; import java.util.List; import net.htmlparser.jericho.Element; im.. 더보기
배열을 정렬하는 방법 동일한 타입의 데이터가 배열로 존재하는 경우 이를 정렬(Sort)하고 싶은 경우가 있습니다. 자바에서는 Comparator 라는 클래스를 정의하여 이를 해결할 수 있습니다. 데이터를 정렬하고 싶은 규칙만 있다면 정렬하는 것은 어렵지 않습니다. 자 아래의 코드는 Integer 타입의 ArrayList의 데이터를 정렬하는 연습코드입니다. import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; public class TestComaprator { public static void main(String[] args) { ArrayList alNumber = new ArrayList(); alNumber.add(n.. 더보기
String 데이터에서 split() 메소드 사용시 띄어쓰기 인식하기 자바에서 문자열을 split하는 경우가 꽤 됩니다. 뭐.. 데이터 파싱을 위해서 자르기도 하고, 필요에 따라 사용하는데요.. 이런 경우 "ABC DEF" 같이 중간에 띄어쓰기가 있는데 이를 인식하여 자르려고 하면 보통 String[] arStr = "ABC DEF".split(" "); 위와 같은 형식으로 코딩을 하게 됩니다. 이렇게 해도 잘 동작합니다만, 안되는 경우도 종종 있습니다. 그래서 열심히 구글링하여 찾은 정보로 정규식표현을 사용하면 된다는 것을 알았습니다. 자~ 스페이스 한칸을 인식하게 하는 방법은 String[] arStr = "ABC DEF".split("\\s"); 를 사용하면 됩니다. 간단하죠? 또 다른 예로 중간 공백이 가변적인 경우 1개 이상의 공백이 있는 데이터를 정상적으로 잘라.. 더보기
SimpleDateFormat 사용시 java.lang.ArrayIndexOutOfBoundsException 멀티 쓰레드의 부하가 많이 걸리는 부분에 SimpleDateFormat을 사용하여 날짜를 특정한 포맷으로 변환하는 과정에서 java.lang.ArrayIndexOutOfBoundsException 이 발생하는 경우가 종종 있다. 부하가 많지 않은 경우에는 발생하지 않기는 하는데, 이유는 SimpleDateFormat이 none thread safe 하다는 것이 이유였다. 다시 구글링하여 얻은 정보. 위와 같은 이유로 이미 멋진 라이브러리가 이미 공개되어 있고, datetime과 관련된 다양한 메소드를 추가적으로 제공하는 Joda-Time 이라는 라이브러리를 찾을 수 있었다. 사이트 링크 : http://joda-time.sourceforge.net/ 예외가 발생하던 코드 if (obj instanceof.. 더보기
socket 통신에서 접속한 서버의 Address 알아보기 일반적으로 URL을 이용하여 접속을 시도하는데 이럴때 아이피번호를 알고 싶거나, 접속하고 있는 서버의 도메인을 알고 싶은 경우가 있다. 이럴 경우 정보를 얻는 방법은 다음과 같다. 대중적인(?) 다음넷을 연결해 보자. package org.dante2k.test.socket; import java.io.IOException; import java.net.Socket; public class SocketTest { public static void main(String[] args) { Socket socket = null; try { socket = new Socket("www.daum.net", 80); System.out.println("InetAddress:" + socket.getInetAddre.. 더보기

반응형