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

ㅁ 들어가며ㅇ 새로 편입한 팀에서 Ruby를 사용하고 있어서 루비(Ruby)의 특징에 대해서 정리해 보았다. ㅁ 루비란? 루비는 1995년 일본의 프로그래머 마츠모토 유키히로가 개발한 동적 객체 지향 스크립트 언어이다. 간결하고 직관적인 문법으로 유명한 루비는 "프로그래머의 생산성과 즐거움"을 목표로 설계되었다. ㅁ루비의 특징ㅇ 순수 객체 지향 루비는 모든 것이 객체이다. 심지어 정수와 같은 기본 데이터 타입도 객체로 취급한다. 이는 일관된 객체 지향 프로그래밍을 가능하게 한다.ㅇ 간결한 문법 비는 영어 문장과 유사한 형태의 문법을 가지고 있어, 코드 작성과 읽기가 매우 쉽다.puts "Hello, World!" # 괄호 없이 사용 가능예를 들어, 괄호를 생략할 수 있고, 키워드를 사용하여 더 ..

ㅁ 들어가며ㅇ Kotlin을 2024.5부터 사용하면서, [Kotlin] 널 안정성, Null safety을 정리하였다.ㅇ 실질적인 코딩을 하면서 기본값 세팅하는 방법을 정리하게 되었다.ㅇ 이번 글에서는 Kotlin에서 Long 타입이 null일 때 기본값을 설정하는 방법을 정리해 보았다.ㅁ 엘비스 연산자 (?:) 사용val nullableLong: Long? = nullval result = nullableLong ?: 0L이 방법에서는 nullableLong이 null이면 0L(Long 타입의 0)이 result에 할당된다. ㅁ 안전 호출 연산자 (?.)와 엘비스 연산자 (?:) 조합// Kotlinval nullableLong: Long? = nullval result = nullableLong?..

ㅁ 들어가며ㅇ Java Spring의 Builder 패턴은 복잡한 생성자를 편리하게 생성할 수 있게 해준다.ㅇ Kotlin은 기본적으로 Builder 패턴을 사용하지 않아도 되는 언어적 특징을 가지고 있다.ㅇ 그럼에도 특정 상황에서는 Builder 패턴을 활용할 수 있다.ㅇ Kotlin에서 Spring의 Builder 패턴을 사용하는 방법에 대해 알아보았다. ㅁ Kotlin의 언어적 특징ㅇ Kotlin은 기본 생성자와 함께 named arguments와 default parameters(기본값 선언) 기능을 제공한다. ㅇ 이 두 가지 기능을 활용하면, 자바에서 흔히 사용하는 Builder 패턴 없이도 객체를 유연하게 생성할 수 있다. // 샘플 dtodata class User( val name: ..

ㅁ 들어가며 Spring AOP(Aspect-Oriented Programming)는 애플리케이션의 비즈니스 로직과 공통 관심사를 분리하여 코드의 모듈화를 돕는 프로그래밍 패러다임이다. 이를 통해 코드의 중복을 줄이고 유지보수성을 높일 수 있다. ㅁ AOP의 주요 개념Aspectㅇ Aspect는 여러 객체에 공통으로 적용되는 기능을 모듈화한 것이다.ㅇ 이는 어드바이스(Advice)와 포인트컷(PointCut)을 결합하여 애플리케이션에 포함되는 횡단 관심사(Cross-cutting Concerns)를 정의한다. Join Pointㅇ Join Point는 애플리케이션 실행 흐름에서 특정 포인트를 의미하며, AOP가 적용될 수 있는 모든 지점을 나타낸다. ㅇ 스프링 AOP에서는 메서드 실행 지점이 주로 Joi..

ㅁ 들어가며ㅇ [Kotlin] Spring Boot 멀티모듈 프로젝트 구성하기에서 멀티 모듈을 구성하여 재사용 가능한 소스를 모듈화 하였다. ㅇ 모듈화된 공통 소스를 Jar로 배포하는 방법을 [Kotlin] Spring 멀티모듈, JAR 파일로 배포하는 방법에 정리하였다.ㅇ 이 글에서는 모듈로 생성된 jar를 로컬 파일 복사를 통해 다른 프로젝트에서 참조시키는 방법을 정리하였다. ㅁ libs 폴더 생성ㅇ 참조할 프로젝트의 루트 디렉토리에 libs라는 폴더를 생성하고, 참조하고자 하는 JAR 파일을 해당 폴더에 복사한다. ㅁ build.gradle 파일 수정ㅇ build.gradle 파일을 열고, dependencies 블록에 JAR 파일을 추가한다.// 특정파일 적용dependencies { imp..

ㅁ 들어가며ㅇ [Kotlin] Spring Boot 멀티모듈 프로젝트 구성하기를 수행하였다.ㅇ Kotlin 멀티모듈 프로젝트를 개발하다 보면 특정 모듈을 다른 프로젝트에서 재사용하고 싶을 때가 있다. ㅇ 이때 해당 모듈을 JAR 파일로 배포하면 편리하게 참조할 수 있다. ㅇ 이 글에서는, Kotlin 멀티모듈 프로젝트에서 Gradle을 설정하여 특정 모듈을 JAR 파일로 배포하는 방법을 정리하였다. ㅁ 프로젝트 구조ㅇ 멀티 모듈 프로젝트는 일반적으로 다음과 같은 구조를 가진다kotlin-multi-module│├── build.gradle.kts├── settings.gradle.kts│├── common│ ├── build.gradle.kts│ └── src/main/kotlin/com/pete..

ㅁ 들어가며 Reason: Paging query needs to have a Pageable parameter; Offending method: public abstract org.springframework.data.domain.Pageㅇ Spring Data JPA를 사용하여 페이징 쿼리를 실행할 때 발생하는 오류 메시지이다.ㅇ"Paging query needs to have a Pageable parameter"는 페이징 기능을 사용하려면 Pageable 파라미터가 필요하다는 의미이다.ㅇ 이 문제를 해결하기 위해서는 리포지토리 메서드에 Pageable 파라미터를 추가해야 한다.ㅇ 페이징 처리는 [Kotlin] Spring Boot와 Kotlin으로 QueryDSL 페이징 처리하기 ㅁ Import ..

ㅁ 들어가며ㅇ Spring Boot를 시작하면서 데이터베이스 초기화하는 방법을 검토 중이다.ㅇ 이번 글에서는 Spring Boot는 애플리케이션 실행 시 데이터베이스를 초기화하는 방법을 개론적으로 정리해 보았다.ㅇ 구체적으로 적용이 필요한 시점에 구체적인 적용방법을 정리할 것이다. ㅁ 관련 글ㅇ [Spring] JUnit5 조건부 테스트 실행방법 ㄴ JPA의 ddl-auto 기능과 함께 사용하면 개발환경 별 자동 테스트 환경을 구축할 수 있다. ㅁ JPA를 사용한 초기화ㅇ JPA의 DDL생성 기능을 활용해 애플리케이션 시작 시 데이터베이스 스키마를 생성할 수 있다.ㅇ 다음 두 가지 설정으로 제어한다.// JPA의 DDL 생성 기능을 켜고 끈다.spring.jpa.generate-ddl: true/fal..

ㅁ 들어가며ㅇ api, batch, gateway, internel...를 구성하면서, 반복되는 Util, Dto, Entity, Service, Enum...을 만나게 된다.ㅇ 동일한 파일을 여러번 변경하기도 하고, 프로젝트별로 변경된 Util은 공통으로 관리하기도 어렵다.ㅇ 예로, 프로젝트가 10개이면, dto 하나 수정하고 PR 10번 올려야 한다.ㅇ 공통 기능을 모듈화하여 코드의 재사용성을 높이고 의존성 관리를 개선하기 위해 멀티 모듈은 꼭!! 필요하다.ㅇ 이번 글에서는 Kotlin Spring Boot 프로젝트를 멀티모듈로 구성하는 방법을 정리하였다. ㅁ 멀티 모듈 프로젝트의 필요성ㅇ 코드 재사용성 - 공통 기능을 개별 모듈에서 분리하여 공통으로 만들면 재사용이 가능하다. - 중복코드를 ..

ㅁ 들어가며ㅇ 신규 프로젝트에서 Kotlin JDSL을 사용하게 되어, 관련 공부를 하면서 참조 목록과 주요 문법을 정리해 보았다. ㅁ Kotlin JDSL란? Kotlin JDSL은 Kotlin의 DSL(Domain Specific Language) 기능을 활용하여 JPA Criteria API를 더 직관적이고 간결하게 작성할 수 있도록 한다. KProperty를 사용하여 메타모델을 사용하지 않고도 안전한 코드를 작성할 수 있다. ㅁ 주요문법@Entitydata class Order( @Id @GeneratedValue val id: Long, val purchaserId: Long, val amount: Double)ㅇ Order를 가정해 보자. val query = queryF..