일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Linux
- CKA 기출문제
- 티스토리챌린지
- AWS EKS
- CKA
- Elasticsearch
- AI
- 오블완
- MySQL
- Spring
- tucker의 go 언어 프로그래밍
- 정보처리기사실기 기출문제
- CloudWatch
- Pinpoint
- PETERICA
- APM
- Java
- kotlin coroutine
- aws
- kotlin querydsl
- 정보처리기사 실기 기출문제
- minikube
- kotlin
- SRE
- 코틀린 코루틴의 정석
- golang
- 기록으로 실력을 쌓자
- go
- Kubernetes
- 공부
- Today
- Total
목록Programming (214)
피터의 개발이야기

ㅁ 들어가며ㅇ MutableList는 Kotlin에서 동적으로 요소를 추가, 삭제, 수정할 수 있는 리스트 타입이다. ㅇ 읽기 전용인 List와 달리 MutableList는 변경 가능한 리스트를 다룰 때 사용된다. ㅇ 이 글에서는 MutableList의 주요 기능과 사용법을 알아본다. ㅁ MutableList 생성val list1 = mutableListOf(1, 2, 3)val list2 = mutableListOf()val list3 = MutableList(5) { it * 2 } // [0,2,4,6,8]val list4 = (1..50).toMutableList()val list5 = MutableList(5, { i -> i}) // [0,1,2,3,4]ㅇ MutableList 생성하기 위해서..

ㅁ 들어가며ㅇ Kotlin에서 Map은 키-값 쌍을 저장하는 컬렉션이다. ㅇ Map을 사용하면 데이터를 효율적으로 관리하고 검색할 수 있다. ㅇ 이 글에서는 Kotlin에서 Map을 생성하고 사용하는 다양한 방법을 알아본다.ㅇ 함께 보면 좋은 사이트를 참조하여 작성하였다. ㅁ Map 생성// 불변 Mapval immutableMap = mapOf("key1" to "value1", "key2" to "value2")// 가변 Mapval mutableMap = mutableMapOf("key1" to "value1", "key2" to "value2")// 빈 Mapval emptyMap = emptyMap() ㅁ Map 제거// 생성val map = mutableMapOf("Chocolate" to 1..

ㅁ MapStruct란?ㅇ MapStruct는 Java 객체 간 매핑을 쉽게 할 수 있게 해주는 코드 생성 라이브러리로, 객체 간의 매핑을 컴파일 시점에 자동으로 생성하여 런타임 오버헤드를 줄이고 안전한 매핑을 제공한다. ㅇ Kotlin에서도 MapStruct를 사용할 수 있지만, 몇 가지 추가 설정이 필요하다. ㅇ이 글에서는 Kotlin 프로젝트에서 MapStruct를 설정하고 사용하는 방법을 알아본다. ㅁ MapStruct를 사용하는 이유ㅇ Service에서 Dto로 많은 객체 변환하는 로직이 여러 곳에 퍼져있어서, 비지니스 로직의 간결성이 떨어진다.ㅇ 객체 변환 로직이 너무 퍼져 있어서 재사용성이 떨어진다.ㅇ 구체적으로 보면 Dto와 Entity 사이에 의존성이 크다.ㅇ MapStruct는 객체 ..

ㅁ 들어가며ㅇ JPA(Java Persistence API)에서 엔티티의 기본 키 생성 전략을 정의하는 데 사용되는 GenerationType에 대해 알아보자. ㅁ GenerationType.IDENTITY이란?ㅇ GenerationType은 JPA에서 엔티티의 기본 키 값을 자동으로 생성하는 방법을 지정할 수 있다.ㅇ @GeneratedValue 어노테이션과 함께 사용되며, 다음 다섯 가지 타입이 있다. ㅁ IDENTITY@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;ㅇ지속성 공급자가 데이터베이스 ID 열을 사용하여 엔터티에 대한 기본 키를 할당해야 함을 나타낸다.ㅇ 데이터베이스의 AUTO_INCREMENT 기능을 사용한다..

ㅁ 들어가며ㅇ [Spring] JPA Querydsl 세팅, Kotlin 작업을 하면서 알게 된 querydsl plugin에 대해 정리하였다. ㅁ Ewerk querydslㅇ com.ewerk.gradle.plugins.querydsl은 Gradle 프로젝트에서 QueryDSL을 쉽게 설정하고 사용할 수 있게 해주는 플러그인이다. 이 플러그인은 QueryDSL의 Q클래스 생성을 자동화하고, 관련 설정을 간소화해준다. ㅇ 인텔리제이의 Gradle 탭에 queryDSL 관련 메뉴가 생성된다. ㅁ 주요 기능ㅇ Q클래스 자동 생성 - JPA 엔티티를 기반으로 QueryDSL용 Q클래스를 자동으로 생성한다.ㅇ 소스 디렉토리 설정 - 생성된 Q클래스의 소스 디렉토리를 지정할 수 있다.ㅇ 의존성 관리 - Query..

ㅁ 들어가며ㅇ 지난 글, Ktor란?을 정리하였는데, 요약하면 다음과 같다.- Ktor는 JetBrains에서 개발한 Kotlin 전용 웹 개발 프레임워크로, 서버와 클라이언트 앱 개발을 모두 지원하며 코루틴 기반의 비동기 처리를 제공한다.- Ktor의 주요 특징으로는 경량성, 코루틴 지원, 모듈형 아키텍처, 다양한 플랫폼 지원, 사용 편의성이 있다.- Spring과 비교했을 때 Ktor는 부팅 속도가 빠르고 리소스 사용량이 적어, 마이크로서비스 아키텍처와 빠른 개발 및 배포가 필요한 상황에 적합하다.ㅇ 이번 글에서는 경량화된 Ktor 애플리케이션에 SQL 데이터베이스를 통합하여 데이터를 저장하는 방법을 정리하였다.ㅇ Spring을 사용하기 어려워하는 프론트개발자에게 추천해 줄 수 있다.ㅇ Guide t..

ㅁ 들어가며ㅇ Gradle 프로젝트를 빌드할 때 테스트를 실행하지 않고 싶은 경우가 있다. ㅇ [Spring] JUnit5 조건부 테스트 실행방법에서는 OS, JAVA 버젼, Property, 환경변수에 다른 테스트 진행 방법을 알아보았다.ㅇ 이번 글에서는 빌드 시 테스트 전체를 스킵하는 방법을 정리하였다.ㅇ 이는 빌드 시간을 단축하거나 특정 상황에서 테스트를 임시로 건너뛰고 싶을 때 유용하다. ㅁ Gradle 명령어gradle build --exclude-task test// Gradle 5 이상// -x 옵션은 특정 태스크를 실행하지 않도록 gradle build -x test ㅁ build.gradle 테스트 스킵 설정// 모든 테스트 스킵test { exclude '**/*'}// 특정..

ㅁ 들어가며ㅇ QueryDSL을 사용하다 보면 fetchFirst()와 fetchOne() 메서드를 자주 마주치게 된다. ㅇ 이 두 메서드는 비슷해 보이지만 중요한 차이점이 있다. ㅇ 오늘은 이 두 메서드의 차이점을 정리하였다. ㅁ fetchFirst()ㅇ fetchFirst() 메서드는 쿼리 결과에서 첫 번째 결과만을 반환한다.ㅇ 주요 특징 - 항상 단일 결과를 반환한다. - 결과가 없으면 null을 반환한다. - 여러 결과가 있어도 예외를 발생시키지 않고 첫 번째 결과만 반환한다. - 내부적으로 LIMIT 1을 사용하여 데이터베이스에서 하나의 결과만 가져온다. ㅁ fetchOne()ㅇ fetchOne() 메서드는 쿼리 결과가 정확히 하나일 때 사용한다. ㅇ 주요 특징 - 결과가 정확히 하나일 때만 해..

ㅁ 들어가며ㅇ 코틀린에서 `?`와 `!!`는 null 안전성을 처리하는 데 중요한 역할을 한다. ㅇ 이 두 연산자는 null 값을 다루는 방법에 차이가 있다.ㅁ 요약ㅇ `?`는 변수나 객체가 null 값을 가질 수 있음을 나타내며, null 안전성을 보장하기 위해 사용된다.ㅇ `!!`는 변수나 객체가 null이 아님을 단언하며, null일 경우 런타임에 `NullPointerException`을 발생시킨다.이 두 연산자를 적절히 사용하면 코틀린에서 null 안전성을 효과적으로 관리할 수 있다. ㅁ `?` (Nullable 타입)ㅇ `?`는 변수나 객체가 null 값을 가질 수 있음을 나타낸다. ㅇ 이를 통해 컴파일러는 해당 변수가 null일 수 있음을 인지하고, null 안전성을 보장하기 위한 추가 검사..

ㅁ 개요ㅇ 테스트를 진행 시 특정 조건에 맞추어 테스트를 실행해야 할 때가 있다. ㅇ 예를 들어, 환경 변수, properties 설정 값, OS, JRE 버전 등에 따라 테스트를 실행할 필요가 있다.ㅇ JUnit5는 이러한 조건에 맞춰 테스트를 실행할 수 있는 다양한 방법을 제공한다. ㅇ 이번 글에서는 JUnit5의 조건에 따라 테스트를 실행하는 방법을 정리하였다.ㅁ EnabledOnOs // OsConditionTest @Test @EnabledOnOs(OS.WINDOWS) fun test1() { println("enabled on windows") } @Test @EnabledOnOs(OS.MAC, OS.LINUX) fun test2() { ..