일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- portconflict
- 티스토리챌린지
- sumof
- kotlin
- 8080error
- 객체지향
- 서버실행실패
- 토큰기반인증
- Spring Boot
- entity
- javamailsender
- 스프링 부트
- Stream
- JWT
- 웹서버오류
- filternotnull
- Token
- JPA
- foreachindexed
- Spring
- map
- JPQL
- 자바
- 오블완
- 스프링
- devpi
- api인증
- 코틀린
- 토큰
- java
- Today
- Total
목록분류 전체보기 (50)
DeveloPiano

웹이나 모바일 앱 개발에서 사용자 인증은 보안의 핵심입니다. 특히 OAuth2.0 기반의 인증 시스템에서 자주 언급되는 개념이 바로 Access Token과 Refresh Token입니다. 많은 개발자들이 처음 접할 때 이 두 토큰의 차이와 사용 목적에 대해 헷갈려 하곤 합니다. 이번 포스팅에서는 Access Token과 Refresh Token이 무엇인지, 왜 필요한지, 그리고 실제 인증 절차에서는 어떻게 사용되는지를 쉽게 설명 드리겠습니다.📌 Access Token이란?**Access Token(엑세스 토큰)**은 사용자 인증이 완료된 후 클라이언트에게 발급되는 짧은 수명의 토큰입니다. 서버는 이 토큰을 통해 사용자의 신원을 확인하고, 해당 사용자가 요청한 리소스에 접근할 수 있는지를 판단합니다.✅..

웹 개발을 하다 보면 자주 마주치는 오류 중 하나가 바로 다음과 같은 메시지입니다:Web server failed to start. Port 8080 was already in use처음 접하는 개발자라면 이 메시지가 다소 당황스럽게 느껴질 수 있습니다. 이 포스팅에서는 이 오류가 발생하는 원인과 해결 방법을 단계별로 알아보겠습니다.❓ 이 오류는 무엇인가요?간단히 말해, 8080번 포트를 이미 다른 프로그램이 사용 중이기 때문에 새로 실행하려는 웹 서버가 해당 포트를 사용할 수 없어 발생하는 오류입니다.8080번 포트는 웹 개발에서 자주 사용하는 기본 포트 중 하나로, 여러 애플리케이션(예: Tomcat, Spring Boot 등)에서 기본값으로 설정되어 있습니다.🛠 해결 방법1️⃣ 포트를 사용 중인 ..

소프트웨어 개발과 운영을 하나로 묶는 DevOps는 현대 IT 환경에서 필수적인 개념이 되었습니다. 하지만 DevOps가 하나의 프로그램인지, 혹은 특정한 프로세스를 의미하는지 헷갈리는 분들도 많습니다. 이번 포스팅에서는 DevOps의 개념, 핵심 원칙, 그리고 실무에서 어떻게 적용되는지에 대해 상세히 알아보겠습니다.📌 DevOps란?DevOps는 **Development(개발) + Operations(운영)**의 합성어로, 소프트웨어 개발과 운영 간의 장벽을 허물고 자동화, 협업, 지속적인 개선을 통해 더 빠르고 안정적인 소프트웨어 제공을 목표로 하는 개념입니다.❌ DevOps는 하나의 프로그램이나 특정한 툴이 아닙니다. ✅ DevOps는 소프트웨어 개발과 운영을 효과적으로 관리하는 과정과 문화를 의..
코틀린(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..