주어진 root directory의 모든 하위 경로에 존재하는 압축파일을 찾아낸다.
군 CERT에서 정보보호병으로 복무할 당시 주요 업무 중 하나가 외부에서 들여온 저장매체를 백신 프로그램으로 검사하는 것이었는데, 그런데 당시 군에서 사용하던 백신 프로그램은 압축파일을 제대로 검사하지 못해 압축파일은 따로 빼내서 압축을 풀고 검사해야 했다.
원래는 수작업으로 압축파일을 찾아냈으나 대체로 압축파일이 너무 많거나, 디렉토리 구조가 너무 복잡해 작업이 번거롭고 누락이 발생할 위험도 있었다.
따라서 압축파일을 누락 없이 찾아낼 수 있는 도구가 필요했다.
압축파일 확장자명으로 알려진 것들로 필터링하는 수준에 그치고 있다.
따라서 세상에 존재하는 모든 압축파일을 다 찾아낼 수 있다고 확언할 수는 없다.
- 상용 프로그램으로서 배포 목적으로 개발한 게 아니고, 당시 속해있던 부서에서 '우리끼리 쓰는' 목적으로 만든 것이므로 사용자의 실수에 대한 처리나 UI 등이 불완전하다.
애초에 GUI는 없이 만들었다가, 만드는 김에 해보자 싶어서 만들어 본 것이고, 그마저도 인트라넷에서 Scene Builder를 구하기가 어려워 Swing을 사용해 다소 조악하다.
다만 이 프로그램을 6개월 정도 쓰다가 전역했는데, 사용 중에 문제가 발생한 적도 없고, 전역 후에도 얘기를 들은 적이 없으므로, 기능상 큰 문제는 없는 것으로 추정된다. - 한 파일에 모든 코드가 작성되어 있다는 문제점이 있다(일단 사용하는 것이 우선이었기 때문에).
- 프로그램을 실행하면 총 몇 개의 압축파일을 찾았고 현재 파일이 몇 번째 파일인지, 그리고 그 파일의 src 경로가 출력된다.
이 부분을 GUI 창에서 했으면 좋았겠지만 방법을 잘 모르겠어 그냥 console 출력을 사용했고, 때문에 출력을 보려면 콘솔이 제공되어야 한다.
즉 Windows라면 명령 프롬프트를 통해 실행해야 한다(java -jar finder.jar등).
나름대로 할 일을 찾아서 해냈다는 것에 뿌듯함을 느꼈다.
특히 연말에 부서 내 저장장치를 모두 검사한 적이 있는데, 이 때 이 프로그램이 없었다면 밤새도록 압축파일만 찾고 있었을 것이다.
이런 특수한 경우가 아니더라도 평상시 업무에서도 수작업에 비해 상당히 빠르게 파일을 찾아냈기 때문에 검사를 맡기러 오는 분들도, 검사를 하는 병사들도 많이 편해졌다.
- Logger 클래스 생성자 private으로 설정
원래 의도는 Singleton pattern이었으나 어이없게도 생성자가 public으로 되어 있었다....