Devlopment

    Clean Code - Null 리턴

    클린 코드에 null을 리턴하지 말라는 얘기가 있다.동감이다. null만 검사하다가 코드는 지저분하게 끝나고 만다. Collections 클래스에 있는 비어있는 객체를 활용한다. list, map, set 종류별로 다 있다.다만 static final이기 때문에 리턴받은 후에 추가를 하려고 하면 에러가 나기 때문에 쓰임새에 유의해야 한다. java.util.Collectionsstatic Enumeration emptyEnumeration()static IteratoremptyIterator()static ListemptyList()static ListIteratoremptyListIterator()static MapemptyMap()static SetemptySet() String 리턴의 경우 null..

    SpringBoot application.properties H2 DB설정

    * H2 Database 파일 속성jdbc:h2:file:~/test * H2 Database 메모리 속성(휘발성)jdbc:h2:mem:test * SpringBoot application.properties DB설정 spring.datasource.url=jdbc:h2:mem:testspring.datasource.username=saspring.datasource.password=spring.datasource.driverClassName=org.h2.Driver * spring.jpa.hibernate.ddl-auto 설정spring.jpa.hibernate.ddl-auto=update create: 기존테이블 삭제 후 다시 생성(DROP + CREATE)create-drop: create와 같으나..

    SpringBoot에서 H2 DB 관리자 UI 접속하기

    SpringBoot에서 H2를 사용할 경우 구동시에 DB상태를 보고 싶었다.가령 php my admin처럼 말이다. 찾아보니 이게 있는데 생각보다 간단하고 신기하다. Ref에 있는 해외 글에서 방법을 찾았다. 1. Maven, Gradle 추가Maven : com.h2database h2 Gradlecompile("com.h2database:h2") 2. H2 Servlet 추가import org.h2.server.web.WebServlet;import org.springframework.boot.context.embedded.ServletRegistrationBean;import org.springframework.context.annotation.Bean;import org.springframewor..

    [Gradle] Build 오류 - Could not fetch model of type 'EclipseProject' using Gradle distribution

    Could not fetch model of type 'EclipseProject' using Gradle distribution Could not fetch model of type 'EclipseProject' using Gradle distribution " http://services.gradle.org/distributions/gradle-1.10-bin.zip" 나는 현재 신규 프로젝트를 Gradle로 빌드하고 있다.이클립스는 STS를 사용중인데, 다른 프로젝트를 임포트하고 신규 프로젝트를 생성하는 과정에서 JBoss가 필요하여 마켓에서 JBoss 플러그인을 설치하였다. 그런데 이전 프로젝트의 Gradle 빌드를 실행하려고 하니 위와 같은 에러가 발생하였다. 자세한 에러도 안 나오고, 네이버는..

    jboss ARJUNA-16027 오류 해결 방법

    JBoss 구동시 아래와 같은 오류 발생 ARJUNA-16027 Local XARecoveryModule.xaRecovery got XA exception XAException.XAER_RMERR 오라클 권한 문제라고 한다.아래 명령어로 해결 GRANT SELECT on sys.dba_pending_transactions TO user;GRANT SELECT on sys.pending_trans$ TO user;GRANT SELECT on sys.dba_2pc_pending TO user;GRANT EXECUTE on sys.dbms_system to user; 출처 : http://blog.daum.net/dhyunkang/2989164

    구글 애드몹 링크

    구글 애드몹 설치 가이드http://www.google.co.kr/landing/admob/platforms.html 구글 애드몹 공식 사이트https://kr.admob.com/my_sites/site_install_code/?new=1&site_id=a151b556716d599 구글 애드몹 개발자 가이드https://developers.google.com/mobile-ads-sdk/docs/android/fundamentals?hl=ko 광고 비교 및 추천http://www.androidpub.com/1981536 안드로이드 어플 홍보 방법http://www.androidpub.com/1958746 디자인 가이드http://baekhorang.tistory.com/215http://baekhorang..

    Java JAR, WAR파일에 버전 심고 확인하기

    배포파일에 대하여 버전을 확인할 수 있게 해달라는 요청이 있었다.파일명 뒤에 버전 붙이는 시덥잖은 방법으로는 한계가 있다.하지만 java의 배포파일에 버전을 넣는 방법은 없다. 내가 모르는 것인가?그리하여 JAR나 WAR에 공통적으로 들어가는 MANIFEST.MF 파일에 버전을 넣기로 했다. 해당 프로젝트는 Ant로 빌드하기 때문에 ant에 설정값을 추가했다. JAR나 WAR나 마찬가지이다. 그리고 저 파일을 확인할 수 있게 하기 위하여 bat파일과 sh파일을 만들었다. check_version.bat@echo offif "%1" == "" goto HELPjar xf %1 META-INF/MANIFEST.MFTYPE META-INF\MANIFEST.MFDEL META-INF\MANIFEST.MFRMDI..

    적정 스레드 수

    적정 스레드 수치라는 것을 잡는다는게 어렵다.다음은 [1]에서 본 것으로 윈도우즈 네트워크 프로그래밍이란 책에서 추천하는 스레드의 수라고 한다. 스레드 개수 = ( 프로세스 개수 X 2 ) + 1 스레드 개수 = ( 프로세스 개수 X 2 ) + 2 성능 및 안정성에서 위에 수치가 적정하다고 본다.하지만 최상의 성능을 끌어내기 위한 수치는 아니라고 본다. 적정 스레드 수치가 아닌 최상의 스레드 수치를 끌어내려면하드웨어 성능과 소프트웨어의 시스템 설계를 고려해서 정해야만 한다. JBoss 경우에는 512개, Netty의 경우에는 코어의 수만큼이 되어 있다.Netty가 가지고 있는 스레드 이 기본값(코어의 수)은 스레드가 CPU를 100% 사용한다고 할 때의 수치이다.만약 각 스레드가 CPU를 10%사용한다면..

    Java Network Framework, Netty

    혹시 Java로 TCP서버를 구축하고 계신가요?JAVA NIO를 공부하면서 서버 설계에 고민하고 계신가요? 서버 코어 설계 및 개발에 투자할 많은 시간 있다면? 그리고 안정성을 높이고 성능을 높이 끌어낼 자신과 시간이 있다면 직접 개발하세요. 하지만 그렇지 않다면 검증된 Java Network Framework인 Netty나 MINA를 사용해보세요. 이렇게 쓰니 제가 홍보하는 사람 같군요.하지만 저의 경험입니다. 서버 코어 부분을 설계하고 개발하다보면 프로젝트에서 너무 많은 시간을 할애하게 되어버립니다. 그 후에 안정성이나 성능에 대해서도 고민이 되고 제가 나가면서 다른 사람에게 인수인계 할 때의 유지보수도 문제가 되어 버립니다. 그런 면에서 Netty나 MINA를 추천합니다.사실 저도 어떻게 더 좋은지..

    JBoss 설치 및 연동

    1. JBoss 설치다양한 WAS중에서 나는 JBoss를 좋아한다. 회사에서는 주로 5버전을 쓰고 있었는데 최신 버전인 7 버전을 써보았다. 제일 좋은 점은 WAS 구동속도가 엄청나게 향상되었다. Download URL : http://www.jboss.org/projects * Admin 계정 생성jboss-as-7.1.1.Final\bin>add-user.bat * Server 시작jboss-as-7.1.1.Final\bin>standalone.bat$JBOSS_HOME/bin/standalone.sh 2. JBoss 환경변수 설정linux) export JBOSS_HOME=/home/atin84/work/jboss-as-7.1.1.Finalwin) 환경변수 JBOSS_HOME 추가 3. JBoss ..