
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 를 사용해서 서버로 부터 값을 받아와성공 결과로직에서 갱신할 엘리먼트를 지우고 다시 그려주거나 했다. 간단한 엘리먼트 갱신은 문제 없으나화면에 요소가 많으면 매우 불편하다. 하지만 아래..

통계 집계한 데이터를 조회하여 table 에 그려주는 과정에서중간중간마다 데이터 백분율을 작성해 주고 싶었다. thymeleaf each 를 사용해서 조회한 데이터를 아래와 같이 그렸다. 구분1월2월3월4월5월6월7월8월9월10월11월12월합계접수 예약 실제로는 구분 앞에 대분류, 중분류가 더 있어서 위와 같은 형태가 여러개 그려지게 되는데접수/예약/(예약율)/접수/예약/(예약율)/... 이렇게 중분류가 바뀌는 시점에 예약율 행을 추가해주고 싶었다. 처음엔 서비스단에서 데이터 가공을 해서 위코드 그대로 쓸까 했으나thymeleaf 에서 해결 할 수 있지 않을까 싶어서 타임리프 유틸들을 조합해서 해결해 보았다. 접..
mail 서버에 spf, dkim, dmarc 등이 설정되어 있는지 혹은 어떻게 설정되어 있는지 확인해야 할 때가 있다. 그땐 nslookup 을 이용해서 확인해보면 된다. # spf > nslookup -type=text sample.co.kr # dkim > nslookup -type=text selector._domainkey.sample.co.kr # dmarc > nslookup -type=text _dmarc.sample.co.kr dkim 같은 경우에는 selector 를 알고 있어야 해서 dkim 설정파일이나 메일 앞단 보안장비에 설정된 값을 찾아보아야 한다. * 가장 찾기 쉬운 방법은 해당 도메인으로 받은 메일에서 원문보기를 보면 selector 를 금방 알 수 있다. DKIM-Signa..

출근해서 어제 작업하던 java 파일을 열었는데 죄다 빨간 줄 그어져 있는 것이 아닌가... java 파일이 import 가 안잡히는 상황이고 cannot find symbol 에러가 잡혀 있었다. 딱히 소스파일 문제는 아니고 어제 아무 이상이 없었으므로 인텔리제이에서의 문제라고 보고 캐쉬를 초기화 해봤더니 해결 되었다. 이후 인텔리제이 재기동 되면서 해당 문제가 사라졌다. 참고블로그 [IntelliJ] java: cannot find symbol(클래스 import가 안될 때) 📎 [IntelliJ] java: cannot find symbol GitHub에서 프로젝트를 Clone한 뒤 실행하는데 다음과 같은 오류가 발생했습니다. 다른 클래스가 import가 되지 않는 현상인데요, 아래 방법을 통해 해..

프로젝트의 결과물이 거의 나옴에 따라 운영서버에 배포해서 이것저것 보는 중에 이상하게 리소스파일들 (js, font, css ) 을 계속 로드해오는 것을 확인했다. 분명 로컬에서는 느끼지 못했던 현저한 속도저하를 느꼈다. 우씨 로컬에서도 느꼈으면 해결하고 배포했을 텐데... 뭐지 싶어 리소스들 response header 를 봤더니 cache-control이 죄다 no-store 로 되어있는 것이 아닌가... no-store 는 캐싱을 하지 않겠다 이기 때문에 매번 리소스를 로드하게 된다. 리소스 캐시컨트롤 설정은 여러방법이 있는데 나는 간단한 것을 좋아하여 application.yml 에 리소스 캐시 설정을 추가했다. spring: web: resources: cache: cachecontrol: no..