본문 바로가기

분류 전체보기

(887)
작심삼주 오블완 챌린지 - 햄버거 당첨 작심삼주 오블완 챌린지 조건에 맞아 우연히 햄버거 당첨이 되었다.혹시나 그냥 알림인가 싶어서 경품 안내 페이지에 첨부되어 있는 당첨자 목록을 살펴보니 정말 있었다. 2024년 연말에 기분이 좋아졌다. 감사합니다.
[WIL] AWS RDS Aurora Cluster의 Read/Writer 연결 분리 이력 - 3가지 요약수동: 수동으로 DataSource 분기를 해서 사용하기AbstractRoutingDataSourceLazyConnectionDataSourceProxy자동 (라이브러리에 맡기기)MariaDB Java Client 2.7.12AWS Advanced JDBC Wrapper with readWriteSplitting 플러그인0. MySQL Connector/Jhttps://github.com/mysql/mysql-connector-jMVN Repository: https://mvnrepository.com/artifact/com.mysql/mysql-connector-j1. AWS JDBC Driver for MySQLhttps://github.com/awslabs/aws-mysql-jdbcMVN Rep..
Spring Cloud 2024.0.0 릴리스 Spring Boot 3.4.0이 릴리스할 때 처음 의존하는 Spring Cloud 2024.0.0이 아닌 RC1이었다.[WIL] Spring Boot 3.4.0 - JPA 통합테스트 깨짐 이슈3일전 2024년 12월 2일 2024.0.0이 릴리스되었다.릴리스 노트: https://github.com/spring-cloud/spring-cloud-release/wiki/Spring-Cloud-2024.0-Release-Notes 이제 https://start.spring.io/에서도Spring Cloud 의존이 된 경우 마일스톤용 리포지토리가 불필요하다. 이전:repositories { mavenCentral() maven { url = uri("https://repo.spring.io/mil..
[WIL] Spring Boot 3.4.0 - JPA 통합테스트 깨짐 이슈 스프링 부트를 3.3.5에서 3.4.0으로 올렸다.총 4293개의 테스트 케이스중에 15개의 에러, 1개의 실패가 발생했다. 1개의 실패는 spring-web의 DefaultResponseErrorHandler 코드의 변경으로 이루어졌다.3.3.5 업데이트글과 마찬가지로 getErrorMessage의 메시지 구성이 변경되어 깨지는 것이었다.이슈: https://github.com/spring-projects/spring-framework/pull/28958커밋: https://github.com/spring-projects/spring-framework/commit/f85c4e1ea714281c03287d1448dab9efcf81fc34Spring Cloud의 의존 버전이 2024.0.0가 아닌 202..
[WIL] Laravel 업데이트 현재 서비스 중인 PHP 프레임워크인 라라벨의 버전은 5.6.39이다.6년전인 2018년 2월 릴리스되었고 현재 마지막 버전은 2024년 3월에 릴리스한 11이다. 오래된 프레임워크 버전을 사용하다보니 여러가지 이슈가 나왔다.의존하고 있는 라이브러리들이 더 이상 업데이트가 되지 않고 심지어 개발 환경을 구축하기 위한 php 버전을 불편하게 설치해야 한다.예) homebrew - php@7.4 no longer works after icu4c 72 upgrade 이를 위해 개인이 만든 brew tab 을 이용하여 낮은 버전의 php 를 설치해야 했다.brew tap shivammathur/phpbrew upgrade shivammathur/php/php@7.4 반면 신규 개발 환경인 Kotlin + Spr..
[Spring] Boot update 3.3.4 to 3.3.5, MethodArgumentTypeMismatchException 변경 사항 확인 by 테스트 코드 지난 주 스프링 부트 버전 업데이트를 진행했다.스프링 부트 버전 변화에 따라 스프링 프레임워크 버전도 업데이트가 되었다.spring boot 3.3.4: spring framework 6.1.13spring boot 3.3.5: spring framework 6.1.14프레임워크의 기능을 테스트할 때를 알기Zarar의 블로그에 좋은 소프트웨어 개발 습관들(Good software development habits)이라는 글을 본 적이 있다.GeekNews에  "프레임워크의 기능에 대한 테스트를 하지 않기"로 변역이 되어 있어서 무조건 프레임워크의 기능을 테스트하지 말자로 들릴 수 있다. 하지만 나는 "프레임워크의 기능을 테스트할 때와 하지 말 때를 알자"로 해석했다.Know when you're test..
[WIL] 외부 개발자의 참여로 개선을 이루는 오픈소스 사례 - 팝빌 금주에 있었던 재미있던 경험을 블로그에 남겨봅니다. 회사에서는 링크허브(LinkHub)라는 비즈니스 파트너를 통해 문자 메시지 발송 서비스를 이용하고 있었다.Spring Boot 기반의 Kotlin JVM으로 개발을 하고 있었다. 그래서 링크허브에서 Java 언어를 위해 제공하는 SDK를 더 쉽게 연동할 수 있게 제공하는 Spring Boot SDK를 사용하고 있었다.// build.gradle.ktsdependencies { // .. implementation("kr.co.linkhub:popbill-spring-boot-starter:1.4.0")} 위와 같이 의존성을 추가하면 스프링 부트 스타터가 자동 설정을 통해 com.popbill.api.MessageService 인터페이스를 DI가 가능..
[Kotlin] 커버리지 측정 도구를 JaCoCo에서 Kover로 변경하다 그동안 Kotlin을 사용하면서 Java의 도구들을 코틀린 도구들로 변경해서 사용했습니다.JUnit → KotestMockito → MockK회사에서는 SonarQube의 클라우드 버전인 SonarCloud를 사용하여 정적 코드 분석을 사용하고 있었습니다.코드 품질 중 코드 커버리지는 JaCoCo의 XML 테스트 리포트를 이용하여 제공을 하고 있었습니다. 가끔 테스트를 할 수 없는 부분이나 이미 테스트가 완료되었음에도 커버가 안된다는 분석이 나와서 의아함을 느끼고 있었습니다. JaCoCo 오탐들Spring Boot의 애플리케이션을 수행하는 부분 코드를 보면 닫는 괄호 부분도 커버가 안된다고 JaCoCo에서는 표시가 됩니다. 또한 Java에는 없고 Kotlin에만 있는 value class도 어떤 경우는..