본문 바로가기

자바

자바를 이용한 DB 프로그래밍 기초 - mysql 자바에서 DB를 이용한 프로그래밍은 JDBC라는 표준 인터페이스 덕분에, 벤더에 (거의) 상관없이 동일한 형태로 구현할 수 있다. 따라서 자바를 이용한 DB 프로그래밍은 JDBC를 어떻게 이용하느냐의 문제라고 할 수 있다. JDBC를 이용한 프로그래밍은, 아래와 같은 순서로 작성된다. 1. 벤더(mysql, PostgreSQL, ms-sql, oracle 등) 사이트에서 제공하는 JDBC 드라이버를 먼저 구해야 한다. mysql 같은 경우에는, 아래 링크와 같다. http://www.mysql.com/downloads/connector/j/ 2. 이클립스에서 해당 라이브러리를 빌드패스에 추가한다. 3. 여기서 프로그램을 작성하는데, 3-1. 드라이버를 로드한다. (mysql의 경우) Class.forNa.. 더보기
[이클립스] 라이브러리 이용하기 자바를 이용하여 프로그램을 개발하는 경우, 라이브러리 (다른 사람이 작성한 유용한 프로그램 모음)를 활용하는 경우가 많다. 자바 IDE인 이클립스에서는 손쉽게 라이브러리를 적용할 수 있는데, 그 방법을 살펴보면 다음과 같다. (예시의 편의성을 위해서 엑셀 파일을 컨트롤 할 수 있는 jxl 라이브러리를 설정하는 과정을 서술하였다. 일반적인 방법이므로 다른 라이브러리를 사용할 때도 같은 방식으로 이용하면 된다.) 1. 라이브러리를 찾는다. - 구글에서 검색하는 것이 좋다. - “java library excel”과 같이 검색하면 된다. - http://jexcelapi.sourceforge.net/ - http://www.andykhan.com/jexcelapi/ - http://sourceforge.net.. 더보기
우분투에서 자바 설정 (OpenJDK 대신 Sun JDK 쓰기) 우분투에서는 기본적으로 GNU의 자바를 쓰고 있다. 일부에서는 퍼포먼스에 문제가 있다고 하고, 혹자는 이클립스 플러그인 설치 때 문제가 생기는 등 안정성에 문제가 있다고 한다. 보통 sun에서 받아서 사용하는(이제는 oracle이지만) 자바를 사용하기 위한 셋팅 방법에 대해 메모하고자 한다. 크게 2단계로 설명할 수 있다. 1. JDK 설치 2. Open JDK 대신 Sun JDK를 default로 설정 먼저, JDK 설치는 우분투답게 아주 쉽다. '우분투 소프트웨어 센터'에서 'sun java'로 검색하여 'sun-java6-jdk'을 설치하도록 하자. 다음으로, 시스템 기본으로 sun 자바를 이용하도록 'sudo update-java-alternatives -s java-6-sun'라고 설정한다. 그.. 더보기
Java 코드 내부에서 외부 프로그램 실행시키기 - exec(), ProcessBuilder Runtime.exec()와 ProcessBuilder 클래스를 이용하여, 구현할 수 있다. 그리고 apache 프로젝트에 'apache common exec'라는 라이브러리도 있다고 한다. 경험상 외부 프로그램 실행시에는 현재 실행 위치가 잘 안 먹는 경향이 있으니, 절대 경로를 이용해서 명령을 내려주는 것이 여러모로 편하다. String binDir_ = System.getProperty("user.dir") + "/exec/node3d/"; String[] cmdArray = new String[] { binDir_ + "nodes3d.exe", System.getProperty("user.dir") + "/" + inputFile }; try { Process p = new ProcessBuild.. 더보기
문자열 쪼개기 Java 1.3에서 1.4로 넘어가는 단계에서 처음으로 접했던 자바. 그 당시 scanf를 대신하는 코드를 만들기 위해 1) BufferedReader를 통해 한줄씩 읽어서 2) StringTokenizer로 자르고, 3) Double.parseDouble() 등을 통해 형변환 물론 지금도 제일 많이 쓰는 조합이다. Java 5 이후, Scanner의 등장과 '응용소프트웨어 공학' 강의 준비를 하면서, 보다 쉽게 사용할 수 없을까 하여 1) Scanner 생성 2) scan.hasNext() 한 동안 scan.nextDouble(), scan.next() 등 사용 쉬운 예제에서는 확실 쉽고 간편하다. 하지만, 몇 줄을 건너뛰거나, 형태가 섞여 있을 경우, 말썽을 부리는 경우가 종종 있다. 이럴 땐 역시 .. 더보기