코프링으로 개발 시 마주친 에러 관련 포스팅입니다. 개발 환경은 다음과 같습니다. Spring Boot Version : 3.0.1 Java Version : 17 Kotlin Version : 1.8.21 Kotest Version : 5.5.5 다음 포스팅을 읽고 보시면 더욱 도움이 됩니다. [스프링+코틀린] kotest와 @Sql 어노테이션 같이 사용 불가 - kotest에서 통합 테스트하기 코프링으로 개발 시 마주친 에러 관련 포스팅입니다. 개발 환경은 다음과 같습니다. Spring Boot Version : 3.0.1 Java Version : 17 Kotlin Version : 1.8.21 Kotest Version : 5.5.5 배경 kotest를 사용하는 프로젝트에서 kkoon9.tisto..
코프링으로 개발 시 마주친 bean name 충돌 관련 포스팅입니다. 개발 환경은 다음과 같습니다. Spring Boot Version : 3.0.1 Java Version : 17 Kotlin Version : 1.8.21 배경 레거시 API와 분리하기 위해 API를 버저닝하기로 결정했습니다. Repository는 같이 쓰되, Service 레이어와 Controller 레이어는 버전을 나누기로 했습니다. 다음 이미지는 Controller 레이어의 버저닝 디렉터리 예시입니다. CafeController에서 버전만 v2로 바꾸고, 실행시켜보면 다음과 같은 에러가 발생합니다. 에러메시지를 읽어보면 BeanDefinition이 Conflict났다고 알 수 있습니다. BeanName은 @Component이 붙은..
코프링으로 개발 시 마주친 생각 관련 포스팅입니다. 개발 환경은 다음과 같습니다. Spring Boot Version : 3.0.1 Java Version : 17 Kotlin Version : 1.8.21 배경 JPA를 사용하면서 흔히 사용했던 Optional에 대해 생각해봤습니다. package com.laboratorykkoon9.kotlinspring.cafe.repository import com.laboratorykkoon9.kotlinspring.cafe.domain.Cafe import org.springframework.data.domain.Page import org.springframework.data.domain.Pageable import org.springframework.dat..
코프링으로 개발 시 마주친 에러 관련 포스팅입니다. 개발 환경은 다음과 같습니다. Spring Boot Version : 3.0.1 Java Version : 17 Kotlin Version : 1.8.21 Kotest Version : 5.5.5 배경 kotest를 사용하는 프로젝트에서 통합 테스트를 위해 @Sql 어노테이션을 사용하여 데이터를 밀어넣어주었습니다. 통합 테스트 관련 내용은 아래 포스팅 참고해주세요. [스프링+코틀린] mock 없이 통합 테스트하기 단위 테스트 책을 읽고 비즈니스 로직의 흐름을 담당하는 service layer(비즈니스 로직 흐름을 담당하는 layer) 테스트 코드를 시도했던 내용을 담는 포스팅입니다. 단위 테스트 - 예스24 소프트웨어 kkoon9.tistory.com ..
코프링으로 개발하면서 h2가 처음 create table을 할 때 BaseEntity에 있는 필드들은 인식하지 못하는 에러를 마주한 내용을 포스팅해봤습니다. https://github.com/laboratory-kkoon9/kotlin-spring/tree/develop 배경 h2에서 초기 데이터를 밀어넣어주고 통합 테스트를 하려고 시도했습니다. 이 때 baseEntity와 이를 상속한 cafe entity 코드입니다. package com.laboratorykkoon9.kotlinspring.common import jakarta.persistence.Column import org.springframework.data.annotation.CreatedDate import org.springframew..
단위 테스트 책을 읽고 비즈니스 로직의 흐름을 담당하는 service layer(비즈니스 로직 흐름을 담당하는 layer) 테스트 코드를 시도했던 내용을 담는 포스팅입니다. 단위 테스트 - 예스24 소프트웨어 개발에 있어 단위 테스트는 이제 선택이 아니라 필수가 됐다. 단위 테스트에 대한 오해를 바로잡고, 올바른 단위 테스트에 대한 원칙, 테스트를 작성하는 스타일과 효과적인 테스트 www.yes24.com 배경 제가 시도 및 고민했던 부분은 다음과 같습니다. 1. mock을 어디까지 쓸 것인가 2. 조회 테스트 필요 유무 3. repository 테스트 필요 유무 1. mock을 어디까지 쓸 것인가 단위 테스트 책에서 보면 mock의 사용을 최소화하라고 나와있습니다. 초반 부분만 봤을 때에는 비즈니스 로..
코프링으로 개발하면서 테스트 작성 중 create table 에서 마주한 에러를 포스팅해봤습니다. 배경 단위테스트 책을 참고하며 service layer 테스트를 위해 table에 insert하는 상황이었습니다. 테스트 환경이기 때문에 spring.jpa.hibernate.ddl-auto 옵션은 create로 했습니다. 허나 테이블 생성 쿼리에서 문법 오류가 발생했습니다. columnDefinition 문제 사실 @CreatedDate 어노테이션만 사용해도 됐는데, columnDefinition까지 설정해줬던게 문제였습니다. H2에서는 해당 entity 설정이 문법 오류를 발생시키는 모양입니다. package com.laboratorykkoon9.kotlinspring.common import jakar..
코프링으로 개발하면서 zeroDateTime(0000-00-00 00:00:00)인 LocalDateTime 값 관련해서 마주한 내용을 포스팅해봤습니다. 배경 as-is(파이썬) 코드로 되어 있는 배치 스크립트를 코틀린으로 이전하는 작업에서 발생했습니다. as-is 코드에서 사용하지 않는 row는 수정 시간을 zeroDateTime으로 변경해주는 로직이 있었습니다. SQL문으로 직접 수정해주었기 때문에 별 문제 없는 로직이었습니다. 허나, 스프링 환경에서 적용하려고 하니 다음과 같은 문제가 발생했습니다. 바로 LocalDate 타입에서 month와 day 값의 최소값이 1인 점이었습니다. import java.time.LocalDate import java.time.LocalDateTime fun mai..
- Total
- Today
- Yesterday
- 코테
- Algorithm
- Olympiad
- 디자인 패턴
- Spring
- 클린 아키텍처
- 테라폼
- programmers
- kotest
- 프로그래머스
- BAEKJOON
- 정규표현식
- Java
- C++
- Effective Java
- MSA
- AWS
- 이팩티브 자바
- Spring Boot
- Kotlin
- kkoon9
- node.js
- 객체지향
- 클린 코드
- 디자인패턴
- BOJ
- JPA
- 이펙티브 자바
- 알고리즘
- 백준
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |