표현식 안에 표현식을 사용할 때,즉, 표현식안에 동적 표현식을 사용하고자 할때 전처리 표현식을 사용합니다. 예를들어 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 을 해주고 나눴으나 ... 소수점 둘째자리에서 강제 반올림을 해버리는 현상을 발..
vi 로 작성한 파일의 문자열 내용을 치환하고 싶을 때 아래와 같이 사용한다. 예를 들어 '>>' 라고 입력한 부분을 '| tee -a' 라고 문서 전체에서 치환하고 싶을 때명령어 입력 상태에서 아래와 같이 작성하면:1,$s/>>/| tee -a/g - 기존 파일#!/bin/bashecho "This is line 1" >> logfile.log - 변경된 파일#!/bin/bashecho "This is line 1" | tee -a logfile.log 일괄로 치환되는 것을 볼 수 있다. 명령어에 대해 설명드리면, 다음과 같다.:1,$s/>>/| tee -a/g# 1,$ : 첫번째 라인부터 마지막 라인까지# s/>>/| tee -a : 대체하겠다 (substitute) '>..
MS-SQL 에서 일별 데이터를 주차별로 group by 해서 추출할때 select DATEPART(WEEK, 날짜) ...from 테이블 ...group by DATEPART(WEEK, 날짜) 이런식으로 n주차를 그룹핑 할 수 있는데MS-SQL의 @@DATEFIRST 설정값에 따라 주차를 묶는 범위가 정해진다. select @@DATEFIRST 아마 따로 설정하지 않았으면 위 쿼리를 조회해보면 7 이 조회 될 건데7은 일요일을 뜻한다. 고로 DATEPART(WEEK) 로 묶으면 일~토 가 1주차로 잡히게 된다. 근데 사용자에 따라 주차를 일-토 로 조회할 수도 있고월-일 로 조회할 수도 있다.뭐 상황에 따라서 다르게 조회 할 수도 있고... 일 데이터를 통째로 가져와서 스크립트에서 가공할..
order by 로 오름차순, 내림차순 정렬을 할 수 있지만 간혹 정렬컬럼의 특정 값만 맨 하단으로 보내고 싶을 때가 있다.그럴때 order by 절에서 case 구문을 사용하여 처리 한다. SELECT *FROM table명ORDER BY CASE WHEN column명 = '특정값' THEN 1 ELSE 0 END, column명 ASC(DESC); 특정값일때만 1로 처리하고 나머지값이 0으로 처리해서 정렬하게 되면특정값은 맨 하단으로 깔리고 나머지 값들만 오름차순, 내림차순 정렬을 할 수 있다. 예를들어 A단어, B단어, 미상 값을 order by 로 정렬하게 되면 A단어 B단어미상 또는 미상B단어 ..
[thymeleaf] Expression Utility 로 데이터 백분율 row 추가하기.통계 집계한 데이터를 조회하여 table 에 그려주는 과정에서중간중간마다 데이터 백분율을 작성해 주고 싶었다. thymeleaf each 를 사용해서 조회한 데이터를 아래와 같이 그렸다. 구분1월2월jong-bae.tistory.com 이전 포스트에서 thymeleaf 로 데이터 테이블을 가공해서 뷰에 그려줬는데이번엔 검색 필터로 조회할때마다 값을 비동기적으로 업데이트 하고자 했다. 일반적으로는 ajax 나 fetch 를 사용해서 서버로 부터 값을 받아와성공 결과로직에서 갱신할 엘리먼트를 지우고 다시 그려주거나 했다. 간단한 엘리먼트 갱신은 문제 없으나화면에 요소가 많으면 매우 불편하다. 하지만 아래..