이클립스에서 Tomcat을 기동시 The specified Tomcat installation directory does not exist 오류가 발생하는 경우가 있다. 오류의 원인은 명확하다. Tomcat이 설치된 위치를 못찾는것이다. 해결방법 이클립스 상단 Preferences > Server > Runtime Environment > Tomcat 클릭 > Edit tomcat이 설치되어 있는 위치를 확인하고 매핑시켜준다. 없으면 아래의 Download and Install 을 통해서 설치한다. 제대로 매핑이 되었다면 오류는 사라지고 tomcat을 재기동해도 정상동작을 한다. 끝!
Eclipse를 사용하며 주석을 설정하는 방법에 대해 알아보자. 위와 같이 아무 클래스 선언부 위에 /** 라고 입력하고 엔터를 쳐보자. 그럼 우측과 같이 @author 가 나오면서 주석을 입력할 수 있는 공간이 생긴다. Class와 마찬가지로 Method에도 메소드 위에 /** 라고 입력하고 엔터를 쳐보면 위와 같이 param, return 등의 정보가 세팅이 되며 주석을 입력할 수 있는 공간이 생긴다. 이런건 어디서 어떻게 세팅을 하는것일까? 아주 간단하게 설정이 가능하다. Eclipse 주석 설정 Eclipse 상단 메뉴 > Window > Preferences > code templates 입력 을 하면 위와 같은 화면이 보일것이다. 자바를 기준으로 설명을 진행하도록 하겠다. Java 쪽의 Cod..
MyBatis를 활용해서 여러가지 프로젝트를 하다보면 같은 MyBatis인데도 다른 경우가 있다. 바로 제목에 나온것처럼 Mapping 방식의 차이가 있을수 있기 때문이다. Query ID Mapping 방식 vs Mapper Interface 방식 으로 프로젝트마다 사용되는 방식이 다르다. "이게 더 좋으니 이걸로 쓰세요" 하려는 글은 아니고 이런 방식이 있고 이런 특징들이 있다 라는걸 알리고자 한다. Query ID Mapping 방식 Query ID Mapping 방식은 필자에겐 가장 익숙하다. 왜냐면 가장 많이 써온 방식이기 때문이다. 이전의 포스팅에서 MyBatis를 설명할때도 이 Query ID Mapping 방식으로 설명을 했었다. SELECT CODE_NAME , TO_CHAR(UPD_DT..
A라는 공유폴더에 E라는 계정으로 붙어 있는데 F라는 계정으로 변경을 해야 하는 상황이다. 이럴 경우 로그아웃을 하고 새로운 계정으로 로그인을 해야 하는 방법에 대해 기술한다. 윈도우의 검색 > cmd 라고 입력을 해서 명령 프롬프트 창을 열어준다. 현재 사용중인 공유폴더 조회 : net use 공유폴더 로그아웃 : net use \\현재 접속중인 공유폴더명 /delete 이렇게 내가 사용하고 있는 공유폴더에 대해 로그아웃을 수행할 수 있다. 그리고 다시 공유폴더로 들어가보려고 하면 새로운 계정을 입력하라는 창이 나온다. (혹시 열리지 않는다면 파일 탐색기 및 브라우저 모두 종료 후 다시 들어가보자.) 끝!
중요한 일은 아니지만 개발환경을 만드는 입장에서 어떻게 하면 조금 더 로그를 가독성이 좋게 보여줄 수 있을까 고민을 했고 출력 로그의 색상을 바꿔보기로 하였다. 바쁜 사람을 위해 결론부터 말하면 색상을 변경하기 위해서는 다음과 같이 하면 된다. logback-spring.xml ... 생략 ... 로그 패턴 정의 중 출력할내용을 %clr(출력할내용){red} 로 감싸준다. red 말고 다른 색상으로 대체 가능 다음은 출력로그의 색상을 변경하는 원리와 상세 적용 방안이다. 위의 AProject는 가장 기본적인 Springboot project의 모습이다. logback-spring.xml 파일은 물론이고 application.properties에도 로그에 대한 설정은 없다. 이 프로젝트를 실행시키면 다음과..
필자는 일단 이 글을 쓰면서도 이 include를 사용하여 가독성을 높이는게 더 나은 방법일까? 라는 의문을 계속 가지고 있다. 답은 어느정도 정해져있다. 내가 관리를 할때 파일을 여러개로 쪼개서 가독성을 높이는것이 좋으면 쪼개는거고 아니면 하나의 파일에 다 때려박아도 무관하다. spring의 application-context를 관리하는것과 비슷한 맥락이라고 보면 된다. 하나의 파일에 다 넣을수도 있지만 종류별로 분리함으로써 더 높은 효과가 예상된다면 그리 하면 된다. 어떻게 하는지 알아보자. logback-console-appender.xml [%d{HH:mm:ss.SSS}][%-5level][%logger.%method:line%line] - %msg%n utf8 logback-file-append..
Keycloak을 사용하면 세션, 쿠키 및 토큰 시간 제한을 자유롭게 설정할 수 있다. 설정방법에 대해 알아보자. 전역설정 (Realm 단위) KeyCloak Session, Token에 대한 Timeout 설정은 Realm Settings > Tokens 에서 가능하다. 이곳에 나온 용어가 해석이 어렵다면 아래의 표를 참조하도록 하자. 물론 내가 멋지게 해석할수는 없고 번역기를 돌린것이다. ConfigurationDescriptionRevoke Refresh Token새로 고침 토큰 흐름을 수행하는 OIDC 클라이언트의 경우이 플래그가 켜져 있으면 해당 새로 고침 토큰을 취소하고 클라이언트가 사용해야하는 요청으로 다른 토큰을 발행합니다. 이것은 기본적으로 새로 고침 토큰이 한 번만 사용된다는 것을 의미..
이전 Xml Config 방식에서 ComponentScan을 사용하는 방법은 다음과 같았다. applicationContext를 구성할때 이렇게 명시적으로 내가 읽어들여야하는 component들이 있는 package를 넣어줬다. 하지만 Springboot에서는 Xml Config보다는 Java Config를 사용하고 @기반의 설정을 많이 한다. 아니 이 Component Scan을 하지도 않는데 알아서 잘 된다. 어떻게 된 일일까? 바로 Springboot의 핵심! @SpringBootApplication 에 답이 있다. Springboot Main Class에 있는 @SpringBootApplication를 ctrl을 누르고 눌러서 들어가보자. @SpringBootApplication @Target(E..