
운영서버에 로그파일을 계속 만들게 되면언젠가 용량이 너무 많아서 디스크제한에 문제가 발생하게 된다. 그래서 적당한 시점에 로그파일을 압축한 뒤 보관하거나오래된 로그파일을 삭제하도록 설정해줘야 할 필요가 있다. 나는 간단하게 로그파일이 기준 용량을 넘으면 압축해서 보관하고 히스토리 갯수가 일정갯수 넘어가면 지우게끔 처리하였다. // application.yml...---spring: config: activate: on-profile: was1 logging: level: root: info file: name: /data/log/was1.log logback: rollingpolicy: max-file-size: 10MB max-hi..

날짜포맷의 데이터만 있을 때, 날짜형식의 데이터만 있을 때, 주간 요일을 표현해줘야 하는 방법은 아래와 같다. ${#temporals.format(#temporals.createDate(data.today, 'yyyy-MM-dd'), 'EE', 'ko')}${#temporals.format(#temporals.createNow(), 'EE', 'ko')} 문자형식의 날짜는 createDate 를 이용해서 날짜로 변환 해줘야 한다. 날짜 패턴에서 E 는 주간요일을 뜻하는데 EEEE 를 쓸 경우 주간요일 풀네임,EEE, EE, E 를 쓸 경우 주간요일 단축네임이다. locale 을 'ko' 로 하면 한글로 'en' 으로 하면 영문으로 표기 된다. 위 이미지 처럼 사용하기 위해 코드를 ..

Springboot 프로젝트 진행 중에 외부 라이브러리를 빌드시스템 없이 수동 추가하게 되어 남겨본다. 프로젝트 root 하위에 libs 폴더를 만들고 수동 등록할 jar 파일을 추가하였다. build.gradle 에 아래와 같이 작성하고 gradle refresh 해주면 끝. 나는 libs 폴더 하위 라이브러리를 전부 보라고 지정했다. implementation fileTree(dir: 'libs', includes: ['*.jar']) 파일별로 단독 지정하고 싶으면 아래와 같이 작성해줘도 된다.implementation files('libs/ibsheet8-1.1.4.jar') gradle dependency 하위에 directory 'libs' 가 생성된 것을 확인 ..

표현식 안에 표현식을 사용할 때,즉, 표현식안에 동적 표현식을 사용하고자 할때 전처리 표현식을 사용합니다. 예를들어 Map의 키값을 동적으로 처리해서 get 한다던가,List 의 특정 값만 처리하기 위한 동적 조건을 건다던가,그럴 경우 표현식안에 표현식을 써야하는 상황이 생기는데, 이때 전처리표현식을 사용합니다. 사용방법은 아래와 같이 밑줄(_) 2개를 앞뒤로 붙여 사용해줍니다.__${표현식}__ 저는 주로 List 에 동적조건을 줘서 값을 구할때 사용했습니다. 예시.1 위 경우는 필드가 m1, m2, m3 ... m12 인 경우라서같은 문장을 12번 써줘야 하는걸 반복문으로 돌린 경우 입니다. 각 열의 합을 구하기 위해 thymeleaf 에서 처리했습니다. 예시.2 위 경우는 날..

최근 thymeleaf 로 통계 데이터를 뿌려주는 과정에서 일부 데이터를 직접 thymeleaf 구문에서 가공을 한적이 있는데데이터형에 대한 의문이 생겨 남겨본다. 내가 의문을 가지게 된 부분은 나눗셈을 하여 백분율을 구하는 부분이었는데 보통 위 구문처럼 value 라는 필드가 int 형이라는 가정하에*1.0 을 곱해주어 실수(double) 형을 만들고 나누었을때 rate 값은 생각대로 0.83333333333 의 소숫점 실수형으로 계산되어numbers.formatPercent 를 사용하면 83.3% 라는 예쁜 백분율이 작성되었었다. 그래서 합산값의 백분율을 구하기 위해서 위의 코드처럼 동일하게 *1.0 을 해주고 나눴으나 ... 소수점 둘째자리에서 강제 반올림을 해버리는 현상을 발..

[thymeleaf] Expression Utility 로 데이터 백분율 row 추가하기.통계 집계한 데이터를 조회하여 table 에 그려주는 과정에서중간중간마다 데이터 백분율을 작성해 주고 싶었다. thymeleaf each 를 사용해서 조회한 데이터를 아래와 같이 그렸다. 구분1월2월jong-bae.tistory.com 이전 포스트에서 thymeleaf 로 데이터 테이블을 가공해서 뷰에 그려줬는데이번엔 검색 필터로 조회할때마다 값을 비동기적으로 업데이트 하고자 했다. 일반적으로는 ajax 나 fetch 를 사용해서 서버로 부터 값을 받아와성공 결과로직에서 갱신할 엘리먼트를 지우고 다시 그려주거나 했다. 간단한 엘리먼트 갱신은 문제 없으나화면에 요소가 많으면 매우 불편하다. 하지만 아래..