Gradle 의존성 버전은 최신버전으로 추가한다. dependencies { implementation group: 'com.github.ulisesbocchio', name: 'jasypt-spring-boot-starter', version: '3.0.4' } 암호화 예시 코드 평문을 암호문으로 바꿔보겠다 import org.assertj.core.api.Assertions; import org.jasypt.encryption.pbe.StandardPBEStringEncryptor; import org.jasypt.encryption.pbe.config.SimpleStringPBEConfig; import org.junit.jupiter.api.Test; import org.springframewor..
에러 내용 Invalid character found in method name. HTTP method names must be tokens 에러 상황 테스트 서버에 프로젝트를 배포한 뒤 테스트 하려고 Postman에서 POST 요청을 했더니 위와 같은 에러가 발생했다. 에러 설명 이 에러는 HTTP 요청에 유효하지 않은 문자가 포함되어 발생한 에러이다. 이 에러의 주요 원인은 서버가 SSL 설정이 안 되어 있어 HTTPS가 활성화 되어있지 않은 상태에서 HTTPS 요청을 보낸 경우이다. 테스트 용도로 사용하는 서버라서 SSL 설정을 하지 않았다. 당연히 HTTPS 설정을 하지 않았는데 HTTPS 요청을 보냈으니 에러가 난 것이다. 그 외에도 포트번호나 메소드 이름이 틀릴 수 있으니 URL을 잘 확인하고..
1. byte[] → String 으로 변환하는 일반적인 방법 아래 4가지 방법을 사용할 수 있다. String happy = "Happy !!"; byte[] byteHash = happy.getBytes(); // 1번 String plainText1 = new String(byteHash); // 2번 String plainText2 = new String(byteHash, StandardCharsets.UTF_8); // 3번 String plainText3 = new String(byteHash, Charset.forName("UTF-8")); // 4번 String plainText4 = new String(byteHash, Charset.forName("EUC-KR")); 2. byte[] ..
간단한 API 테스트 중 에러 발생. 에러 메세지는 아래와 같다. ERROR [DirectJDKLog.java - log] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint 'javax.validation.constraints.NotEmpty' validating type 'java.lang.Long'. Check configuration ..
테스트 도중 런타임 에러가 발생했다. IllegalArgumentException 에러니까 잘못 된 인자가 넘어갔다는 거다. 아래는 에러 메세지다. 읽어보면 해당 Class에서 선언된 JSON의 필드 중에 중복된 값이 있다고 한다. 친절하게 중복 선언된 필드 이름과 클래스 경로까지 알려준다. Class net.com.demo.domain.Entity declares multiple JSON fields named 'regdate'; conflict is caused by fields net.com.demo.domain.Entity #regdate and net.com.demo.domain.CommonEntity#regdate 본인의 경우는 상속된 부모 CommonEntity라는 클래스에 regdate가 ..
Timestamp 자료형 데이터를 LocalDateTime으로 받아 출력하면 날짜가 원하는 format으로 나타나지 않고 아래와 같이 응답받는 문제를 발견했다. {"regdate": { "date": { "year": 2023, "month": 1, "day": 9 }, "time": { "hour": 14, "minute": 41, "second": 39, "nano": 0 } } } 날짜 데이터를 timestamp 형식으로 변형하기 위해 직렬화/역직렬화가 쉬운 Gson을 사용하기로 했다. 우선 Gson 모듈을 추가해준다. implementation group: 'com.google.code.gson', name: 'gson', version: '2.10.1' implementation group: '..
go 빌드 에러가 발생했다. $ go run main.go # golang.org/x/sys/unix vendor/golang.org/x/sys/unix/syscall_darwin.1_13.go:29:3: //go:linkname must refer to declared function or variable vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.go:27:3: //go:linkname must refer to declared function or variable vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.1_13.go:40:3: //go:linkname must refer to declared ..
아래는 지금부터 만들어 볼 매크로의 내용을 정리해본 사항이다 pyautogui 설치 마우스 커서가 움직임이 있는지 감지 마우스 커서를 랜덤으로 이동 마우스 클릭 이벤트 pyautogui 설치 파이썬으로 마우스 이벤트 프로그램을 만드려면 pyautogui가 필요하다 혹시라도 파이썬을 설치 안 했거나 pip 또는 pip3가 설치 안 되어 있다면 아래를 참고하자 [Python] MacOs에서 Python 3.x 설치, 환경설정, 버전 변경, pip 설치 [Python] MacOs에서 Python 3.x 설치, 환경설정, 버전 변경, pip 설치 macOS에서는 기본적으로 python2 버전이 설치되어 있지만, 실제 개발에선 3버전이 거의 쓰이기 때문에 3버전을 설치하는 것이 필수이다 지금부터 mac에서 Pyt..
macOS에서는 기본적으로 python2 버전이 설치되어 있지만, 실제 개발에선 3버전이 거의 쓰이기 때문에 3버전을 설치하는 것이 필수이다 지금부터 mac에서 Python 3.x 버전을 설치할 것이다 Python3.x 설치 먼저 mac에서 터미널 창을 켠뒤 파이썬이 설치되었는지 확인해보자 아래 두가지 중 아무거나 입력가능하다 python -V # 또는 python --version # 출력 결과 : Python 2.7.16 파이썬이 not command 라고 뜨거나, python 2.x.x 버전이 뜬다면 3버전을 설치해야한다 brew install python3 python --version # 출력 결과 : Python 3.10.2 homebrew로 파이썬3을 설치해준다 본인 현재기준 3.10버전이 ..
데이터 클래스(Data Class) 코틀린의 데이터 클래스(Data Class)는 데이터를 다루는데 최적화된 클래스로 equals(), hashCode(), toString(), copy(), componentN() 5가지 유용한 함수들을 내부적으로 자동으로 생성해준다. 이 함수들은 코딩에서 캡슐화를 위해 필수적이지만 자바에서 사용할 때 코드를 생성해줘야하는 번거로움이 있다. IDE로 쉽게 생성할 수 있는 단순 노동이긴 하지만 개발자들은 이마저도 귀찮다.. 자바로 클래스를 구현할때는 아래처럼 getter&setter를 포함하여 여러 생성자들을 만들어줘야한다. 하지만 데이터 클래스는 이러한 불필요 작업을 제외시킬 수 있기에 편리하게 사용된다. public class OfficeWorker { private..