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

Spring 프레임워크를 처음 접하면 자주 듣게 되는 용어들이 있습니다. 바로 Bean, Container, Component, Configuration과 같은 단어들이죠. 이들은 스프링의 핵심 개념으로, 서로 밀접한 관계를 가지고 있어 처음에는 다소 헷갈릴 수 있습니다.이 글에서는 각각의 개념이 무엇인지, 그리고 이들이 어떻게 서로 연결되어 있는지를 예제와 함께 이해하기 쉽게 정리해보겠습니다.Bean이란?스프링에서 **Bean(빈)**은 Spring IoC 컨테이너가 관리하는 객체를 의미합니다. 개발자가 직접 생성하는 객체가 아닌, 스프링이 대신 생성하고 주입까지 관리해주는 객체라고 생각하면 됩니다.예를 들어, 어떤 서비스 클래스를 Bean으로 등록하면 스프링이 해당 객체를 생성해 관리합니다.@Comp..

프로그래밍을 처음 배우기 시작하면 자주 듣게 되는 용어 중 하나가 바로 "인스턴스화(Instantiation)"입니다. 이 용어는 특히 객체지향 프로그래밍(OOP)에서 중요한 개념이며, 클래스(class), 객체(object), 그리고 인스턴스(instance)와 밀접한 관계를 가지고 있습니다. 이 글에서는 인스턴스화가 무엇인지, 그리고 클래스, 객체, 인스턴스와 어떤 관계가 있는지를 쉽게 설명해보겠습니다.클래스(Class)란?클래스는 설계도 또는 틀이라고 생각할 수 있습니다. 어떤 대상을 코드로 모델링할 때, 그 대상이 가질 수 있는 속성(변수)과 행동(함수)을 정의해놓은 구조입니다.class Car(val color: String, val speed: Int) { fun drive() { ..

웹이나 모바일 앱 개발에서 사용자 인증은 보안의 핵심입니다. 특히 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..