일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Spring
- IntelliJ
- AI
- PETERICA
- Kubernetes
- kotlin spring
- AWS EKS
- 코틀린 코루틴의 정석
- Pinpoint
- 정보처리기사 실기 기출문제
- CKA
- mysql 튜닝
- APM
- kotlin
- MySQL
- minikube
- 공부
- CloudWatch
- aws
- Linux
- CKA 기출문제
- Java
- 기록으로 실력을 쌓자
- 정보처리기사 실기
- kotlin querydsl
- 티스토리챌린지
- Elasticsearch
- kotlin coroutine
- 정보처리기사실기 기출문제
- 오블완
- Today
- Total
목록2024/07 (29)
피터의 개발이야기
ㅁ 들어가며ㅇ 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는 객체 ..
ㅁ 들어가며ㅇ 보안망에서 개발을 진행하면서 JSON을 이쁘게 만들 수 있는 플러그인을 다운받을 수 없는 상황이었다.ㅇ Intellij의 기본 정렬기능으로 JSON을 이쁘게 만드는 방법을 정리하였다. ㅁ JSON 파일 만들기ㅇ 프로젝트의 적당한 저장 위치에서 data.json 파일을 만들어 본다. ㅇ 파일 확장자가 JSON이 아닌 경우는 미세하게 칸 공간만 띄어주는 형태로 변경될 뿐 정렬 시 이쁘게 되지 않았다. ㅇ 해당 위치에 JSON을 붙여 놓는다.ㅇ Command + Option + L 을 누르면 정렬과 함께 저장이 된다. // 정렬 전{"a":"teatA","b":"teatB","c":"teatC","d":{"aa":"test","bb":"test","cc":"test"}}// 정렬 후{ "a"..
ㅁ 들어가며ㅇ 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 '**/*'}// 특정..
ㅁ 개요 ㅇ Elasticsearch Data 노드의 높은 메모리 사용량을 분석하고, ㅇ "해결 방법을 함께 보면 좋은 사이트"를 참조하여 Elasticsearch 클러스터의 높은 메모리 사용률 문제를 분석방법을 정리하였다. ㅁ 함께 보면 좋은 사이트ㅇ Elasticsearch 블로그 - Elasticsearch 메모리 관리 및 문제 해결ㅇ AWS DOC - Amazon OpenSearch Service 클러스터의 높은 CPU 사용률 문제를 해결하려면 어떻게 해야 합니까?ㅇ 토스 - 대규모 로그 처리도 OK! Elasticsearch 클러스터 개선기 ㅁ 와탭을 통한 지표 수집ㅇ whatap에서 수집된 컨테이너 리소스 정보이다.ㅇ Elasticsearch의 Data 노드에 할당된 메모리 10GB 중 9...