일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 웹서버오류
- Component
- java
- Spring Boot
- 서버실행실패
- Configuration
- 스프링 부트
- JPQL
- 스프링
- 토큰기반인증
- Spring
- api인증
- 토큰
- 오블완
- JWT
- BEAN
- JPA
- javamailsender
- 티스토리챌린지
- 자바
- 코틀린
- Stream
- kotlin
- entity
- map
- 8080error
- Token
- 클래스
- devpi
- 객체지향
- Today
- Total
목록devpi (36)
DeveloPiano
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와 결합하면 설정이 ..
Java의 Optional 클래스는 값이 있을 수도 있고 없을 수도 있는 상황을 처리하기 위해 설계된 클래스입니다. 특히, JPA와 같은 ORM 프레임워크에서 쿼리 결과를 다룰 때 Optional은 많이 사용됩니다. 이번 포스팅에서는 Optional>, Optional의 타입을 다룰 때 각 메서드인 isEmpty()와 isPresent()의 차이점과 그 상관관계에 대해 설명하겠습니다.1. Optional 개념 정리Optional은 Java 8에 도입된 클래스이며, 값이 존재할 수도 있고 존재하지 않을 수도 있는 객체를 표현하기 위해 사용됩니다. 이를 통해 null 값을 직접 처리하는 것을 피하고, 더 명확하고 안전한 코드를 작성할 수 있습니다. 2. Optional> 사용 시 동작1) Optional>란..
Java 8에서 도입된 Stream API는 데이터를 처리하고 변환하는 방식을 혁신적으로 개선했습니다. 컬렉션이나 배열의 데이터를 함수형 프로그래밍 스타일로 처리할 수 있도록 지원하며, 복잡한 데이터 처리 로직을 간결하고 직관적으로 구현할 수 있게 합니다. 이번 포스트에서는 Java Stream의 개념과 주요 기능을 살펴보고, 다양한 예시를 통해 어떻게 활용할 수 있는지 알아보겠습니다.Java Stream이란?Java Stream은 데이터 소스의 요소들을 추상화하여 일련의 연산(필터링, 매핑, 집계 등)을 처리할 수 있는 API입니다. 스트림을 사용하면 반복문 없이 선언적이고 함수형 프로그래밍 스타일로 데이터를 처리할 수 있습니다. 예를 들어, 리스트의 요소를 필터링하거나, 맵핑하여 변환하고, 집계하는 ..

이번 포스트에서는 스프링 부트를 활용하여 회원가입 시 이메일 인증을 요구하는 API를 구현하는 방법을 설명합니다. 사용자에게 인증 이메일을 전송하고, 이메일에 포함된 버튼을 클릭해야만 회원가입이 완료되는 구조입니다. 이 과정에서는 이메일 템플릿을 Thymeleaf로 구성하며, 인증 정보는 데이터베이스(DB)에 저장합니다.1. Gradle 설정이메일 인증 API를 구현하기 위해 먼저 필요한 의존성을 build.gradle 파일에 추가합니다. 아래 코드를 참고하여 의존성을 설정합니다.dependencies { implementation 'org.springframework.boot:spring-boot-starter-mail' implementation 'org.springframework.boo..
Kotlin은 Null Safety(널 안전성)을 제공하는 언어로, 개발자가 더 안전한 코드를 작성할 수 있도록 돕습니다. 특히, Kotlin에서는 null을 명시적으로 처리해야 하며, 이를 위한 기호가 바로 ? 입니다. 이번 포스팅에서는 Kotlin의 Nullable 타입과 이를 다루는 방법에 대해 알아보겠습니다.1. Nullable 타입: String?의 의미Kotlin에서 String?와 같은 표현은 null이 될 수 있는 타입을 의미합니다. 즉, String? 타입의 변수는 문자열 값을 가질 수도 있고, null을 가질 수도 있습니다. 반면, String 타입의 변수는 항상 문자열을 가져야 하며, null을 가질 수 없습니다. 기본 사용법var name: String = "Kotlin" // N..
Kotlin에서는 코드를 간결하고 직관적으로 작성할 수 있도록 여러 가지 편리한 기능을 제공합니다. 그중에서도 it 키워드는 람다 표현식에서 자주 사용되는 암시적 매개변수로, 코드를 깔끔하게 만들어주는 역할을 합니다. 이번 포스팅에서는 Kotlin의 it이 무엇인지, 어떻게 사용하는지, 그리고 사용할 때 주의해야 할 점에 대해 알아보겠습니다.1. it 이란 무엇인가?Kotlin에서 it은 단일 매개변수를 가진 람다 표현식에서 사용되는 암시적(implicit) 매개변수입니다. 즉, 람다 표현식이 하나의 인자만 필요로 할 때, 해당 인자를 명시적으로 선언하지 않아도 it이라는 이름으로 자동 참조할 수 있습니다. 이를 통해 코드를 더욱 간결하게 작성할 수 있습니다. 기본 사용법val numbers = list..
이 포스트에서는 스프링 부트를 사용하여 간단한 이메일 전송 API를 구현하는 방법을 설명합니다. 이메일 전송 기능은 여러 웹 애플리케이션에서 유용하게 사용되며, 스프링 부트와 JavaMailSender를 활용하면 간단히 구현할 수 있습니다.Gradle 설정이메일 전송 기능을 구현하기 위해 필요한 의존성을 build.gradle 파일에 추가합니다.plugins { id 'org.springframework.boot' version '3.1.0' id 'io.spring.dependency-management' version '1.0.15.RELEASE' id 'java'}group = 'com.example'version = '0.0.1-SNAPSHOT'sourceCompatibility ..
Kotlin과 Java는 모두 JVM에서 실행되는 언어로, 많은 공통점을 가지고 있지만, 코드 작성 방식에서는 차이가 존재합니다. 특히 어노테이션을 적용할 때 Kotlin에서는 Java와 다른 구문적 차이를 보입니다. 이번 포스팅에서는 Kotlin의 @field: 어노테이션을 Java와 비교하며 그 차이를 이해해보겠습니다.Kotlin의 프로퍼티와 어노테이션Kotlin에서는 프로퍼티가 field, getter, setter로 컴파일됩니다. 예를 들어, 다음과 같은 Kotlin 프로퍼티를 생각해 봅시다.var name: String = "Kotlin"이 프로퍼티는 컴파일되면서 다음과 같은 구성 요소로 나뉩니다:field: 실제 데이터를 저장하는 공간.getter: 프로퍼티의 값을 읽을 때 호출되는 메서드se..
Kotlin은 개발자가 데이터를 처리하는 데 있어 다양한 유틸리티 함수를 제공합니다. 그중에서도 flatten 함수는 중첩된 컬렉션을 단일 차원으로 평탄화할 때 매우 유용합니다. 이번 포스팅에서는 flatten 함수의 기본 개념과 사용법, 그리고 중복된 값을 처리하는 방법에 대해 알아보겠습니다.flatten 함수란?flatten 함수는 다차원(중첩) 컬렉션을 단일 차원의 컬렉션으로 평탄화하는 데 사용됩니다. 예를 들어, List>와 같이 중첩된 리스트를 List로 변환할 수 있습니다. 이 함수는 중첩된 구조에서 데이터를 단순화할 때 매우 유용합니다. 1. 간단한 예시다음은 flatten 함수를 사용한 간단한 예시입니다.val nestedList = listOf( listOf(1, 2, 3), ..
Kotlin은 간결한 문법과 강력한 기능으로 개발자들 사이에서 큰 인기를 끌고 있습니다. 그중에서도 data class는 데이터를 처리하는 데 있어 매우 유용한 도구입니다. 이 블로그 포스팅에서는 Kotlin의 data class가 무엇인지, 왜 유용한지, 그리고 어떻게 사용할 수 있는지를 살펴보겠습니다.1. Data Class란?data class는 이름 그대로 데이터를 담기 위해 설계된 클래스입니다. Kotlin에서는 data class를 사용하여 데이터를 다루는 객체를 매우 간단하게 정의할 수 있습니다. 이 클래스는 데이터를 다루는 데 필수적인 메서드들을 자동으로 생성해주기 때문에, 반복적인 코드를 작성할 필요 없이 간결한 클래스를 정의할 수 있습니다. 2. Data Class의 주요 특징Kotli..