일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 오블완
- JPQL
- 티스토리챌린지
- entity
- Spring
- SpringFramework
- Spring Boot
- map
- JPA
- 클래스
- 토큰
- 소프트웨어설계
- 자바
- 객체지향
- Component
- devpi
- 코틀린
- java
- Stream
- JWT
- BEAN
- ava백엔드
- 스프링
- 스프링 부트
- Configuration
- OOP
- kotlin
- springboot
- javamailsender
- Token
- Today
- Total
목록전체 글 (57)
DeveloPiano
코틀린(Kotlin)에서는 컬렉션을 순회할 때 for 문뿐만 아니라 다양한 반복 함수가 제공됩니다. 그중에서도 forEachIndexed는 인덱스와 요소를 함께 사용할 수 있어 리스트나 배열을 다룰 때 매우 유용한 함수입니다. 이번 포스팅에서는 forEachIndexed 함수의 개념과 실용적인 사용법을 예제와 함께 살펴보겠습니다.📌 forEachIndexed 함수란?코틀린의 forEachIndexed 함수는 forEach 함수와 유사하지만, 요소뿐만 아니라 인덱스도 함께 제공하는 특징이 있습니다.🔹 기본 문법inline fun Iterable.forEachIndexed(action: (index: Int, T) -> Unit)Iterable: 리스트, 배열 등 컬렉션을 반복할 수 있는 인터페이스ac..

코틀린(Kotlin)에서는 for 문을 사용하여 반복문을 쉽게 작성할 수 있으며, 반복 범위를 지정할 때 ..(range 연산자)와 until 키워드를 사용할 수 있습니다. 하지만 이 둘은 동작 방식이 다르기 때문에 적절한 상황에서 선택해야 합니다. 이번 포스팅에서는 ..과 until의 차이점과 활용법을 예제와 함께 알아보겠습니다.📌 for 문과 반복 범위코틀린의 for 문에서 특정 범위를 반복할 때 두 가지 주요 방식이 있습니다:.. 연산자 (Range)until 키워드이 두 가지 방법은 유사해 보이지만, 중요한 차이점이 있습니다.🔹 .. 연산자 (Range).. 연산자는 코틀린의 범위 연산자로, 지정한 시작 값부터 끝 값까지 포함하는 범위를 생성합니다. ✅ .. 사용 예제fun main() { ..

코틀린(Kotlin)은 컬렉션과 배열을 쉽게 다룰 수 있도록 다양한 유틸리티 속성을 제공합니다. 그중 indices 속성은 리스트(List)나 배열(Array)의 유효한 인덱스 범위를 가져올 때 유용합니다. 이번 포스팅에서는 indices 속성의 개념과 실용적인 사용법을 살펴보겠습니다.📌 indices 속성이란?코틀린의 indices 속성은 리스트(List)나 배열(Array)의 유효한 인덱스 범위를 반환하는 기능을 합니다. 🔹 기본 문법val indices: IntRangeindices는 IntRange 타입을 반환하며, 이는 컬렉션의 첫 번째 인덱스부터 마지막 인덱스까지의 범위를 나타냅니다.🛠 indices 사용 예제1️⃣ 리스트(List)에서 indices 사용하기fun main() { ..

코틀린(Kotlin)은 강력하면서도 간결한 문법을 제공하는 프로그래밍 언어로, 다양한 컬렉션 연산을 쉽게 수행할 수 있도록 도와줍니다. 그중에서도 sumOf 함수는 컬렉션의 요소를 합산할 때 매우 유용한 함수입니다. 이번 포스팅에서는 sumOf 함수의 사용법과 실용적인 예제를 함께 살펴보겠습니다.📌 sumOf 함수란?코틀린의 sumOf 함수는 컬렉션의 각 요소를 특정 값으로 변환한 후, 이 값을 합산하는 기능을 합니다. 🔹 기본 문법inline fun Iterable.sumOf(selector: (T) -> R): RIterable: 컬렉션(리스트, 셋 등)의 요소를 반복할 수 있는 인터페이스selector: (T) -> R: 각 요소 T를 숫자 R로 변환하는 함수반환값: 변환된 값들의 합sumOf..

Kotlin에서 check()와 require() 함수는 특정 조건이 만족되지 않을 경우 예외를 발생시키는 역할을 합니다. 두 함수 모두 입력 값 검증 및 상태 검증에 유용하며, if 문을 사용하는 것보다 간결하고 가독성이 좋은 코드를 작성하는 데 도움이 됩니다.1. check()check() 함수는 객체의 상태(state)를 검증할 때 사용됩니다. 주어진 조건이 false이면 IllegalStateException을 발생시킵니다. 사용 예시 (check() vs if)fun processData(data: List) { check(data.isNotEmpty()) { "데이터 리스트가 비어 있습니다." } println("데이터 처리 중: $data")}위 코드는 data가 비어 있으면 Il..
Java 8 이후로 스트림을 사용하면 대량의 데이터를 선언적이고 함수형 스타일로 손쉽게 다룰 수 있습니다. 특히 여러 연산을 통해 데이터를 하나의 값으로 축약(리듀스) 하는 기능이 자주 필요한데, 이를 위해 reduce와 Collectors.reducing 메서드를 활용할 수 있습니다. 이 두 방법은 모두 “데이터 집합을 하나의 결과로 축약한다”는 공통된 목적을 수행하지만, 사용하는 시점과 시그니처가 다릅니다. 이번 포스팅에서는 각각을 자세히 살펴보고, 사용 예시와 활용 팁을 알아보겠습니다.1. reduce 메서드 (Stream 인터페이스)1.1 reduce란?reduce 메서드는 스트림의 모든 요소를 하나의 값으로 축약하기 위한 종결 연산(Terminal Operation)입니다. Java 8 스트림에..
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에서 복합 키를 정의할 때 사용하는 어노테이션입니다. 여러 개의 필드를 묶어 하나의 임베디드 객체로 관리하고, 이를 엔티티의 식별자로 사용할 수 있도록 합니다. 이를 통해 복합 키를 객체로 관리할 수 있으며, 객체지..