2025/05 29

LocalDate.parse(입력문자,포맷);

LocalDate.parse(입력문자열, 포맷터) 는 문자열을 LocalDate 객체로 변환할 때 사용하는 정적 메서드임.LocalDate.parse(입력문자, 포맷) – 문자열을 날짜로 파싱하는 메서드LocalDate.parse(String text, DateTimeFormatter formatter) 는문자열 형식의 날짜를 LocalDate 객체로 변환(parse) 하는 메서드임.입력 문자열의 형식을 DateTimeFormatter.ofPattern() 을 통해 지정할 수 있음.1. 기본 구조LocalDate.parse("2025-05-21", DateTimeFormatter.ofPattern("yyyy-MM-dd"));첫 번째 인자: 문자열(String)두 번째 인자: 포맷터(DateTimeForm..

BE/Java 2025.05.29

date.format()

Java에서 date.format() 은 날짜/시간 객체를 지정한 포맷 문자열로 변환하는 메서드임.Java 8 이후의 java.time API에서는 LocalDate, LocalDateTime, ZonedDateTime 등에서 format() 메서드를 지원함.date.format() – 날짜 객체를 문자열로 변환하는 메서드format() 은 Java 8 이상의 java.time 패키지에서 제공되며,날짜/시간 객체를 사람이 읽을 수 있는 문자열 형태로 포맷할 때 사용함.DateTimeFormatter 와 함께 사용되며, 스레드 세이프하고 직관적인 날짜 출력 방식을 제공함.1. 기본 사용법LocalDate date = LocalDate.of(2025, 5, 21);DateTimeFormatter format..

BE/Java 2025.05.28

DateTimeFormatter.ofPattern

DateTimeFormatter.ofPattern() 은 Java 8 이상에서 날짜와 시간 객체(LocalDate, LocalDateTime 등)를 포맷 문자열로 변환하거나, 반대로 문자열을 파싱할 때 사용하는 포맷 정의 메서드임.DateTimeFormatter.ofPattern – 날짜 포맷 지정 메서드DateTimeFormatter.ofPattern(String pattern) 은 Java 8 이상에서날짜와 시간의 출력 형식을 지정하거나, 문자열을 날짜로 변환할 때 사용할 포맷 형식을 정의하는 메서드임.SimpleDateFormat 의 최신 대체제로, 스레드 세이프하며 불변(immutable)한 객체임.1. 기본 사용법날짜를 문자열로 포맷하기 (format)LocalDate date = LocalDa..

BE/Java 2025.05.27

temporalAdjusters

TemporalAdjusters 는 Java 8 이상에서 제공하는 날짜 조정 유틸리티로, LocalDate 등 날짜 객체를 쉽게 변환하거나 맞춤 조정할 수 있도록 도와주는 기능임.TemporalAdjusters – 날짜를 손쉽게 조정하는 자바 유틸리티TemporalAdjusters 는 Java 8+ java.time.temporal 패키지에 포함된 클래스이며,날짜를 특정 기준(예: 다음 달 첫째 날, 이번 달 마지막 날, 특정 요일 등)으로 조정하는 기능을 제공함.1. 언제 사용하는가?복잡한 날짜 계산 로직을 간결하게 구현하고 싶을 때매달 첫날, 마지막 날 계산특정 요일(예: 이번 달 둘째 화요일 등) 구하기다음 영업일, 특정 조건의 날짜 구하기→ if문, Calendar 복잡한 코드 없이 선언적으로 날..

BE/Java 2025.05.26

chronofield

ChronoField 는 Java 8 이상에서 날짜와 시간의 각 필드를 직접 지정하고 조작할 수 있게 해주는 열거형(Enum) 임.ChronoField – 날짜/시간의 필드 조작용 EnumChronoField 는 java.time.temporal 패키지에 포함된 Enum으로,날짜 및 시간의 세부 항목(예: 연도, 월, 일, 시, 분 등)을 직접 다루기 위한 필드 정의 집합임.각 필드는 TemporalField 인터페이스를 구현하며, LocalDate, LocalTime, ZonedDateTime 등에서 직접 접근 및 수정 가능함.1. 왜 ChronoField를 사용하는가?Java의 LocalDate, LocalTime, ZonedDateTime 등은 내부적으로 다양한 필드 단위 정보를 포함함.이 정보를 ..

BE/Java 2025.05.25

chronounit

ChronoUnit 은 Java 8부터 도입된 날짜/시간 계산을 위한 열거형(enum) 클래스로, java.time 패키지에서 TemporalUnit 인터페이스를 구현함.ChronoUnit – 자바 날짜/시간 연산 단위 EnumChronoUnit 은 Java 8의 java.time 패키지에 포함된 Enum으로,기간(Duration) 또는 날짜 간 차이(Period) 를 연산할 때 사용하는 시간 단위(HOURS, DAYS, MONTHS 등)를 명확하게 표현하는 도구임.1. ChronoUnit 주요 목적LocalDate, LocalDateTime, ZonedDateTime 등과 함께 사용하여날짜 간 차이 계산 또는 특정 단위만큼 덧셈/뺄셈 연산에 활용됨코드의 가독성과 명확성 향상2. 사용 가능한 시간 단위C..

BE/Java 2025.05.24

npm install --legacy-peer-deps

npm install --legacy-peer-deps 옵션은 npm v7 이상에서 발생하는 peer dependency 충돌을 우회하기 위한 설정임.npm install --legacy-peer-deps 기본값으로 설정하기1. 배경 설명npm 버전 7부터는 peerDependencies를 자동으로 설치하면서 충돌을 강하게 검사하게 되었음.이전 버전에서는 단순히 경고만 표시하고 설치를 계속했지만,npm 7+ 에서는 peerDependencies 충돌이 있으면 설치가 실패하게 되었음.예시 오류:ERESOLVE unable to resolve dependency tree해결 방법:npm install --legacy-peer-deps→ 이전 방식처럼 peer dependencies 충돌을 무시하고 설치를 강..

FE/React 2025.05.23

@ConfigurationProperties, @ConstructorBinding

@Value 는 간편하지만, 설정이 많아질수록 복잡하고 유지보수에 불리해짐.이럴 땐 @ConstructorBinding 과 @ConfigurationProperties 를 사용하여 설정값을 객체 단위로 구조화하여 관리하는 것이 바람직함.@ConfigurationProperties + @ConstructorBinding을 활용한 설정 관리@ConfigurationProperties 는 Spring Boot에서 외부 설정 파일(application.yml 등)의 값을 Java 객체로 바인딩하는 어노테이션임.여기에 @ConstructorBinding 을 함께 사용하면 불변성(immutability) 과 IDE 자동완성, 타입 안전성, 테스트 용이성 등을 모두 만족할 수 있음.1. 기존 방식: @Value 방식..

@Value

@Value – Spring에서 설정값 주입에 사용하는 어노테이션@Value 는 Spring에서 application.properties, application.yml 또는 시스템 환경변수, 커스텀 프로퍼티 등에서 값을 읽어와 주입하기 위한 어노테이션임.간단한 구성 값이나 상수를 주입할 때 매우 유용하게 사용됨.1. 기본 사용법@Value("${server.port}")private int port;@Value("${설정 key}") 형태로 사용하며,해당 key가 application.properties 또는 application.yml 에 존재해야 함예시:# application.ymlcustom: greeting: "안녕하세요"@Value("${custom.greeting}")private Stri..

@ElementCollection

@ElementCollection – 값 타입 컬렉션 매핑 어노테이션@ElementCollection 은 JPA에서 기본 타입 또는 Embeddable(값 객체)의 컬렉션을 별도의 테이블에 매핑할 수 있도록 도와주는 어노테이션임.주로 String, Integer, Enum 등과 같은 값 객체 리스트를 다른 엔티티 없이 저장하고자 할 때 사용함.1. 왜 사용하는가?JPA에서 일반적으로 @OneToMany 관계를 매핑할 경우, 반드시 대상이 Entity 여야 하고,별도의 ID를 가지는 테이블이 필요함.하지만 단순히 "문자열 목록", "Enum 리스트", "주소 정보 집합" 과 같은 작은 값의 집합을 저장하고 싶을 때굳이 엔티티로 분리하고 ID를 부여하는 것이 과도함 → 이럴 때 @ElementCollecti..