본문 바로가기

반응형

자바

Grails 3.3.5 LocalDate 사용하기 프로젝트에서 이틀동안 고생한 내용을 정리합니다. 프로젝트는 Grails 3.3.5 기반이고, rest-api profile 을 적용하여 api service를 개발하는 중이었습니다.각각 라이브러리에 대한 대략적인 dependency 는 아래와 같습니다. grails:3.3.5 gorm:6.1.9.RELEASEhibernate5:6.1.9.RELEASEhibernate-core:5.1.13.Final hibernate-core 는 기본적으로 프로젝트 생성시 5.1.5 버전으로 생성해 주는데, 일단 5.1 버전의 최신버전인 5.1.13으로 설정을 변경하였습니다. 위에서 Domain 객체에 LocalDate 를 사용하고, h2 같은 데이터베이스에 테스트 데이터를 확인해보면 DATE(10) 타입으로 칼럼이 생성.. 더보기
Ubuntu Oracle Java Develop Kit(JDK) 설치 Ubuntu 에는 기본적으로 Open source 진영의 OpenJDK 가 설치되어 있습니다. 이를 사용하여도 무방합니다. 선호도의 차이나, 필요에 의해서 Oracle 사의 JDK 를 설치해야 하는 경우가 있습니다. Ubuntu 는 기본적으로 restrict 제품에 대한 설치를 어느 정도 허용하고 있는 상태인데, 상업적으로 사용해야 하는 몇몇 제품은 기본적으로 설치하기가 쉽지 않습니다. 다만 조금만 설정하면 편리하게 사용할 수 있습니다. 기본적인 개념은 다음과 같습니다. 내가 설치하고 싶은 앱이 특별한 저장소(Repository) 에 저장되어 있고, 나는 저 저장소를 사용하여 apt 명령어를 통하여 설치를 하고 싶은 것 입니다. Oracle 은 자체적으로 JDK 를 다운로드 받을 수 있는 홈페이지는 제공.. 더보기
문자열에서 숫자를 제외하고 모든 문자 삭제, 숫자만 남기기 String 클래스의 replaceAll() 메소드와 정규식을 사용하여 간단히 문자열에서 숫자만 추출할 수 있다. 코드는 다음과 같다. /** * 숫자를 제외한 모든 문자를 제거하고 숫자문자열만 리턴한다. * * @return */ public static String removeCharExceptNumber(String str) { return str.replaceAll("[^0-9]", ""); // 또는 // return str.replaceAll("[^\\d]", ""); // 또는 // return str.replaceAll("\\D", ""); // 모두 사용가능하다. } reference : http://stackoverflow.com/questions/6883579/java-regular-.. 더보기
jar 파일을 윈도우 서비스에 등록하여 자동 실행하기 자바로 안드로이드 통신을 위한 소켓서버를 만들었는데, 자바의 특성상 윈도우 서버를 사용하는 경우 지정된 사용자로 자동로그인이 되어야 시작프로그램에 등록된 중계서버가 정상적으로 작동하였습니다. 가끔! 서버관리자가 이를 잊어버리고 최종 작업에서 지정된 사용자로 로그인을 하지 않으면 중계서버는 무용지물이 되는 것이지요. 이를 방지하기 위해서 윈도우 서비스로 등록하여 로그인을 하지 않더라도 정상적으로 중계서버가 작동하는 것을 목적으로 합니다. 구글링에서 검색되는 수많은 방법중에 저에게 가장 간편하고 잘 동작하는 것을 골랐습니다. 물론 저도 윈도우 2008 R2 서버에서 정상적으로 사용하고 있는 방법입니다. 구현 방법은 간단합니다. 대부분의 자바 프로그램은 jar 파일로 배포를 하게 됩니다. executable .. 더보기
Longitudinal Redundancy Check(LRC) 생성하는 코드 요즘 자바기반에서 시리얼통신을 하는 경우가 많은데요. 이런 경우 CRC 또는 LRC 체크를 위해서 전송하는 전문(대부분 byte[] 를 전송합니다.)의 CRC, LRC 값을 생성하는 메소드를 만들어보았습니다. 기기마다 요구하는 부분이 조금씩 차이가 있으므로 참고하시고 기기에 맞는 LRC를 생성하는 코드는 직접 코딩하여 테스트이후 사용하시기 바랍니다. /** * LRC값을 생성하는 메소드 * 파라메터로 전달되는 data 의 idx 0 에서 부터 * length - 2 의 idx 까지 byte 값을 exclusive or 연산으로 * LRC값을 구하고 length -1 의 index 에 해당 byte 값을 assign 한다. * * 인자로 전달된 byte[] data 는 value of reference 이.. 더보기
ubuntu oracle java 설치하기 4월 17일 기다리고 기다리던 우분투 14.04 LTS 버전이 출시되었습니다. 많이들 사용해 주시구요.. 아직 버그가 좀 있으니 설치는 한두달 이후에 하시면 좋을 듯합니다. 저도 메인 PC는 아직 업데이트 전이고, 노트북은 설치만 해놓은 상태입니다. 자.. 우분투에는 기본적으로 open jdk 를 우분투 소프트웨어 센터를 통하여 설치할 수 있습니다. 하지만 윈도우에서 개발을 하시던분은 좀 생소한 jdk라 꺼려지기도 하고 어지간하면 오라클에서 배포하는 버전을 사용해서 개발했던 사람이라면 비슷한 환경을 구성하고 싶을 겁니다. 그래서 우분투에서 지원하는 ppa 저장소 기능을 이용하여 오라클에서 배포하는 jdk를 설치하는 방법을 소개하겠습니다. 대부분의 작업은 터미널에서 콘솔입력으로 이루어집니다. 1. 저장소를.. 더보기
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.. 더보기
jar 파일 내의 이미지 파일 로딩 실패에 관하여... eclipse에서 실행할 때는 참 로딩이 잘되던 것이 jar 파이로 배포하고 실행하려고 하면 이미지 위치를 못 찾는다? 웹을 검색해보신 분들은 잘 아시겠지만... 10여개의 글을 읽었는데 답답하더군요.. 되는게 하나도 없으니.. 자.. 하나만 기억하면 됩니다. '사용자가 생성한 폴더는 자동으로 리소스로 잡히지 않는다. 이걸 리소스라고 꼭 설명해줘야 한다.' 입니다. 다음 이미지를 보십시다. 주황색으로 표시된 부분을 살펴보면 우선 왼쪽은 img 폴더 밑에 logo.png 라는 이미지가 보입니다.오른쪽에서는 이미지를 로딩하는데 폴더명을 제외하고 파일명만 써놨네요?? 하지만 정상적으로 이미지를 로딩하고 프로그램이 실행됩니다. 왜 그럴까요? 답은 Properties에 있습니다. 프로젝트에서 마우스 오른쪽 클릭으.. 더보기

반응형