Author Archives: itpsolver

별도 자막파일(.smi, .srt)이 없는 mkv 동영상을 재생했는데 자막이 출력되는 경우 (동영상 오버레이에 포함된 자막이 아니라 별도 자막파일처럼 숨길 수 있는 자막)

By | 2월 1, 2016

몰랐는데, mkv 파일의 경우 자막을 동영상 내에 병합(merge)시킬 수가 있었다. MKVToolNix 라는 툴을 사용하면, 현재 동영상 파일에 어떤 자막이 병합되어 있는지 확인하거나, 기존에 자막이 병합되어 있을 경우 삭제하거나, 자막이 없을 경우 새로운 자막을 병합시킬 수도 있다.   신기하네…        * 추가 정보 Subtitle Edit 이라는 프로그램을 사용하면, mkv 파일에 내장된 자막을 별도의 파일로… Read More »

Gradle 설정하기 (작업중)

By | 1월 12, 2016

Eclipse plugin 설치   2. Gradle Project 생성 (아니면 기존 프로젝트 우클릭 후 configure > convert as gradle project 를 해도 된다고 하는데, 이럴 경우 build.gradle 등 파일이 생성되지 않아서 일단 보류…) (그래서 Dynamic Web Project에 build.gradle가 생성되도록 커맨드라인 명령을 사용해 보려고 함…)   3. build.gradle 파일에 dependency 추가 (위에서 fileupload 추가한 것 – 이렇게… Read More »

netstat 상태의 의미는?

By | 12월 14, 2015

정확하지는 않으나… 일단 경험한 것 위주로 써 본다면…     SYNC_SENT : 상대방 방화벽이 막혀 있을 경우 TIME_WAIT : 소켓 연결을 상태방이 끊었을 경우     ※ 잘못된 정보가 있으면 댓글로 지적 바랍니다~~      

java 프로퍼티 파일 읽기 예시 (java.util.Properties, org.springframework.util.ResourceUtils)

By | 11월 25, 2015

  Properties props = new Properties(); try{ props.load(new FileInputStream(ResourceUtils.getFile(“classpath:config/properties/test.properties”))) //classpath 기준으로 찾을 경우 //props.load(new FileInputStream(ResourceUtils.getFile(“file:C:/project/src/main/resources/config/properties/test.properties”))) //파일시스템 기준으로 찾을 경우 }catch(IOException e){ e.printStackTrace(); } String testValue = props.get(“testKey”);     * 이러한 류의 작업은 File I/O를 사용하기 때문에 시스템 기동부나 테스트코드에서 사용해야지, 자주 반복되는 구간에서 사용해서는 안된다.    

Hazelcast 서버가 일정한 주기로 다운되던 사례

By | 11월 24, 2015

웹페이지에서 refresh 를 하면서 JMX로 Hazelcast의 상태를 모니터링하는 프로그램이 있었다.   그런데 왜 일정한 주기로(며칠…) 다운되나 jconsole로 원인을 살펴보았더니, 이  JMX 조회를 수행할 때, JMX connection이 초기화되지 않고 계속 생성되면서, Hazelcast 내부 스레드(thread) 제한 갯수인 5000 에 육박하였기 때문이었다.   이 문제는 해당 프로그램에서 조회시마다 connection close를 잘 해 주도록 수정하여 해결되었다. 끝~~

Java 소켓통신에서 Connection reset by peer (peer로 연결 재설정) 오류가 발생할 경우의 사례

By | 11월 24, 2015

Connection reset by peer  (혹은 “peer로 연결 재설정”)   이 메세지는, 잘은 모르지만 느낌상 Netty에서 뿌려주는 메세지처럼 보인다. 내 경우에는, 연결을 유지하는 소켓통신을 사용중, 거래가 없기 때문에 상대방이(서버) 연결을 끊은 경우 (상대방 방화벽/어플리케이션 에서 자동으로 연결종료?), 내 쪽 (클라이언트) 에서 이 메세지를 볼 수 있었다. 검색을 좀 해 보니, 이것은 상대방이 TCP RST 패킷(리셋)을 보낼… Read More »

java에서 KSC5601 규격에 해당하는 문자만 허용하는 유효성검사 코드

By | 11월 20, 2015

* 실제로 이렇게 사용하는 것이 괜찮은가 하는 것은 잘 모르겠으나, 일단 한 번 구현해 보았다.   public static final Charset CHARSET_EUC_KR = Charset.forName(“EUC-KR”); public static final String KSC5601_START_HEX = “A1A1”; //EUC-KR 코드페이지 내에서 KSC5601의 시작코드 public static final String KSC5601_END_HEX = “FEFE”; //EUC-KR 코드페이지 내에서 KSC5601의 종료코드 public static final int KSC5601_START_INT = Integer.parseInt(KSC5601_START_HEX, 16); public… Read More »

Module로 구분된 Maven 프로젝트를 이클립스에 Checkout 하기 (module import)

By | 10월 30, 2015

Maven 프로젝트 하나를 checkout 받았는데, 구조가… [이클립스프로젝트명] > [모듈명1] > src > main … [이클립스프로젝트명] > [모듈명2] > src > main … 이렇게 되어 있었다.   그래서 이 프로젝트를 그냥 checkout 하는 것만으로는 Maven 프로젝트로서 기능을 할 수도, build path를 설정할 수도 없었다. 이 경우에는 Module 별로 Maven 프로젝트를 import 하면 된다고 한다.   패키지익스플로러에서… Read More »

콘 쉘 (korn shell, ksh) 관련 사항

By | 10월 29, 2015

* set -0 vi : 커맨드라인에서 ESC 입력시 vi 스타일의 명령어를 사용할 수 있다. k : 최근 입력 명령어 (누를수록 이전 명령어를 찾는다.) j : k와 반대방향으로 탐색 ESC\ 를 사용하여 디렉토리명 등을 자동완성(auto complete)할 수 있다. (참고: set -o emacs 사용시에는 ESC 2회 연타로 사용 가능)          

이클립스(eclipse)에서 원격 디버깅(remote debug) 하기

By | 10월 29, 2015

1. 서버 JVM 기동 스크립트에 아래의 VM argument(java option)를 추가하여 기동한다. (address에는 원하는 포트를 설정) -Xdebug -Xrunjdwp:transport=dt_socket,address=8899,server=y,suspend=n     2. 이클립스 설정 Run > Debug Configuration > Remote java application 을 생성한 후 실행한다.(1에서 설정한 포트와 설정을 맞출 것)     3. 이후 서버(원격)에서 코드 수행중 break point 에 해당하는 코드를 지나면 로컬 이클립스에서 디버깅을… Read More »

이클립스(eclipse)로 개발을 하면서 파일을 생성했는데(text file) 이클립스가 새로고침(refresh) 되지 않아서, 어플리케이션에서 바로 그 파일을 가져다 쓸 수 없는 상황에 대한 해결책

By | 10월 29, 2015

이클립스 > Window > Preference > General > Workspace > Refresh using native hooks or polling 을 체크한다!! 이렇게 하면 이클립스의 탐색기에서 F5 키를 누른 것과 같은 효과가 주기적으로 발생한다.      

Oracle 에서 테이블(table)을 truncate할 수 없을 때

By | 10월 27, 2015

– 출처 : https://asktom.oracle.com/pls/asktom/f?p=100:11:::::P11_QUESTION_ID:399218963817 –   자식 테이블이 존재할 경우에는 테이블을 truncate할 수 없다. 정 하고 싶으면 FK constraint 를 삭제한 후 truncate 하고 다시 FK를 생성하라고 한다. 귀찮으니 그냥 delete를 사용하자~    

이상하게 인터넷 속도가 느릴 때 체크할 사항 (DNS 문제가 아닌지 점검하자!)

By | 10월 16, 2015

얼마 전에 공유기를 교체했는데, 지금까지 사용하던 것 중에 가장 비싸면서 가장 스펙이 좋은 제품이었다. 그런데 이상하게도 인터넷은 이전보다 더 느려진 느낌이 들었다. (스마트폰으로 공유기에 연결해서 웹페이지를 열면 최소 5초 이상 걸렸다)   왜일까… 생각하면서도 귀찮아서 그냥 내버려 두고 있었는데, 몇 주간 사용하다 보니 이상한 점이 눈에 띄었다. 바로 파일 다운로드 속도는 거의 차이가 없을 뿐만… Read More »