본문 바로가기

JAVA

jdk5와 https tls1.2 연동 삽질 후기 우선 jdk5에서 tls1.2 연결을 위해서 bouncy castle를 사용해보았습니다. TlsClientTest 소스로 테스트를 해보았지만, 결국 아래와 같은 오류를 만나고 말았습니다. TLS client negotiated TLS 1.2 TLS client received server certificate chain of length 3 fingerprint:SHA-256 83:9E:08:A5:4F:CC:73:F7:F8:DE:2E:23:89:DB:40:E1:B5:E1:E4:9E:6C:33:4C:A8:EE:30:68:01:76:4F:ED:69 (C=KR,ST=Seoul,L=Yeongdeungpo-gu,O=GS Ho me Shopping Inc.,OU=IT Team,CN=*.gsshop.com) fing.. 더보기
Srping Batch Meta 정보를 조회하는 기능입니다. Spring Batch Meta Dashboard Spring Batch의 Meta 정보 검색 기능을 개발했습니다. 기존 Spring Batch Admin이 종료되었으며, spring-cloud-dataflow 사용을 권장합니다. spring-cloud-dataflow를 잠시 보았는데, 배보다 배꼽이 크게 생겨서 Spring Batch Meta Dashboard 프로젝트를 진행하였습니다. 이 프로젝트의 목적은 Spring Batch 실행 Metat 정보 조회를 위해 개발되었습니다. Screen Dashboard 기간동안 발생한 Job Execute의 성공/실패를 Job Name 기준으로 합산하여 표현합니다. Job Instance List 실행된 Job Instance 목록 Job Execute List.. 더보기
R에서 rJava 사용하기 위한 설치 진행 R에서 rJava 사용하기 위한 설치 진행 동시출현 단어에 대한 분석이 필요하여, 검색을 해보았다. R언에에서 간단하게 함수 호출로 처리가 가능하다는 것을 확인하였다. R 설치 하기 How To Install R on Ubuntu 18.04 를 참조해서 R을 설치 했다 명령어를 따라만 해도 쉽게 설치가 된다. # 서버 키값 추가 $> sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9 # repository 추가 $> sudo add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu bionic-cra.. 더보기
Failed to execute goal org.apache.maven.plugins:maven-jar-plugin:2.6:jar Maven을 이용한 Springboot 프로젝트 repackage 하기 다른 분이 작성한 Springboot 프로젝트를 패키징하게 되었다. 해당 프로젝트는 maven으로 되어 있었기에 큰 문제가 없을꺼라 생각했다. 내 업무 환경은 JDK 12가 설치되어 있었는데, spring-repackage를 하면 다음과 같은 오류가 발생하였다. ERROR] Failed to execute goal org.apache.maven.plugins:maven-jar-plugin:2.6:jar (default-jar) on project my-test-utils: Execution default-jar of goal org.apache.maven.plugins:maven-jar-plugin:2.6:jar failed: An .. 더보기
Maven을 이용한 Springboot 프로젝트 repackage 하기 Maven을 이용한 Springboot 프로젝트 repackage 하기 다른 분이 작성한 Springboot 프로젝트를 패키징하게 되었다. 해당 프로젝트는 maven으로 되어 있었기에 큰 문제가 없을꺼라 생각했다. 내 업무 환경은 JDK 12가 설치되어 있었는데, spring-repackage를 하면 다음과 같은 오류가 발생하였다. ERROR] Failed to execute goal org.apache.maven.plugins:maven-jar-plugin:2.6:jar (default-jar) on project my-test-utils: Execution default-jar of goal org.apache.maven.plugins:maven-jar-plugin:2.6:jar failed: An .. 더보기
Eclipse와 JDK9에서 @PostConstruct 어노테이션 오류 Eclipse와 JDK9에서 @PostConstruct 어노테이션 오류오랜만에 Eclipse를 띄어서 이전 프로젝트를 확인 하는데 @PostConstruct 어노테이션을 찾을 수 없다는 오류가 보였다.따로 변경한 것은 JDK 버젼을 8에서 9로 업그레이드 한거 말곤 없었다.검색을 해보니 해당 문제에 대한 해결책이 있었다.eclipse.ini 파일에 –add-modules=java.se.ee 옵션을 추가 하면 된다.-vmargs --add-modules=java.se.ee -Dosgi.requiredJavaVersion=1.8 -Xms256m -Xmx1024m JDK9이 아직 안정화가 안된건지, 여러 모듈에서 오류가 발생한다.참고 자료Platform won’t launch on Java 9-ea build.. 더보기
다른 위치의 DB 테이블 복사 기능 만들기 데이터 베이스 테이블 복사 기능 만들기DBeaver와 같은 DB TOOL을 사용하지 않고 다른 위치의 DB 간의 테이블 복제하는 프로그램이 필요하여 간단하게 만들었다. 프로그램은 아주 단순 한다. 원본 테이블의 Select Query와 타켓 테이블의 Insert Query를 기준으로 마이그레이션을 진행한다. 소스 보기준비 사항GradleJDK 1.8사용법lahuman.Migration 파일의 10번째 라인과 11번째 라인의 DB 접속 정보를 입력 한다.//Line 10~11 Connection originalDB = DriverManager.getConnection("URL", "ID", "PW"); //원본 DBMS Connection targetDB = DriverManager.getConnectio.. 더보기
부천 시립 도서관 희망자료 등록 프로그램 예전에는 책을 구매 하기 전에 보통은 서점을 가서 책을 보고 구매를 진행 하였지만, 최근에는 도서관에 책을 희망 자료로 요청 하고 한달 정도 있다가 빌려서 본 후 구매를 진행한다. 한달에 총 25권까지 신청 할 수 있는데, 이를 하나하나 손으로 등록하기엔 너무 많은 시간과 노력이 필요하다. 이에 도서 목록을 가지고 자동으로 등록하는 프로그램을 만든다.Source 바로가기Selenide (UI 자동 테스트 툴) 설명프로그램 설계부천 시립 도서관에서 한달에 요청 할 수 있는 도서는 다음과 같다.상동, 심곡, 꿈빛, 책마루, 송내도서관 : 1인당 월 5권원미, 북부, 한울빛, 꿈여울도서관 : 1인당 월 20권이에 도서 목록을 다음과 같이 TXT 파일로 작성하연 자동으로 등록 하도록 한다.도서목록 파일 내용 샘.. 더보기
[TIP] JAVA CODE STYLE GUIDE JAVA CODE STYLE GUIDE 코드 스타일 가이드가 있으면 결과적으로 코드의 질이 좋아진다. (당장은 아니겠지만) 기본적으로 많은 곳에서 사용되는 자바 스타일 가이드는 SUN 의 스타일 가이드이다.스타일 가이드에서 제시하는 코드 규칙의 중요성을 간략하게 정리하면 다음과 같다. 소프트웨어를 개발하는 일련의 모든 과정에 들어가는 비용 중 80%가 유지보수에 사용된다.유지보수를 최초 소프트웨어를 개발한 사람이 담당하는 경우가 거의 없다.코드 규칙을 지키면 다른 개발자가 소스코드를 보았을 때 이른 시간에 이해할 수 있도록 도와준다.만약 코드 스타일 가이드를 한 번도 읽어 보지 못했다면 SUN 의 스타일 가이드 를 읽어 보길 추천한다. 원본은 영어로 되어 있지만,한국어로 번역된 글도 많고 내용 대부분이 .. 더보기
[JAVA]Labmda 맛보기 Lambda Basicfunction has 4 things nameparameter listbodyreturn typeThread th = new Thread(new Runnable(){ public void run(){ Sysout.out.println("In side Thread"); } }); th.start(); lambda expression1. name parameter listbody4. return typeThread th = new Thread(() ->Sysout.out.println("In side Thread")); th.start(); iteratorsList numbers = Arrays.asList(1,2,3,4,5,6,7,8,9,10); //external iterators.. 더보기