프로젝트에서 이틀동안 고생한 내용을 정리합니다. 프로젝트는 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 에는 기본적으로 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-..
자바로 안드로이드 통신을 위한 소켓서버를 만들었는데, 자바의 특성상 윈도우 서버를 사용하는 경우 지정된 사용자로 자동로그인이 되어야 시작프로그램에 등록된 중계서버가 정상적으로 작동하였습니다. 가끔! 서버관리자가 이를 잊어버리고 최종 작업에서 지정된 사용자로 로그인을 하지 않으면 중계서버는 무용지물이 되는 것이지요. 이를 방지하기 위해서 윈도우 서비스로 등록하여 로그인을 하지 않더라도 정상적으로 중계서버가 작동하는 것을 목적으로 합니다. 구글링에서 검색되는 수많은 방법중에 저에게 가장 간편하고 잘 동작하는 것을 골랐습니다. 물론 저도 윈도우 2008 R2 서버에서 정상적으로 사용하고 있는 방법입니다. 구현 방법은 간단합니다. 대부분의 자바 프로그램은 jar 파일로 배포를 하게 됩니다. executable ..
요즘 자바기반에서 시리얼통신을 하는 경우가 많은데요. 이런 경우 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 이..
4월 17일 기다리고 기다리던 우분투 14.04 LTS 버전이 출시되었습니다. 많이들 사용해 주시구요.. 아직 버그가 좀 있으니 설치는 한두달 이후에 하시면 좋을 듯합니다. 저도 메인 PC는 아직 업데이트 전이고, 노트북은 설치만 해놓은 상태입니다. 자.. 우분투에는 기본적으로 open jdk 를 우분투 소프트웨어 센터를 통하여 설치할 수 있습니다. 하지만 윈도우에서 개발을 하시던분은 좀 생소한 jdk라 꺼려지기도 하고 어지간하면 오라클에서 배포하는 버전을 사용해서 개발했던 사람이라면 비슷한 환경을 구성하고 싶을 겁니다. 그래서 우분투에서 지원하는 ppa 저장소 기능을 이용하여 오라클에서 배포하는 jdk를 설치하는 방법을 소개하겠습니다. 대부분의 작업은 터미널에서 콘솔입력으로 이루어집니다. 1. 저장소를..
간만에 웹 개발을 할 일이 생겨서 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..
eclipse에서 실행할 때는 참 로딩이 잘되던 것이 jar 파이로 배포하고 실행하려고 하면 이미지 위치를 못 찾는다? 웹을 검색해보신 분들은 잘 아시겠지만... 10여개의 글을 읽었는데 답답하더군요.. 되는게 하나도 없으니.. 자.. 하나만 기억하면 됩니다. '사용자가 생성한 폴더는 자동으로 리소스로 잡히지 않는다. 이걸 리소스라고 꼭 설명해줘야 한다.' 입니다. 다음 이미지를 보십시다. 주황색으로 표시된 부분을 살펴보면 우선 왼쪽은 img 폴더 밑에 logo.png 라는 이미지가 보입니다.오른쪽에서는 이미지를 로딩하는데 폴더명을 제외하고 파일명만 써놨네요?? 하지만 정상적으로 이미지를 로딩하고 프로그램이 실행됩니다. 왜 그럴까요? 답은 Properties에 있습니다. 프로젝트에서 마우스 오른쪽 클릭으..
동일한 타입의 데이터가 배열로 존재하는 경우 이를 정렬(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..
자바에서 문자열을 split하는 경우가 꽤 됩니다. 뭐.. 데이터 파싱을 위해서 자르기도 하고, 필요에 따라 사용하는데요.. 이런 경우 "ABC DEF" 같이 중간에 띄어쓰기가 있는데 이를 인식하여 자르려고 하면 보통 String[] arStr = "ABC DEF".split(" "); 위와 같은 형식으로 코딩을 하게 됩니다. 이렇게 해도 잘 동작합니다만, 안되는 경우도 종종 있습니다. 그래서 열심히 구글링하여 찾은 정보로 정규식표현을 사용하면 된다는 것을 알았습니다. 자~ 스페이스 한칸을 인식하게 하는 방법은 String[] arStr = "ABC DEF".split("\\s"); 를 사용하면 됩니다. 간단하죠? 또 다른 예로 중간 공백이 가변적인 경우 1개 이상의 공백이 있는 데이터를 정상적으로 잘라..
- Total
- 808,646
- Today
- 52
- Yesterday
- 48
- 구입
- nikon d2h
- 안드로이드
- 휴대폰환불
- Nikon D70s
- 아두이노
- 자바
- Eclipse
- Grails
- Windows
- 우분투
- ubuntu
- xubuntu
- NC10
- arduino
- 휴대폰
- 주분투
- java
- 키보드
- Android
- 노트북
- 설치
- 사진
- 파이어폭스
- 윈도우
- 한글
- install
- AF 50mm F1.8
- Firefox
- 개발