-
[QueryDsl] QueryDsl에서 DBMS 내장함수 사용하기(to_char 등)
Template 쿼리를 만들 때 가끔 DBMS에서 제공하는 내장함수를 이용해야 할 때가 있다. (to_char, to_date 등등) QueryDsl도 객체기반이다보니 내장함수를 method 호출해서 사용하는 방법은 없다. 그런 부분을 해결하기위해 Template 기능을 제공한다. Template에 사용 할 함수를 직접 입력하고 객체값을 바인딩해서 쿼리에 함수를 추가시킨다. Template는 반환 타입에 따라 몇가지로 나뉜다. (5.0.0 기준) StringTemplate NumberTemplate BooleanTemplate DateTemplate EnumTemplate Comp... Read More
-
[Vue.js] 뷰에서 navigation bar 사용해보기(vue-navigation-bar)
검색해보면 Vue.js에서 navigation bar(menu bar?)를 위한 다양한 컴포넌트들이 있다. 그 중 내가 사용한건 vue-navigation-bar 다. vue-navigation-bar는 상단 메뉴처럼 나오는데 항목에 이미지, 부가적인 텍스트 등이 추가로 사용이 가능하며 반응형, router에 대한 지원도 해주기때문에 해당 컴포넌트를 선택했다. vue-navigation-bar는 Vue2, Vue3 모두 지원을 한다. 현재 5.0.0 버전까지 나왔는데 Vue2는 4.1.0 버전을 사용해야 정상적으로 빌드가 된다. 설치 //Vue3 npm i vue-navigation-bar ... Read More
-
[IntelliJ] IntelliJ에서 wildfly/jboss program argument 설정하기
STS에서 wildfly를 사용할 때 보면 program argument와 VM argument가 나눠져있다. VM argument에서는 힙 메모리나 로그같은 설정을 하고 program argument에서는 standalone.xml 위치 설정이나 base dir 설정 등을 한다. STS에서는 한 화면에서 가능하지만 IntelliJ는 따로 분리되어 있다. 다음 순서대로 진행하면 program argument 설정이 가능하다. Run/Debug Congifuration Startup/Connection Run나 Debug 선택 Startup script의 Use default 체크 해제 ... Read More
-
[Git] window에서 filename too long 문제 해결
오류 윈도우에서 git으로 repository를 clone하거나 checkout을 할 때 unable to create file C:\dev\my_project\........ (filename too long) 이라고 뜨면서 커맨드를 실패 할 때가 있다. 원인 말 그대로 파일명(단순 파일명뿐 아니라 파일의 전체 경로 포함)이 너무 길어서 생기는 문제다. 윈도우는 내부 API를 위해서 파일명을 260자리로 제한한다고 한다. 해결 1. 파일명 조정 전체경로까지 포함해서 260자이기 때문에 조절을 하려면 가능은하다. 하지만 코드 파일이면 경로에 패키지까지 포함되어있기 때문에 쉽게 바꾸기는 어렵다고 생... Read More
-
[JAVA] lombok의 @Superbuilder
lombok을 사용하면서 객체 생성을 할 때 builder 패턴을 많이 사용한다. 아무래도 setOOO()도 안하고 @Builder선언 하나로 간단하게 사용이 가능해서 더 편하게 쓴다. 이런 @Builder가 상속관계에서는 원하는대로 작동하지 않는다. 자식 객체에서 builder()로 객체를 빌드할 때 부모의 필드는 사용 할 수가 없다. 바로 IDE에서 컴파일 오류로 판단해서 보여준다. 그럴 때 사용하는게 @SuperBudiler다.(lombok v1.18.2부터) @SuperBudiler는 자식이 부모의 필드까지 빌더 패턴으로 사용하게 해준다. @SuperBudiler 어노테이션을 보면 이렇게 설명되... Read More