전임 관리자와 전임자가 하던 과제를 이어 받은 뒤. 어떻게든 개발 후 검수하기 전 지적사항을 해결해가는 과정을 간략하게 기록하고자 한다. 나와 같이 외롭게 문제를 해결해가는 이름 모를 1인 개발자 분들에게 도움이 됬으면 한다.내가 욕받이로 전락하게 만드는 전자정부프레임워크에도 서운함을 느끼며 기록한다. 1. 취약점, 시큐어 코딩 점검 관련. - 전자정부프레임워크(이하 전정프)에서 PMD를 제공한다. 전정프의 소개 란에도 써 있듯이 국가적 표준화를 한다고 하니 PMD를 사용하면 되겠거니 했다. 조치한 보고서를 제출한 뒤엔 수치스러운 말을 면전에 듣게 됐다. - 대부분의 정부 SW 개발은 행정안전부 지침을 따른다고 보면 될것 같다. 적어도 지금 내 경우는 그렇다. - 2016년 고지된 공개SW를 활용한 소프..
intellij에서 git 자동 트랙킹 기능을 사용해서 추가되는 파일을 자동으로 add 할 때 자주 발생해서 정리한다. 배경 git 자동 트래킹 설정보다 .gitignore 파일을 나중에 생성하면 자동 트래킹하는 상태로 남아있어 .gitignore 파일이 정상 작동하지 않는다. 그외 경우도 존재하는데, 지금은 기억이 나지 않는다.해당 상황발생시 intellij 의 git 메뉴로 뺄 수 없다. 해결 콘솔로 직접 해결. 캐시 삭제git rm -r -f --cached . 다시 모두 addgit add .
협업하는 환경에서 공통부분을 @AllArgsConstructor로 만들어서 공유했는데, 협업하는 개발자 한명이 @RequiredArgsConstructor로 바꿔서 보냈다. 처음엔 큰 차이가 있을까 싶어 그냥 본인이 개발한 소스를 추가했는데, 테스트 하다보니 생성자 주입이 작동하지 않아 찾아본 내용을 기록한다. 정리 @RequiredArgsConstructor 초기화 되지 않은 final 필드와 @NonNull 어노테이션이 붙은 필드에 대한 생성자 생성@AllArgsConstructor 모든 필드에 대한 생성자 생성. @RequiredArgsConstructor @RequiredArgsConstructor generates a constructor with 1 parameter for each field..
Mybatis에서 Enum 타입이 포함된 VO 객체를 하나만 전달 받아서 넣을 때는 정상적으로 enum 타입을 insert 했다. 그런데 list로 받도록 소스를 수정하면서 foreach로 객체를 한번에 insert 했더니 다음과 같은 에러 메시지가 발생했다.Type handler was null on parameter mapping for property '__frch_item_0.type'. It was either not specified and/or could not be found for the javaType (java.lang.Enum) : jdbcType (null) combination. 해결 아래와 같이 enum 타입 객체를 받을 때, typeHandler=org.apache.ibati..
배경 스프링 부트를 사용하면 익셉션 발생시 기본적으로 White Label 페이지를 보여준다. 그러나 실제 서비스에선 상황에 맞는 페이지를 보여줘야 하기 때문에, 로컬 환경에서도 해당 페이지가 정상작동 하는지 볼 수 있도록 설정 하고자 한다. application.yml server: error: whitelabel: enabled: false include-stacktrace: always JSP 파일 위치 JSP 파일들의 최상위 디렉터리인 views 까지 생략하고 기록한다. 기본 에러 페이지 : /error.jsp그외 상태 코드에 따른 에러 페이지: /error/404.jsp 기본 에러 페이지는 최상위에 넣지 않으면 인식되지 않으며, 상태 코드에 따른 에러 페이지 또한 /error 하위에 넣지 않으면..
배경 스프링 부트 2.0.0으로 코딩중이며, 협업하는 개발자가 스프링 부트를 모르는지 외장 톰캣 환경에서 작업하고 PR을 줬다. 로컬환경에서 먼저 테스트를 하는데, ajaxSubmit 함수를 이용한 통신에서 error를 반환했다. 외장 톰캣에선 문제가 없었고, 내장 톰캣에선 문제가 생겼던 해당 이슈에 대해 정리하고자 한다. ++ 추가확인해보니, 외장 톰캣에서도 에러가 떴다. 기능엔 이상이 없어 해당 개발자가 에러를 못보고 지나친듯 하다.Cannot forward to error page for request [/xxx/xxx/xxx] as the response has already been committed. As a result, the response may have the wrong status ..
외주 작업중인 프로젝트에 계속해서 다양한 모듈이 붙으면서 여러 프로젝트의 세션을 공유할 필요가 생겼다. 협업 환경에 대한 사정으로 사용하지 못해, 정리 해둔 내용을 훗날 쓸지 몰라서 기록한다. 처음엔 관계형DB에 넣기 위해 JDBC 세션을 사용했다가 전부터 눈여겨보던 Redis를 도입하기로 결정했다. 가정 로컬에선 Embedded Redis를 사용하고, 테스트 환경에선 라즈베리파이 3에 독립형 Redis를 설치해서 사용한다고 가정한다. Dependency compile('org.springframework.boot:spring-boot-starter-data-redis') compile('org.springframework.session:spring-session-data-redis') compile g..
레디스 설치 pi@raspberrypi:~ $ wget http://download.redis.io/redis-stable.tar.gzpi@raspberrypi:~ $ tar xvzf redis-stable.tar.gzpi@raspberrypi:~ $ cd redis-stable pi@raspberrypi:~ $ makepi@raspberrypi:~ $ sudo make install 레디스 시작 pi@raspberrypi:~ $ redis-serverlocalhost:6379 에서 시작된다. 레디스 접속pi@raspberrypi:~ $ redis-cli 외부에서 접속 가능하도록 설정(임시)127.0.0.1:6379> config set protected-mode noOK127.0.0.1:6379>
JDK 확인 pi@raspberrypi:~ $ apt list *jdk*Listing... Donedefault-jdk/stable 2:1.8-58+b2 armhfdefault-jdk-doc/stable 2:1.8-58+b2 armhfdefault-jdk-headless/stable 2:1.8-58+b2 armhfgcj-4.4-jdk/stable 4.4.7-1 armhfgcj-4.8-jdk/stable 4.8.5-4 armhfgcj-4.9-jdk/stable 4.9.3-14 armhfgcj-5-jdk/stable 5.4.1-4 armhfgcj-6-jdk/stable 6.3.0-18+rpi1+deb9u1 armhfgcj-jdk/stable 4:6.3.0-4 armhflibhtsjdk-java/stable ..