일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 공부
- Kubernetes
- APM
- IntelliJ
- kotlin
- 코틀린 코루틴의 정석
- PETERICA
- minikube
- 정보처리기사실기 기출문제
- Elasticsearch
- kotlin querydsl
- Linux
- 티스토리챌린지
- CKA
- mysql 튜닝
- 기록으로 실력을 쌓자
- Spring
- AWS EKS
- Pinpoint
- 정보처리기사 실기 기출문제
- CloudWatch
- CKA 기출문제
- kotlin coroutine
- 정보처리기사 실기
- AI
- aws
- MySQL
- kotlin spring
- 오블완
- Java
- Today
- Total
목록Programming (187)
피터의 개발이야기
ㅁ 들어가며ㅇ 폴더를 삭제하는 Kotlin 코드를 정리하였다.ㅇ file.delete() 함수는 하위에 파일이나 폴더가 존재하면 삭제가 되지 않는다.ㅇ 그래서 이 코드는 지정된 폴더와 그 하위의 폴더와 삭제를 재귀적으로 삭제한다. ㅁ 폴더 삭제 코드import java.io.Filefun main() { val folderPath = "path/to/folder" // 삭제하려는 폴더 경로 val folder = File(folderPath) if (deleteFolder(folder)) { println("폴더가 성공적으로 삭제되었습니다: $folderPath") } else { println("폴더 삭제에 실패했습니다: $folderPath") ..
ㅁ 들어가며ㅇ Kotlin에서 List는 순서가 있는 요소들의 컬렉션이다. ㅇ 이 글에서는 List의 기본적인 사용법과 함께 자주 사용되는 연산들을 살펴본다.ㅁ List 생성하기val immutableList = listOf(1, 2, 3, 4, 5)val mutableList = mutableListOf("a", "b", "c")ㅁ List 요소 접근하기val firstElement = immutableList[0]val lastElement = immutableList.last()val firstElement = immutableList[0] val lastElement = immutableList.last()ㅁ List 순회하기for (item in immutableList) { printl..
ㅁ 들어가며ㅇ 밤 12시에 퇴근을 하였고, 집에 오면서 내일 해야할 일을 머리 속으로 정리하였다.ㅇ 업무코드에 할당된 파일을 선택하면, 코드폴더별로 파일 목록을 압축해야 한다. ㅁ 소스 코드package com.peterica.demoimport java.io.Fileimport java.io.FileInputStreamimport java.io.FileOutputStreamimport java.nio.file.Filesimport java.nio.file.Pathimport java.text.SimpleDateFormatimport java.util.*import java.util.zip.ZipEntryimport java.util.zip.ZipOutputStreamfun main() { val..
ㅁ 들어가며ㅇ 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 '**/*'}// 특정..