일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 스프링 부트
- 티스토리챌린지
- embededid
- JPQL
- java
- 복합 키
- devpi
- Spring
- JPA
- 코틀린
- 널 허용
- entity
- map
- kotlin
- 토큰
- email api 구현
- ispresent
- 스프링
- @embededid
- jpa repository
- 자바
- 이메일 본인인증
- Spring Boot
- javamailsender
- mutablemap
- string.repeat()
- 객체지향
- 오블완
- Token
- string?
- Today
- Total
목록Develop (41)
DeveloPiano
String.repeat() 메서드는 Java 11부터 새롭게 도입된 문자열 메서드로, 특정 문자열을 지정한 횟수만큼 반복하여 연결한 새로운 문자열을 반환합니다. 이 메서드를 활용하면, 반복문 없이 간단히 문자열을 여러 번 반복하는 작업을 쉽게 처리할 수 있습니다.public String repeat(int count) 동작 방식원본 문자열을 count 횟수만큼 연속해서 이어 붙인 새로운 문자열을 반환합니다.count가 0이면 빈 문자열("")을 반환합니다.count가 1이면 원본 문자열과 동일한 문자열을 반환합니다.count가 음수면 IllegalArgumentException을 발생시킵니다. 사용 예시public class RepeatExample { public static void main..
Kotlin에는 키-값 쌍의 데이터를 저장하고 관리할 수 있는 다양한 컬렉션이 있습니다. 그중에서도 Map과 MutableMap은 데이터를 키-값 쌍으로 저장하며, 둘 다 유사한 구조를 가지지만 변경 가능 여부에 따라 그 역할이 나뉩니다. 이번 포스팅에서는 Map과 MutableMap의 차이점과 사용법에 대해 알아보겠습니다.1. Map (읽기 전용 Map)Map은 읽기 전용 컬렉션으로, 데이터를 추가, 수정, 삭제할 수 없습니다. 키-값 쌍을 통해 데이터를 저장하며, 동일한 키를 가질 수 없다는 특징이 있습니다. 동일한 키로 여러 값을 저장하려 하면, 마지막으로 저장된 값이 해당 키의 값이 됩니다. Map 사용법Map은 mapOf() 함수를 사용하여 쉽게 생성할 수 있습니다.val readOnlyMap ..
Spring Framework에서는 객체를 스프링 빈(Sprint Bean)으로 관리하여 의존성 주입(DI)을 통해 애플리케이션을 구성합니다. 이를 위해 다양한 어노테이션을 제공하며, 그중 대표적으로 @Bean, @Component, @Configuration 어노테이션이 있습니다. 이들은 객체를 스프링 컨테이너에 등록하고 관리하는 데 중요한 역할을 합니다. 각각의 역할과 차이점에 대해 알아보겠습니다.1. @Component개요@Component는 클래스 수준에서 사용하는 어노테이션으로, Spring이 해당 클래스를 빈으로 자동 등록하도록 합니다.컴포넌트 스캔(Component Scan)을 통해 Spring이 @Component가 붙은 클래스를 찾아서 빈으로 생성하고 컨테이너에 등록합니다.특징@Compo..
데이터베이스 설계에서 때로는 하나의 필드가 아닌 두 개 이상의 필드를 결합하여 기본 키(Primary Key)로 사용해야 할 때가 있습니다. 이런 경우를 복합 키(Composite Key)라고 하며, JPA에서는 이를 지원하기 위해 @EmbeddedId와 @IdClass라는 두 가지 방식을 제공합니다. 이번 포스팅에서는 그중 @EmbeddedId를 사용하여 복합 키를 관리하는 방법에 대해 알아보고, 간단한 예시를 통해 사용법을 소개하겠습니다.@EmbeddedId란?@EmbeddedId는 JPA에서 복합 키를 정의할 때 사용하는 어노테이션입니다. 여러 개의 필드를 묶어 하나의 임베디드 객체로 관리하고, 이를 엔티티의 식별자로 사용할 수 있도록 합니다. 이를 통해 복합 키를 객체로 관리할 수 있으며, 객체지..
대규모 데이터를 다룰 때, 한 번에 모든 데이터를 가져오는 것은 성능 상 문제가 될 수 있습니다. 이때 페이징(Pagination)을 통해 데이터를 나누어 처리하면 메모리 사용량을 줄이고, 서버 성능을 최적화할 수 있습니다. Spring Data JPA에서는 Pageable 인터페이스를 사용하여 간단하게 페이징을 구현할 수 있습니다.이번 포스팅에서는 Pageable의 개념, 사용법, 그리고 페이징과 정렬을 어떻게 적용하는지 살펴보겠습니다.1. Pageable이란?Pageable은 Spring Data JPA에서 제공하는 인터페이스로, 특정 페이지의 데이터를 가져오는 데 필요한 정보를 정의합니다. 페이지 번호, 한 페이지에 포함될 데이터의 개수, 정렬 방식 등을 설정할 수 있습니다. 이와 함께 사용되는 P..
백엔드에서 토큰을 이용한 인증 및 권한 관리는 사용자 인증의 핵심 요소입니다. 토큰은 사용자의 신원을 증명하는 정보가 포함된 작은 데이터 조각으로, 세션 기반 인증 방식에 비해 확장성과 보안성이 뛰어납니다. 이번 포스트에서는 백엔드에서 사용되는 다양한 토큰 관리 방식을 설명하고, 각 방식의 장단점을 살펴보겠습니다.토큰 기반 인증의 주요 방식JWT (JSON Web Token)OAuth2 (Access Token & Refresh Token)API KeySession Token이 중 가장 널리 사용되는 JWT와 OAuth2의 Access/Refresh Token 방식에 대해 자세히 설명하겠습니다.JWT (JSON Web Token)JWT는 JSON 객체를 기반으로 한 토큰으로, 사용자 정보와 인증 상태를 ..
Scheduler(스케줄러)는 애플리케이션에서 특정 작업을 정해진 시간, 간격, 주기로 자동 실행되도록 설정하는 기능입니다. Spring Boot에서는 스케줄러를 사용하여 배치 작업, 정기 보고서 생성, 데이터 백업 등의 반복 작업을 손쉽게 구현할 수 있습니다.Spring Boot에서는 @Scheduled 어노테이션을 활용하여 작업을 쉽게 예약할 수 있습니다. 다양한 표현식과 옵션을 통해 복잡한 스케줄링 요구사항을 간단하게 구현할 수 있습니다.Scheduler의 주요 특징간편한 설정 : @Scheduled 어노테이션을 사용해 간단하게 주기적인 작업을 설정할 수 있습니다.다양한 주기 표현 : 고정된 간격, 특정 시간, cron 표현식 등을 사용하여 다양한 스케줄링이 가능합니다.멀티 스레드 지원 : 멀티 스..
Spring Boot를 사용하면서 DTO(Data Transfer Object)와 Entity 간의 매핑은 흔히 발생하는 작업입니다. 이러한 매핑을 직접 구현하는 것은 번거롭고, 코드가 중복되기 쉽습니다. MapStruct는 이러한 문제를 해결해주는 강력한 매핑 프레임워크로, 코드 작성을 최소화하면서 성능 좋은 매핑 코드를 자동으로 생성해 줍니다. 이번 포스트에서는 MapStruct의 개념과 간단한 예제를 통해 Spring Boot에서 어떻게 활용할 수 있는지 알아보겠습니다.MapStruct란?MapStruct는 Java에서 컴파일 타임에 매핑 코드를 생성하여 런타임 성능을 최적화하는 매핑 라이브러리입니다. DTO와 Entity 간의 변환이 필요한 경우, MapStruct를 사용하면 매핑 코드를 수동으로..
Spring Boot와 JPA를 사용하는 개발 환경에서 데이터베이스와 상호작용할 때 JPQL과 QueryDSL은 중요한 역할을 합니다. 이 글에서는 JPQL과 QueryDSL의 기본 개념을 소개하고, 각 기술을 활용한 예시 코드를 제공하여 차이점을 이해할 수 있도록 설명합니다.1. JPQL과 QueryDSL이란?JPQL (Java Persistence Query Language)는 JPA에서 제공하는 쿼리 언어로, 객체를 대상으로 하는 쿼리를 작성할 수 있습니다. SQL과 유사하게 보이지만, SQL과는 달리 데이터베이스 테이블이 아닌 JPA 엔티티를 기반으로 작동합니다.QueryDSL은 타입 안전성, 코드 자동 완성, 동적 쿼리 생성 등 다양한 장점을 제공하는 쿼리 빌더 라이브러리입니다. QueryDSL..
Spring Boot JPA와 JPA Repository는 데이터베이스와의 상호작용을 간편하게 해주는 도구입니다. 이 글에서는 JPA, Spring Data JPA, JPA Repository의 개념을 이해하고 간단한 예시를 통해 사용법을 알아보겠습니다.1. JPA (Java Persistence API)란?JPA는 자바 애플리케이션에서 객체와 데이터베이스 간의 매핑을 관리하는 Java 표준 API입니다. 복잡한 SQL 쿼리 작성 없이도 자바 객체와 관계형 데이터베이스 테이블을 쉽게 연결할 수 있도록 도와줍니다. 2. Spring Data JPA란?Spring Data JPA는 JPA의 기능을 더욱 쉽게 사용할 수 있도록 Spring에서 제공하는 라이브러리입니다. Spring Boot와 결합하면 설정이 ..