분류 전체보기

JAVA

Java string, stringbuilder를 이용해 문자열 합치기

String 문자열 더하기String str = "A" + "B" + "C" + "D";String str = String("A") + String("B") + String("C") + String("D");String str = new String("AB") + String("C") + String("D");String str = new String("ABC") + String("D");String str = new String("ABCD"); 최종적으로는 new String(”ABCD”)만 사용되는데, 중간에 생성되는 Garbage Class가 생성되는 문제가 있습니다. 문자를 자주 더하거나 변경해야 하는 상황이라면 더 많은 String 객체를 만들고, GC 해야 합니다.→ 컴퓨터의 CPU, 메모리 ..

Spring Framework/Spring

Spring Annotation과 Meta Annotation 이해하기 - 어노테이션 활용법

Annotation자바 어노테이션은 MeteData를 소스 코드(class, method, field)에 붙여 Marker interface 역할을 하여, 특정 동작을 표시하는 데 사용합니다. Marker Interface란Marker Interface는 구현 클래스에 특별한 동작을 부여하거나 특정 속성을 나타내기 위해 아무 메서드도 포함하지 않는 인터페이스입니다.public interface Marker { // 아무 메서드도 정의하지 않음} 어노테이션 주의 사항@interface로 정의해야 합니다.모든 어노테이션은 기본적으로 java.lang.Annotation 인터페이스를 상속하기 때문에 다른 클래스나 인터페이스를 상속할 수 없다.Parameter 멤버들의 접근자는 public or defau..

개발 도서/만들면서 배우는 클린 아키텍처

헥사고날 아키텍처 구조 잡기, adapter-port 구조

계층형 아키텍처 구조 - web, domain, persistence 로 나누기최적화된 구조가 아닌 이유애플리케이션의 기능 조각이나 특성을 구분 짓는 패키지 경계가 없다.web 패키지에 UserController 추가, domain 패키지에 UserService, UserRepository, User 추가, persistence 패키지에 UserRepositoryImpl을 추가하게 되어 세부 기능과 역할별로 구분하기 어렵다.애플리케이션이 어떤 유스케이스들을 제공하는지 파악할 수 없다.AccountService, AccountController 처럼 작성하게 되면 어떤 유스케이스를 구현했는지 파악하기 어렵다.특정 기능을 찾기 위해서 어떤 서비스가 이를 구현했는지를 추측해야 하고, 해당 서비스 내의 어떤 메..

JAVA

Java Record 컴팩트 생성자(compactconstructor) 이해하기 - record, @QueryProjection 적용

Java의 record 클래스는 모든 필드에 대한 값을 자동으로 관리합니다. 또한, 불변 객체를 생성하기 위한 구조를 제공해 줍니다. record 클래스에서는 기본 생성자나 매개변수가 있는 생성자를 구현할 수 없습니다.왜냐하면 불변성을 보장하기 설계된 클래스이기 때문이다.record는 불변 객체를 보장하기 위해 설계되었습니다. 모든 필드는 final로 정의되며, 생성자 외의 다른 초기화 방법을 제공하지 않도록 기본 생성자를 허용하지 않습니다.기본 생성자는 매개변수 없이 객체를 생성합니다. 하지만 record의 특성상 모든 필드를 반드시 초기화해야 하므로 기본 생성자를 사용한 객체 생성은 논리적으로 불가능합니다.기본적으로 모든 필드는 생성자 파라미터로 설정됩니다. Compact constructorComp..

kylo
'분류 전체보기' 카테고리의 글 목록 (7 Page)