[Gradle] 의존성 버전 중앙 관리 방법들 (buildSrc 말고)gradle properties, Spring dependency management plugin, Gradle platform 기능, Version catalog 기능을 통한 의존성 버전 중앙 관리를 소개한다.Mar 15Mar 15
PyInstaller로 인스톨러 exe 파일 개발하기 (Minecraft, Pyenv)마인크래프트 모드 설치 과정의 번거로움과 실수를 방지하기 위해, PyInstaller로 Windows/MacOS installer 실행 파일을 개발한 과정을 소개한다. 실행 파일 내부에 모드 파일들을 내장하는 방법과 그 동작 원리, Pyenv…Feb 24Feb 24
Feign Micrometer Tracing 내부 동작 디버깅Spring Boot 3 버전 업 후, Spring Cloud OpenFeign의 Feign client가 distributed tracing HTTP 헤더를 전파하지 않는 문제가 있었다Feb 16Feb 16
[Gradle] evaluation vs configuration (afterEvaluate() 함수 차이점)afterEvaluate를 사용하면 정확히 어떤 효과나 차이점이 있는지? evaluation과 configuration의 차이점에 대해 이해하고 정리해보았다.Feb 2Feb 2
[Spring Boot 3] Logback config 초기화 실패 디버깅Spring Boot 3 버전 업 과정에서 만났던 문제 중 하나를 정리했다. 이 문제는 특히 로그에서 문제의 원인을 확인할 수 없었기 때문에 쉽지 않은 문제였다. 문제 해결 후에 문제의 근본 원인까지 확인했던 과정을 소개한다.Jan 19Jan 19
[협업] 워크스페이스 분리의 중요성간단한 사례 회고를 하나 작성했다. 웹훅을 통해 API를 호출하는데 여러 명이 작업 시 웹훅을 하나로 할 것인가, 두 개로 할 것인가? 사소한 차이같지만 협업 시에는 중요했던 사례를 회고해본다.Dec 29, 2024Dec 29, 2024
공통 모듈들을 Gradle monorepo로 합치기기존 polyglot(multi-repo)으로 구성되어 있던 공통 모듈 저장소 구조를 Monorepo로 변경하였다. 기존 polyglot 구조의 문제점들을 소개한다. Monorepo 구조로 변경하며 마주했던 문제점들을 소개한다.Dec 28, 2024Dec 28, 2024
유스 케이스 클래스 파일을 분리하면 좋은 이유만들면서 배우는 클린 아키텍처 책에서 헥사고날 아키텍처와 유스 케이스에 대하여 공부했다. 서비스 대신 유스 케이스들로 나누어 작성하는 것의 이점이 더 크다고 느껴졌다.왜 유스 케이스를 분리하는 게 더 좋다고 생각했는지에 대해서 정리했다.Dec 7, 2024Dec 7, 2024
[트러블슈팅] kotlinter-gradle — Kotlin 버전 호환성 문제 (trailing comma rule)kotlinter-gradle plugin으로 ktlint를 사용하고 있다. trailing comma 설정이 적용되지 않는 문제가 발생하여 kotlinter-gradle 버전을 3.13.0 → 3.14.0으로 올리며 해결되었다.Nov 23, 2024Nov 23, 2024