* 개요 ResponseEntity#getHeaders().setContentType(...) 를 호출했는데 UnsupportedOperationException 발생 * 원인 getHeaders() 로 HttpHeaders 가져올때는 Collections.unmodifiableList() 를 씌워서 반환함. 헤더 설정은 생성당시에만 하고, 그 뒤에는 보기만 하라는거. * 해결 헤더는 생성시에 설정함. MultiValueMap headers = new LinkedMultiValueMap(); headers.add("Content-Type", "application/json; charset=UTF-8"); ResponseEntity response = new ResponseEntity(/*바디*/, hea..
String 반환 대신 ResponseEntity 사용 header 에는 "Content-Type", "application/json; charset=UTF-8" 추가 되어 있어야 함 https://otep.tistory.com/38 * 기타 StringHttpMessageConverter 선언하는 방법 있었으나 알 수 없는 에서 SAXParserException 발생하여 시도해보지 못함. https://stackoverflow.com/questions/19218122/cvc-complex-type-2-4-c-the-matching-wildcard-is-strict-but-no-declaration-can
* 개요 mybatis 에 resultType 에 제대로 된 클래스명 썼음에도 불구하고 다음 오류 발생 ClassNotFoundException: Cannot find class: xxx.xxxx.xxx at org.apache.ibatis.type.TypeAliasRegistry.resolveAlias(TypeAliasRegistry.java:120). * 문제 원인 - 일반적인 class 의 오타, 패키지명 오타, alias 선언 문제 등이 아니고 그냥 Project 꼬인 경우임 - resultType으로 할 클래스를 A 라고 하면, A 클래스를 만들었다가 지웠다가 다시 만들거나, 이름을 변경하거나 하면서 내부적으로 꼬이게 된듯. - 프로젝트 생성 초기에 클래스 이름 정한다고 이름 바꾸고 영어사전 찾..
* 개요 mdb.js 추가했는데 다음 오류 나며 미작동 mdb.min.js:1 Uncaught TypeError: Cannot read property 'addEventListener' of null at Object.t.init (mdb.min.js:1) at mdb.min.js:1 * 해결 body 로딩 완료 후 해당 js 가 작동해야 하는데 순서가 바뀌면서 없는 요소롤 불러와 생기는 오류 https://mdbootstrap.com/support/general/uncaught-typeerror-cannot-read-property-addeventlistener-of-null/ 불러오는 중입니다... head 에 쳐박혀 있는 mdb.js 호출 부분을 body 로 보내자 해결
* 환경 Spring boot 2.XX Eclipse 1. Application 클래스에 다음 어노테이션 추가 @PropertySource(value = { "classpath:/application-${spring.profiles.active}.properties" }) - 추가 했는데도 계속 다음 오류 나는 경우? java.io.FileNotFoundException: class path resource [application.properties] cannot be opened because it does not exist => DB Confg 나 Security Config 파일을 따로 두고 있었는데, 거기서도 @PropertySource 선언해놓은 상태였던 경우.. 2. 파일 준비 applicat..
프린터를 살때 20000원 짜리 해피머니 상품을 준다고 한다. 난 20000원 상품권이 들어있을줄 알았지... 1. 동봉되어있던 쿠폰번호를 긁어서 얻어낸 후 2. 프린터제조사 홈페이지에 프린터를 등록 3. 이벤트 요구사항에 따라서 상품 후기를 남기고, 캡쳐를 하고, 해당 캡쳐를 주어진 이메일로 발신 ... 며칠후 문자메시지로 1만원권X2개의 해피머니 상품권 도착 4. 해피머니 홈페이지에 들어감. 회원가입 필요 - 키보드 보안프로그램 설치. 새로고침 몇번함. - 휴대폰 본인인증을 하고, 일반적인 회원가입 과정을 마침 5. 다시 로그인.. 하려는데 키보드 보안프로그램 문제라며 비밀번호가 안쳐짐 - 새로고침 후 다시 하니 되긴 하는데 비밀번호를 빨리치면 (보안프로그램이?) 지워버림. 천천히 쳐야함. 6. 로그..
* 코드블럭 내의 코드를 복사해서 메모장에 붙이면 개행을 못함 (코드블럭 내 코드 블럭 씌우기도 더럽게 힘들어 ) https://dogcowking.tistory.com/358 * 코드블럭 아닌 일반 글로 쓰여진 코드를 복사해서 메모장에 붙이면 1줄당 개행이 2번씩 됨 https://dogcowking.tistory.com/260 * 들어간 코드 를 포스트 작성중 붙이면 안나옴 #loginBox td.buttonZone input { width :95%; } * 긴문장 넣으면 개행 못함 faklfjkldfksafsdkkkkkkkkkkkkkkkkkkkkkkfaklfjkldfksafsdkkkkkkkkkkkkkkkkkkkkkkfaklfjkldfksafsdkkkkkkkkkkkkkkkkkkkkkkfaklfjkld..
* 개요 Maven Install 했는데 sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target .. 등 인증서 오류 * 원인 처음에는 인증서 관련된 해결을 시도하려고 했었으나 관련 없었음. 대상 프로젝트는 Maven 다중 모듈로 구성된 프로젝트였고 Root, 모듈1, 모듈2 ,... 로 구성되었고 모듈2는 모듈1에 대한 의존성을 갖고 있었음 모듈 2 사용 위해서 Root, 모듈 1 빌드 했어야 했는데 하지 않으면서 생긴 (전혀 관련 없어 보이는 ) 오류 * 관련 로그 전문 Failed to execute goal on project monitor..
* 개요 MySQL 사용하는 웹앱에서 DB 접속하지 못하고 다음 오류 발생 ... Client does not support authentication protocol requested by server; consider upgrading MySQL client Cause: org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Client does not support authentication protocol requested by server; consider upgrading MySQL client) * 원인 MySQL 8은 로그인 정보를 암호화하여 보내도록 설정이 가능 암호화 없이 로그인 하려할때 발..
* 개요 TestCase 클래스를 상속받아 구현한 테스트 클래스를 실행시킬때 다음 오류 발생 java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=main(java.lang.String[])], {LeadingIdentifierMatcher:fClassName=java.lang.String[],fLeadingIdentifier=main]] from org.junit.internal.requests.ClassRequest@1d81eb93 at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:37) at org.eclipse.jdt.internal.jun..
Maven 적용 안한 상태의 프로젝트를 적용한 프로젝트에서 의존성 추가하기 * 개요 Maven 적용 안한 상태의 프로젝트(A)를 적용한 프로젝트(C)에서 의존성 연결해 가져다 쓰기 참조대상 프로젝트를 Maven 적용 안한 상태로 프로젝트를 유지해야 할 필요가 있는 경우 * 방법 프로젝트 A는 Maven 적용 안함 프로젝트 B는 Maven 적용 B 에서 Java build path > Source(탭) > Link Source(버튼) 으로 A 의 소스 폴더 (.../src) 를 추가 프로젝트 C에서는 B에 대한 의존성을 추가하면 프로젝트 A의 클래스를 그대로 쓸 수 있음. - pom.xml 에 sourceDirectory 로 추가하는 방법은 동작하지 않았음 C:\MYSPACE\workspace\PrjA\s..
* 내 프로젝트 A의 클래스를 B에서 가져다 쓰고 싶은 경우 별다른 설정 할 필요 없음. 둘다 Maven 프로젝트이고 같은 Workspace 안에 있다면 그냥 Dependency 추가 가능 com.mypjt myProjectA 0.0.1-SNAPSHOT * 다중 모듈 프로젝트 같은 pom 을 사용하는 여러 프로젝트를 만들고 싶은 경우 1. 프로젝트 'parent' 를 다음 조건으로 생성 생성시 'Maven Project' 로 생성 packaging : pom 2. 'Parent' 의 pom 을 상속받는 프로젝트는 다음 조건으로 생성 생성시 'Maven Module' 로 생성 Parent 를 '1' 에서 정의한 프로젝트로 설정 (packaing 은 jar 나 war 무관) (pom.xml 안에 태그가 생성..
일반 코드 Dud 날짜 자동 인식 없음 Dud.toDate(str); 날짜 패턴 의한 String -> Date 전환 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); d = sdf.parse(str); Dud.toDate_pat("yyyy-MM-dd", str); Date 한달 뒤로 조정 Calendar c = Calendar.getInstance(); c.setTime(d); c.add(Calendar.MONTH, 1); return c.getTime(); Dud.addDay(d, 1); yyyyMMdd 형으로 String 변환 SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); return sd..
* 개요 최대한 간단하고, 누구나 쓰기 쉬운, 라이브러리라기 보다는 을 만들어보자는 생각에서 만들었습니다. 인터넷 뒤져보면 흔한 코드들이지만 좀 더 체계적으로 정리해보자는데 의의가 있습니다. https://github.com/dogcowking/DckUtil * 목표 - 최대한 단순한 코드로 구현 - 최대한 다른 코드와의 의존성을 줄임. - 자주 쓸만한 기능은 메서드 하나로 만듦. - 의존성 툴 사용 안 함. 의존성 툴까지 진도 안 나간 초보, 회사 프로젝트에서 의존성 추가가 번거로운 환경들 고려한것. - 오픈소스. GITHUB 에 공유중이며 누구든지 수정에 참여 가능. - JAR를 쓰든, 코드중 일부를 가져다 쓰든, 다 가져다 쓰든 무관. * 종류 - 원래는 Dck 클래스 하나에 때려박고 싶었지만, 분..
*개요 컬럼 중 '관리번호' 가 있는데 숫자 뿐만 아니라 A01, A02, ... 형태의 번호도 있어 VARCHAR 로 선언됨. 그대로 ORDER 하게 되면 1,11,111,2,22,3,.... A1,A11,A111,A2,..... 순으로 정렬됨. 제대로 정렬해보도록 하자. * 한글-영어-숫자 순으로 정렬 조건 비교시 REGEXP 이용해서 다음과 같이 사용 가능 SELECT A.MNG_NUM, CASE WHEN A.MNG_NUM REGEXP '[가-힣].*' THEN 1 ELSE 0 END AS isHangeul, CASE WHEN A.MNG_NUM REGEXP '[A-Za-z].*' THEN 1 ELSE 0 END AS isAlphabet, CASE WHEN CAST(A.MNG_NUM AS UNSIGN..
* 오류 상세 정보 문제 서명: 문제 이벤트 이름: APPCRASH 응용 프로그램 이름: WINWORD.EXE 응용 프로그램 버전: 14.0.4762.1000 응용 프로그램 타임스탬프: 4bae25cd 오류 모듈 이름: btmofficea.dll 오류 모듈 버전: 1.1.0.51 오류 모듈 타임스탬프: 4d6e642d 예외 코드: c0000005 예외 오프셋: 00000000000065df OS 버전: 6.1.7601.2.1.0.768.3 로캘 ID: 1042 문제에 대한 추가 정보: LCID: 1042 skulcid: 1042 온라인 개인 정보 취급 방침 읽기: http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0412 온라인 개인 정보 취급 방침을 사용할..
* 개요 gradle 환경에서 프로젝트 A가 있고 B가 이걸 include 해서 쓰고 있음. (참고 : https://dogcowking.tistory.com/355?category=796635) B에서 쓰고 있는 A의 메서드가 NoSuchMethodError * 환경 Eclipse Oxygen Gradle 5.6.2 * 해결 아무 문제 없었음. 프로젝트 A, B를 clean & build 다시 한 후 해결됨 이걸 해도 안되는 경우가 있었는데 이때는 B의 bin 폴더를 수동으로 삭제후 다시 build 했을때 해결된 경우도 있었음.
* 개요 모든 소스에 다음 빨간줄 쳐지고 다음 오류 The declared package does not match the expected package src.main.java * 해결 https://stackoverflow.com/questions/6997524/the-declared-package-does-not-match-the-expected-package 이유없이 꼬여서 그런경우 있음 프로젝트 닫았다가 열면 해결
* @Repository 에 페이징 포함된 find 정의를 다음과 같이 함. Page findByPp(PostPlace pp, PageRequest of); 실행시 다음오류 발생 java.lang.IllegalArgumentException: At least 2 parameter(s) provided but only 1 parameter(s) present in query. * 해결 find 메서드 정의 당시 PageRequest 아닌 Pageable 로 정의해야 함. Page findByPp(PostPlace pp, Pageable of);