본문 바로가기

Total220

find exec 사용시 주의사항 Linux 장비에서 주기적으로 로그파일을 삭제할 때 find exec 명령어를 통해 원하는 파일을 삭제하는 방식을 많이 사용하는데, 보통 아래처럼 crontab에 등록해 둔다. 00 0 * * * find /usr/local/logs mtime +7 -exec rm -rf {} \; 이 의미는 /usr/local/logs 디렉토리에 수정시간(mtime) 이 7일 이상된 파일을 삭제(rm -rf) 해 달라는 의미이다.참고로 rm -rf 의 경우는 파일이든 디렉토리이든 모두 삭제한다. 이렇게 crontab을 등록하니 문제가 발생했다./usr/local/logs 디렉토리까지 지워진 것이다. 이를 방지하기 위해서는 4가지 방법이 있다. 1. mindepth 옵션 추가 00 0 * * * find /usr/loc.. 2015. 3. 31.
Java의 System.out을 파일 출력으로 변경하는 방법 http://epicdevs.com/8 아래 내용은 위 글을 가져온 것이다. Java에서 사용되는 System.out의 경우 디폴트로 콘솔에 출력되도록 지정이 되어있다. Java를 처음 접할 때는 System.out이 마법의 키워드인양 무조건 변경이 불가능 하다라고 생각하는 경우가 있는데 이는 오산이다. System.out을 잔뜩 사용해서 콘솔에 로그를 출력하던 프로그램이 있다. 그런데 만약 이것을 파일로 출력하는 방식으로 바꾸어야 한다면 어떻게 할 것인가? 단순히 생각하면 파일에 출력하는 유틸성 객체를 하나 만든다음 System.out을 사용한 모든 코드를 새로 만든 객체를 사용하는 방식으로 변경하면 될 것이다. 하지만 이보다 단순한 방법은 현재 콘솔에 출력을 하고 있는 System.out의 Print.. 2015. 3. 30.
Python 시작하기 Mac 환경에서 본 예제는 시작한다. 일단 파이썬을 실행시킬 수 있는 환경인지 먼저 확인이 필요하다. 터미널을 열어서 python을 실행시켜 보자. python 명령어를 터미널에서 입력해보면 위 화면처럼 확인할 수 있다. 버전은 2.7.6 버전이 실치되어 있다는 것을 알 수 있다. python 코드 작성 편의상 textwrangler를 에디터로 사용하였다. http://www.barebones.com/products/textwrangler 에서 다운로드 가능하다. 그렇다면 이제 hello world 를 찍어보자. 첨부된 ex1.py 파일을 참고한다. 먼저 에디터를 열어서 아래와 같이 코딩하면 된다. print “hello world" “”(쌍따움표), ‘’(따움표) 로 문자열을 감싸서 사용할 수 있다. .. 2015. 3. 30.
[자바8 람다의 힘] 2장 컬렉션의 사용 이 글은 "자바 8 람다의 힘" 책을 정리한 글입니다. Chapter 2. 컬렉션의 사용 Java8에서 컬렉션을 어떻게 사용하는지 알아보기 전에 Java에서 Collection은 무엇인지부터 알아보자. 다음은 Java Collection Framework의 기본 상속 구조이다. Java 프로그래밍을 하다보면 크게 3가지 객체타입을 마주하게 된다. - List Element 들의 순서가 있으며, 중복을 허용한다. - Set Element 들의 순서는 없고, 중복이 허용되지 않는다. - Map List와 Set이 집합적 개념이라면, Map은 검색적 개념이 가미된 Interface이다. key와 value로 구성되며, key를 통해 value에 접근할 수 있다. 주로 사용되는 HashMap의 경우 Java 버.. 2015. 3. 26.