String의 메서드 중 split()을 사용하던 중 오류가 발생했다. 위 코드를 실행했을 때, 결과로 split에 "test", "", ""가 들어있을줄 알았다. 하지만 결과는 아래와 같이 나왔다. split에 "test" 한개만 담긴 것이다.(빈문자열("")이 무시

Gradle은 Ant와 Maven과 같은 이전 세대 빌드 도구들의 단점을 보완하고 장점들만 모아 만들어 다국어 개발지원에 중점을 둔 오픈소스 빌드 자동화 도구이다.Gradle은 빌드 스크립트를 XML이 아닌 JVM에서 동작하는 스크립트 언어인 Groovy 기반의 DSL

위 코드를 실행하면 UnsupportedOperationException 를 마주한다. 왜그럴까? 결론부터 말하자면 list는 불변인 값인데 Collections.sort()를 통해 값을 바꾸려해서 나타나는 Exception이다.이 글은 Java 17을 기준으로 작성

객체에 Getter나 Setter 메서드가 있어야 한다.기본 생성자와 Getter 혹은 Setter 메서드가 있어야 한다.자바는 컴파일시에 class의 아무런 생성자가 없다면 자바 컴파일러가 자동으로 기본 생성자를 만들어주기 때문에 따로 선언해주지 않아도 된다. 하지만
의존 관계가 한번 주입 되고나면 대부분 어플리케이션이 종료될 때까지 의존 관계를 변경할일이 없어 중간에 변경이 불가능하게끔 불변으로 설계해야 한다.수정자 주입을 사용하려면, setter 메서드를 public으로 열어두어야 하는데 누군가의 실수로 변경할 수도 있고, 변경

JWT이 나오게 된 배경 쿠키 쿠키란 클라이언트가 웹사이트에 접속할 때, 그 사이트에서 사용한 일련의 작은 기록 파일이다. 서버가 클라이언트에 정보를 전달할 때 저장하고자 하는 응답 헤더(Cookie)에 저장하여 전달하고 Key-Value 형식의 문자열 형태로 저장
| 또는() 그룹\[] 문자 셋, 괄호 안의 어떤 문자든지 있으면 ok\[^] 부정 문자 셋, 괄호 안의 문자 외에 모든 ok(?:) 찾지만 그룹으로 기억하지 않음? 없거나 있거나\* 없거나 있거나 많거나\+ 하나 또는 많거나{n} n번 반복{min,} 최소{min,m
스프링의 Dispatcher Servlet은 컨트롤러로 요청을 전달한다. 이 때 컨트롤러에서 필요로 하는 객체를 만들고 값을 바인딩하여 전달하기 위해 사용되는 것이 ArgumentResolver이다. 아래의 어노테이션들은 모두 ArgumentResolver로 동작한다.
JPA를 사용하는 어플리케이션에서 무분별한 객체 생성을 막고자 Entity 클래스에@NoArgsConstructor의 accesslevel을 private로 설정하면 다음과 같은 오류가 발생한다.위 오류에서 알 수 있다싶이 JPA에서 Entity 클래스는 매개변수가 없
Record 클래스는 JDK 14부터 나온 필드의 타입과 이름만 필요한 불변 데이터 클래스이다.아래 코드를 살펴보자.위 Person 클래스는 한번 생성이 되면 변경할 수 없는 불변 클래스이다. Person 클래스를 불변 클래스 로 사용하기 위해 작성한 코드들은 다음과

java 17, spring boot 3.2.0을 사용하면서 발생한 오류이다.아래 사진은 Spring boot에 맞는 spring-cloud 버전을 보여준다. 오른쪽 Release Train 부분이 Spring boot 버전인데 본인은 spring boot 3.2.0
@SpringBootTest를 사용하면 @Mock 어노테이션을 알아들을 수 있다? 왜지?@SpringBootTest안에는 아래 어노테이션이 존재하는데 아래 SpringExtension를 찾아봐도 Mock과 관련된 내용을 찾을 수 없었다.근데 왜 @MockBean을 사용
ASM: https://asm.ow2.io/Javassist: https://www.javassist.org/ByteBuddy: https://bytebuddy.net/여러 바이트 코드 조작 라이브러리 중 ByteBuddy를 사용하는 것이 좋
JPA를 이용해서 N:1관계를 만들 때 사용되는 @ManyToOne과 @JoinColumn을 사용하면서, 위 코드와 같이 @ManyToOne에도 연관관계가 반드시 존재해야 한다는 조건인 optional = false @JoinColumn도 nullable=false가

MDN Web 문서에 따르면 정의는 아래와 같다.HTTP Method는 자원에 대해 수행할 원하는 작업을 나타내는 요청 메서드의 집합이다.\-MDNHTTP request methods - HTTP | MDN어떤 리소스(자원)에 대해서 원하는 행위를 할 수 있도록 모아놓