Unix 프로세스의 백그라운드 실행 관련 (nohup, &)
* 백그라운드에서 프로세스 실행하기 test.sh & * 백그라운드에서 실행되던 프로세스를 포그라운드로 돌리기 fg * 터미널 세션을 종료해도 살아 있는 백그라운드 프로세스 기동하기 nohup test.sh &
* 백그라운드에서 프로세스 실행하기 test.sh & * 백그라운드에서 실행되던 프로세스를 포그라운드로 돌리기 fg * 터미널 세션을 종료해도 살아 있는 백그라운드 프로세스 기동하기 nohup test.sh &
몰랐는데, mkv 파일의 경우 자막을 동영상 내에 병합(merge)시킬 수가 있었다. MKVToolNix 라는 툴을 사용하면, 현재 동영상 파일에 어떤 자막이 병합되어 있는지 확인하거나, 기존에 자막이 병합되어 있을 경우 삭제하거나, 자막이 없을 경우 새로운 자막을 병합시킬 수도 있다. 신기하네… * 추가 정보 Subtitle Edit 이라는 프로그램을 사용하면, mkv 파일에 내장된 자막을 별도의 파일로… Read More »
MySQL 쓰면서 하지 말아야 할 것 17가지
Eclipse plugin 설치 2. Gradle Project 생성 (아니면 기존 프로젝트 우클릭 후 configure > convert as gradle project 를 해도 된다고 하는데, 이럴 경우 build.gradle 등 파일이 생성되지 않아서 일단 보류…) (그래서 Dynamic Web Project에 build.gradle가 생성되도록 커맨드라인 명령을 사용해 보려고 함…) 3. build.gradle 파일에 dependency 추가 (위에서 fileupload 추가한 것 – 이렇게… Read More »
정확하지는 않으나… 일단 경험한 것 위주로 써 본다면… SYNC_SENT : 상대방 방화벽이 막혀 있을 경우 TIME_WAIT : 소켓 연결을 상태방이 끊었을 경우 ※ 잘못된 정보가 있으면 댓글로 지적 바랍니다~~
set BASEDIR=”D:\TEST” for /r %BASEDIR% %%i in (*.txt) do ren “%%i” “%%~ni.bak”
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를 사용하기 때문에 시스템 기동부나 테스트코드에서 사용해야지, 자주 반복되는 구간에서 사용해서는 안된다.
웹페이지에서 refresh 를 하면서 JMX로 Hazelcast의 상태를 모니터링하는 프로그램이 있었다. 그런데 왜 일정한 주기로(며칠…) 다운되나 jconsole로 원인을 살펴보았더니, 이 JMX 조회를 수행할 때, JMX connection이 초기화되지 않고 계속 생성되면서, Hazelcast 내부 스레드(thread) 제한 갯수인 5000 에 육박하였기 때문이었다. 이 문제는 해당 프로그램에서 조회시마다 connection close를 잘 해 주도록 수정하여 해결되었다. 끝~~
Connection reset by peer (혹은 “peer로 연결 재설정”) 이 메세지는, 잘은 모르지만 느낌상 Netty에서 뿌려주는 메세지처럼 보인다. 내 경우에는, 연결을 유지하는 소켓통신을 사용중, 거래가 없기 때문에 상대방이(서버) 연결을 끊은 경우 (상대방 방화벽/어플리케이션 에서 자동으로 연결종료?), 내 쪽 (클라이언트) 에서 이 메세지를 볼 수 있었다. 검색을 좀 해 보니, 이것은 상대방이 TCP RST 패킷(리셋)을 보낼… Read More »
* 실제로 이렇게 사용하는 것이 괜찮은가 하는 것은 잘 모르겠으나, 일단 한 번 구현해 보았다. 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 »
칼슘에 관한 모든 것
Maven 프로젝트 하나를 checkout 받았는데, 구조가… [이클립스프로젝트명] > [모듈명1] > src > main … [이클립스프로젝트명] > [모듈명2] > src > main … 이렇게 되어 있었다. 그래서 이 프로젝트를 그냥 checkout 하는 것만으로는 Maven 프로젝트로서 기능을 할 수도, build path를 설정할 수도 없었다. 이 경우에는 Module 별로 Maven 프로젝트를 import 하면 된다고 한다. 패키지익스플로러에서… Read More »
* set -0 vi : 커맨드라인에서 ESC 입력시 vi 스타일의 명령어를 사용할 수 있다. k : 최근 입력 명령어 (누를수록 이전 명령어를 찾는다.) j : k와 반대방향으로 탐색 ESC\ 를 사용하여 디렉토리명 등을 자동완성(auto complete)할 수 있다. (참고: set -o emacs 사용시에는 ESC 2회 연타로 사용 가능)
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 Quick Text Search
프로젝트 > java build path > projects > add ….. 그런데 이렇게 해 보니 잘 안되어서 프로젝트 > java build path > Source > Link Source 를 클릭한 후, 다른 프로젝트의 java 폴더(ex: src/main/java)를 지정하였더니 작동하였다.
이클립스 프로젝트 우클릭 > Properties > New Text File line delimiter를 “Unix”로 설정해 준 상태에서 편집하면 된다.
이클립스 > Window > Preference > General > Workspace > Refresh using native hooks or polling 을 체크한다!! 이렇게 하면 이클립스의 탐색기에서 F5 키를 누른 것과 같은 효과가 주기적으로 발생한다.
– 출처 : https://asktom.oracle.com/pls/asktom/f?p=100:11:::::P11_QUESTION_ID:399218963817 – 자식 테이블이 존재할 경우에는 테이블을 truncate할 수 없다. 정 하고 싶으면 FK constraint 를 삭제한 후 truncate 하고 다시 FK를 생성하라고 한다. 귀찮으니 그냥 delete를 사용하자~
도구 > 데이터베이스 복사 (ddl 복사는 체크 해제, 데이터 복사는 체크)