본문 바로가기

Back-end/JAVA31

[JAVA] Quartz 스케줄러 만들기 (1) - 실행 서론 예전에 커뮤니티 사이트에서 글목록을 수집하고 DB에 저장하는 크롤러를 만든적이 있었다. 이 때, 주기적으로 실행하기 위해서 crontab이나 Windows 작업 스케줄러를 사용했다. 이 두개의 스케줄러는 사용하기는 편하지만 프로그램과 스케줄을 별도로 관리해야하기 때문에 관리포인트가 늘어나는 단점이 있다. 그래서, 이번에는 스케줄러를 직접 만들어보려고 하는데 Spring Batch는 써본적이 있기 때문에 이번에는 Quartz로 만들어 보려고 한다. 개발환경 - jdk-11.0.5 - quartz-2.3.2 org.quartz-scheduler quartz 2.3.2 Quartz란? - Java Scheduling 라이브러리. - 일련의 작업들을 단발성, 주기성으로 실행할 수 있음. 구성요소 1. JO.. 2020. 11. 9.
[JAVA] 간단한 HTTP 서버 구축하기 서론 요즘 Java로 파일 읽기/쓰기 기능을 구현하다가 실제 웹에서도 원하는대로 로그 파일을 읽어올 수 있을까 최근에 Java를 이용해서 파일을 읽고 쓰는 기능들을 구현해보았다. 이 기능들을 어디서 활용할 수 있을까 고민하다가 웹에서 로그를 조회하는 용도로 쓰면 좋을것 같았다. 이전에는 Python이나 Node를 이용해서 웹서버를 구현했었는데, Java에 손을 댔기 때문에 이번에는 Java 기본 모듈들을 이용하여 간단한 웹서버를 구현해보려고 한다. * jdk-11.0.5를 기준으로 작성되었음 소스코드 1. HttpServerManager.java 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849.. 2020. 11. 5.
[JAVA] 파일 분할 - 용량 단위, 아래에서 위로 ↑ 서론 지난 포스트에서 파일을 위에서 아래로 읽어가며 분할하는 방법을 알아보았다. 이번 포스트에서는 반대로 아래에서 위로 올라가며 파일을 분할하는 방법을 다루어보려고 한다. 위에서 아래로 읽어서 분할하는 방식은 과거 데이터를 읽을 때는 좋겠지만 과거보다는 최신일자의 데이터를 확인하는 경우가 일상다반사이기 때문에 이번에 다루는 내용이 좀 더 활용도가 높다고 생각한다. 소스코드 1. FileUtils.java 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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60.. 2020. 10. 22.
[JAVA] 파일 분할 - 용량 단위, 위에서 아래로 ↓ 서론 프로그램을 구동하다보면 로그가 쌓이기 마련이다. 일반적이라면 일정주기나 용량별로 파일을 분할하고 압축을 하지만, 로그가 많이 쌓이지 않는 프로그램이라면 한개의 파일로 관리할지도 모른다. 한개의 파일로 관리하면 백업하기도 편하다. 하지만, 어떠한 이유로 갑작스럽게 로그가 많이 쌓이게 되면 어떻게 될까? 당연히 용량이 급격하게 늘어날 것이다. 최근 겪었던 상황이 딱 이러했다. 새로운 기능을 추가하였는데, 해당 기능에서 RAW 데이터를 로그에 저장하면서 파일 용량이 600MB를 넘어갔다. 처음에 원인을 몰랐을 때, 로그파일을 열어봐야하는데 메모장이나 노트패드로는 열리지 않아서 난감했다. 결국, 서브라임으로 열긴했는데 이 마저도 너무 느려서 답답했다. 그래서, 파일을 용량 단위로 분할 해주는 기능을 JAV.. 2020. 10. 22.