일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- AF-S NIKKOR 85mm f/1.8G
- D750
- 니콘
- AF-S NIKKOR 50mm f/1.8G
- 50mm
- 출사
- 85mm 1.8g
- 꽃
- af-s 18-35
- 풍경
- 50mm f/1.8G
- 경치
- Photo
- spring
- 85mm f/1.8G
- 일상
- 18-35mm
- 렌즈
- camera
- AF-S 18-35mm
- daily
- 사진
- 푸른초장교회
- Nikon
- nikkor
- 여름성경학교
- 푸초
- AF-S NIKKOR 18-35mm f/3.5-4.5G ED
- 하늘풍경
- 카메라
- Today
- Total
목록병갈이블록 (142)
병갈이 블록
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dtAdDr/btqXFgrYGIK/7oYdkGCPkEIqItYZ4EPDA0/img.png)
오늘의 작업. 프로그램 개선. 쉘 실행환경 설정 1. 프로그램 개선작업 진행. - 어떠한 문제로 파일 목록에 포함되어 프로그램이 읽었으나 .exists() 실행 시 false가 떨어지는 파일들이 존재했다. 이에 대한 예외사항 추가 진행. - 이미지 확장자 추가. iPhone Raw 이미지파일 확장자 DNG 추가. - 프로그램 처리 시 로그 추가. 2. 쉘 실행환경 설정 터미널에서 쉘 스크립트를 실행하면 정상적으로 java를 실행하여 프로그램이 수행된다. 그런데 crontab으로 실행될 때만 꼭 java: command not found 에러가 발생을 한다. 동일한 쉘 스크립트를 수행했는데 왜 java를 인식하지 못할까? 구글링을 좀 해보니 crontab은 PATH를 스케줄 설정 파일 내에 별도로 두고 있..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bAs238/btqXrCpeJXW/2eAzVzCwMsbgMRSV353Jjk/img.png)
오늘의 작업. NAS 환경셋팅.(JAVA 설치 및 환경설정, 폴더 및 파일권한 설정 등) crontab 설정. jar파일 배포 및 정식 운영 전 실행 테스트. 1. NAS 환경셋팅. docker에 우분투를 설치하면서 java와 tomcat을 설치했었지만, NAS에 직접 설치를 진행해 본 적이 없었다. 일단, yum, apt-get, brew, rpm 등등...패키지 매니저가 없었기에 직접 파일을 wget을 통해서 다운받고, gzip을 통해서 .tar파일로 만들고 tar를 통해서 설치를 진행한다. 다운로드URL은 계속 바뀐다. 다운로드 클릭하고 오라클에 로그인을 하면 파일이 다운로드가 되는데 chrome 개발자도구를 통해서 Network를 확인해보면 잠깐 유효한 URL이 확인 가능하다. 그 URL을 통해서..
나의 개발 환경은 Mac, Synology, Ubuntu 이렇게 된다. Mac은 내가 사용하는 PC환경에서 필요할 듯 해서 같이 정리해 두고, Sysnology는 백업용 NAS이기에 파일 관리를 배치로 정리할 필요가 있다고 느꼈고, Ubuntu는 Docker에 올려 서비스 배포 및 테스트 환경이기에 쓸 일이 있을 것 같아 같이 정리해둔다. 1. Mac // 1. 스케줄 등록 $ crontab -e // 2. 실행 목록 조회 $ crontab -l // 3. 시작/종료/재시작 ?? 2. Synology // 1. 스케줄 등록 $ vi /etc/crontab // 2. 실행 목록 조회 // 3. 시작/종료/재시작 $ synoservicectl --start crond $ synoservicectl --sto..
우선, File, Date와 관련된 유틸을 만들면서 진행하였다. 큰 구조는 아래와 같이 구성하였다. FileRename : 파일 명을 일괄 변경하기 위한 클래스. FileMove : 파일을 일괄 이동하기 위한 클래스. FileInfoInstance : 하나의 File객체에 대해서 상위폴더 경로, 전체경로, 확장자, 파일명, 생성일자 등 새로운 파일명을 만들기 위해 필요한 부가 데이터들을 가져올 수 있도록 구성된 클래스. File 객체를 받아서 초기화된다. 초기화를 통해 각각의 클래스 객체를 생성하게 되면, 대상 폴더 정보를 가지고 있다가 대상 타입이 세팅되고, 실제로 처리프로세스를 실행하면 대상폴더에 있는 파일 목록 중 추가한 파일유형들만 리스트로 뽑아서 작업을 진행한다.
1. 개발 시작 개요. - Synology NAS를 통해서 백업중인 사진/동영상 파일의 정리가 필요했다. 이전에 파이썬으로 한번 파일명을 일괄수정한 적이 있는데 누락되는 파일도 생기고, 주기적인 동작이 필요한 상황이라 java로 배치파일을 만들어야 겠다고 생각하게 되었다. 2. 프로그램 내용. - 초기 안은 일괄로 파일을 읽어서 특정 포맷으로 이름을 변경하려고 했다. 물론 거기까지는 구현하는데 문제는 없었는데 생각해보니, 배치가 돌때마다 모든 파일을 읽는다는 문제, 변경 전/후 파일의 구분이 어렵다는 점이 있었다. 그래서 기본으로 사진, 동영상이 일괄 백업되는 루트를 배치 대상이 있는 폴더로 두고, 다른 폴더로 이동시키는 방향으로 안을 수정했다. - 급한건 아니지만, 배치 스케줄 관리를 계속 리눅스로 하..
파일의 시간 정보 수정을 위해 사용하는 기본 클래스와 함수. Files.setAttribute(Path path, String attribute, Object value, LinkOption...options) 예를 들면 아래와 같이 쓸 수 있다. Files.setAttribute(new File("file.txt").toPath(), "basic:creationTime", FileTime.fromMillis(new Date().getTime()), LinkOption.NOFOLLOW_LINKS); 각각의 항목을 보자. path : 대상 파일의 Path타입을 세팅. attribute : 수정할 항목. value : 항목에 대한 값. 찾아보진 않았지만 시간의 경우 대부분 FileTime타입으로 세팅을 하고..