일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- AWS EKS
- Java
- Kubernetes
- CKA
- APM
- 기록으로 실력을 쌓자
- Linux
- 공부
- Elasticsearch
- MySQL
- kotlin spring
- 티스토리챌린지
- 오블완
- kotlin querydsl
- minikube
- PETERICA
- Spring
- 정보처리기사 실기
- IntelliJ
- aws
- CKA 기출문제
- kotlin
- mysql 튜닝
- kotlin coroutine
- 정보처리기사 실기 기출문제
- 정보처리기사실기 기출문제
- 코틀린 코루틴의 정석
- AI
- CloudWatch
- Pinpoint
- Today
- Total
목록Programming (188)
피터의 개발이야기
ㅁ 들어가며ㅇ 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() { ..
ㅁ 들어가며ㅇ Spring의 테스트 시 자동으로 Rollback 되는 방법을 정리하였다. ㅁ Transactional 어노테이션ㅇ 테스트 클래스나 테스트 메서드에 @Transactional 어노테이션을 추가한다.ㅇ 이 어노테이션은 테스트 시작 전에 트랜잭션을 시작하고, 테스트 완료 후 자동으로 롤백을 수행한다.ㅇ 이렇게 하면 각 테스트가 독립적으로 실행되며, 이전 테스트의 데이터가 다음 테스트에 영향을 주지 않는다. ㅁ Rollback 어노테이션 사용ㅇ 기본적으로 @Transactional이 적용된 테스트는 롤백되지만, 명시적으로 @Rollback 어노테이션을 사용할 수 있다.ㅇ @Rollback(true)로 설정하면 테스트 후 롤백이 수행되고, @Rollback(false)로 설정하면 롤백이 수행되지 ..
ㅁ 들어가며ㅇ이번 글은 Kotlin의 5가지 주요 Scope Functions (let, with, run, apply, also)에 대해 정리하였다.ㅇ kotlin doc - scope function의 내용을 보고 정리하였다. ㅁ Scope Functions (let, with, run, apply, also) 요약ㅇ let: 객체를 인자로 받아 처리하며, 결과를 반환합니다. Null 체크에 유용하다.ㅇ with: 객체를 직접 입력받아 속성을 변경할 수 있으며, 여러 함수를 그룹화하는 데 사용된다.ㅇ run: 객체의 확장 함수로, 계산이 필요하거나 지역 변수 범위를 제한할 때 사용한다.ㅇ apply: 객체를 초기화하거나 변경할 때 주로 사용되며, 자기 자신을 반환한다.ㅇ also: 객체의 속성을 변..
ㅁ 들어가며ㅇ 지난 글, Ktor란?을 정리하였다.# 요약- Ktor는 JetBrains에서 개발한 Kotlin 전용 웹 개발 프레임워크로, 서버와 클라이언트 앱 개발을 모두 지원하며 코루틴 기반의 비동기 처리를 제공한다.- Ktor의 주요 특징으로는 경량성, 코루틴 지원, 모듈형 아키텍처, 다양한 플랫폼 지원, 사용 편의성이 있다.- Spring과 비교했을 때 Ktor는 부팅 속도가 빠르고 리소스 사용량이 적어, 마이크로서비스 아키텍처와 빠른 개발 및 배포가 필요한 상황에 적합하다. ㅁ 프로젝트 생성ㅇ ktor로 이동하고 Start를 클릭 ㅇ ktor-peterica로 프로젝트 이름 입력 ㅇ add plugin: Ktor Swagger-UI을 선택하니 의존성이 있는 Routing과 Webjars가 ..
ㅁ 들어가며ㅇ [Spring] JDBC와 MyBatis와 JPA 비교, 시대적 흐름에서 장단점 분석에서 JDBC, MyBatis, JPA의 시대적 흐름에 따른 장단점을 정리하였다.ㅇ JPA의 장단점을 요약적으로 정리하고 fetch Join이 왜 필요한지 정리해 보았다.ㅇ 우선 JPA의 장점을 정리하였다. ㅁ JPA (Java Persistence API) 의 장점ㅇ 객체와 데이터베이스 테이블을 자동으로 매핑ㅇ 객체 지향적인 방식으로 데이터 관리 가능ㅇ 코드 작성량이 적고 유지보수가 용이함 ㅁ JPA의 단점ㅇ 성능이슈: JDBC가 JPA보다 약 2배 정도 빠름ㅇ 학습 난이도: JPA와 ORM를 잘 다루기 위해서는 초반 학습이 필요함ㅇ 특정 데이터베이스의 기능 활용 제한 ㄴ 프로시저, 특정 쿼리 힌트나 최..
ㅁ 들어가며ㅇ 코틀린 프로젝트에서 개발 중에 KtLint를 알게 되었다.ㅇ 에전에 React 개발 시 빌드할 때에 eslint를 사용한 적이 있다.ㅇ 이와 비슷하게 백엔드에도 코드의 스타일 문제를 검사하는 정적 분석 도구인 KtLint이다.ㅇ 깔끔한 포맷팅을 위한 ktlint 적용하기 (feat. kotlin)을 인용하여 공부한 내용을 정리하였다. ㅁ Ktlint란?ㅇ KtLint는 Kotlin 언어의 공식 코드 컨벤션을 준수하도록 코드 스타일을 검사하고 문제점을 맞춰주는 정적 분석 도구이다. ㅁ 주요 기능ㅇ Kotlin 공식 Code Convention을 기반으로 코드 스타일을 검사한다.ㅇ 대표적 사용방법 ㄴ brew로 설치하여 CLI에서 스타일 검사 ㄴ Gradle을 통해 빌드 과정에서 검사 ㄴ Gi..
ㅁ 들어가며ㅇ Kotlin을 공부하면서 Ktor를 알게 되어 공부한 내용을 정리하였다.ㅇ MSA에 맞추어 비동기처리가 가능한 클라이언트, 서버 애플리케이션을 빠르게 만들 수 있는다.ㅇ Ktor을 알아보고 주요 특징과 적절한 사용예를 정리하였다.ㅇ 추가적으로 Spring과 Ktor의 성능 비교된 글도 짧게 소개하였다. # 요약- Ktor는 JetBrains에서 개발한 Kotlin 전용 웹 개발 프레임워크로, 서버와 클라이언트 앱 개발을 모두 지원하며 코루틴 기반의 비동기 처리를 제공한다.- Ktor의 주요 특징으로는 경량성, 코루틴 지원, 모듈형 아키텍처, 다양한 플랫폼 지원, 사용 편의성이 있다.- Spring과 비교했을 때 Ktor는 부팅 속도가 빠르고 리소스 사용량이 적어, 마이크로서비스 아키텍처와..