본문 바로가기

분류 전체보기31

멀티 모듈을 개발 속도가 느려지진 않을까? 해당 글은 nive-api-platform을 설계하고 만들면서 왜 이런 방식을 택했는지, 그리고 이걸 통해 어떤 이점과 단점, 그리고 트레이드오프가 있는지 등을 경험담을 전달하고자 합니다.더 자세한 사항은 nive-api-platform의 아키텍처 문서에서 확인이 가능합니다.이전글.2026.02.06 - [Spring/nive-api-platform] - nive-api-platform을 공개합니다: Spring Boot API 플랫폼 설계2026.02.06 - [Spring/nive-api-platform] - Service 대신 UseCase를 선택한 이유2026.02.09 - [Spring/nive-api-platform] - 왜 application 모듈에 Controller를 두었는가2026.0.. 2026. 3. 11.
멀티 모듈은 왜 도입했을까? 해당 글은 nive-api-platform을 설계하고 만들면서 왜 이런 방식을 택했는지, 그리고 이걸 통해 어떤 이점과 단점, 그리고 트레이드오프가 있는지 등을 경험담을 전달하고자 합니다.더 자세한 사항은 nive-api-platform의 아키텍처 문서에서 확인이 가능합니다.이전글.2026.02.06 - [Spring/nive-api-platform] - nive-api-platform을 공개합니다: Spring Boot API 플랫폼 설계2026.02.06 - [Spring/nive-api-platform] - Service 대신 UseCase를 선택한 이유2026.02.09 - [Spring/nive-api-platform] - 왜 application 모듈에 Controller를 두었는가2026.0.. 2026. 2. 24.
Port-Adapter로 경계를 느슨하게 만든 이유 해당 글은 nive-api-platform을 설계하고 만들면서 왜 이런 방식을 택했는지, 그리고 이걸 통해 어떤 이점과 단점, 그리고 트레이드오프가 있는지 등을 경험담을 전달하고자 합니다.더 자세한 사항은 nive-api-platform의 아키텍처 문서에서 확인이 가능합니다. 이전 글.2026.02.06 - [Spring/nive-api-platform] - nive-api-platform을 공개합니다: Spring Boot API 플랫폼 설계2026.02.06 - [Spring/nive-api-platform] - Service 대신 UseCase를 선택한 이유2026.02.09 - [Spring/nive-api-platform] - 왜 application 모듈에 Controller를 두었는가2026.. 2026. 2. 19.
Domain을 순수하게? 타협을 어디까지? 해당 글은 nive-api-platform을 설계하고 만들면서 왜 이런 방식을 택했는지, 그리고 이걸 통해 어떤 이점과 단점, 그리고 트레이드오프가 있는지 등을 경험담을 전달하고자 합니다.더 자세한 사항은 nive-api-platform 아키텍처 문서에서 확인이 가능합니다. 이전 글.2026.02.06 - [Spring/nive-api-platform] - nive-api-platform을 공개합니다: Spring Boot API 플랫폼 설계2026.02.06 - [Spring/nive-api-platform] - Service 대신 UseCase를 선택한 이유2026.02.09 - [Spring/nive-api-platform] - 왜 application 모듈에 Controller를 두었는가✈️ 서.. 2026. 2. 13.
왜 application 모듈에 Controller를 두었는가 해당 글은 nive-api-platform을 설계하고 만들면서 왜 이런 방식을 택했는지, 그리고 이걸 통해 어떤 이점과 단점, 그리고 트레이드오프가 있는지 등을 경험담을 전달하고자 합니다.더 자세한 사항은 nive-api-platform의 아키텍처 문서에서 확인이 가능합니다.이전글.2026.02.06 - [Spring/nive-api-platform] - nive-api-platform을 공개합니다: Spring Boot API 플랫폼 설계2026.02.06 - [Spring/nive-api-platform] - Service 대신 UseCase를 선택한 이유 ✈️ 서론이 글은 nive-api-platform을 설계하면서UseCase 구조를 도입한 이후, 가장 많이 고민했던 지점 중 하나를 다룹니다.“C.. 2026. 2. 11.
Service 대신 UseCase를 선택한 이유 해당 글은 nive-api-platform을 설계하고 만들면서 왜 이런 방식을 택했는지, 그리고 이걸 통해 어떤 이점과 단점, 그리고 트레이드오프가 있는지 등을 경험담을 전달하고자 합니다.더 자세한 사항은 nive-api-platform 의 아키텍처 문서에서 확인이 가능합니다.이전글.2026.02.06 - [Spring/nive-api-platform] - nive-api-platform을 공개합니다: Spring Boot API 플랫폼 설계✈️ 서론이 글은 nive-api-platform을 만들기까지의 과정 중, 구조를 정리하면서 가장 먼저 고민했던 지점 중 하나를 다룹니다.처음부터 이런 구조를 의도한 건 아니었고, 실제로 겪은 문제들을 해결하다 보니 자연스럽게 선택하게 된 결과입니다.지속적인 리팩토링.. 2026. 2. 9.
nive-api-platform을 공개합니다: Spring Boot API 플랫폼 설계 🧭 nive-api-platform을 공개합니다🔍 이 플랫폼은 무엇인가nive-api-platform은 Spring Boot 기반의 API 플랫폼 베이스 프로젝트입니다.단일 서비스 구현을 넘어, 인증·권한·로깅·예외·아키텍처 규칙이 사전에 정의된 상태에서 도메인 API 개발을 즉시 시작할 수 있도록 설계된 멀티모듈 구조를 제공합니다.Spring을 대체하는 프레임워크도, 범용 SaaS 템플릿도 아닙니다.실제 운영 경험을 바탕으로 정리한 API 플랫폼 베이스입니다.📢 왜 공개했는가이 플랫폼은 개인 프로젝트를 준비하면서 만들었고, 실제 외주 프로젝트에도 적용해 봤습니다. 실험 단계가 아니라, 운영 경험을 거친 시점에서 공개하는 것이 맞다고 판단했습니다.지속적으로 관리하며, 유의미하게 공개할 수 있겠다 싶.. 2026. 2. 6.
7년 만에 람다와 Optional을 제대로 써본 후기 🛫 서론 : 왜 이제야 쓰게 됐을까2019년 첫 회사에 입사했을 당시 JDK 1.7을 사용하고 있었습니다. 이후 log4j 제로데이 취약점 이슈가 발생하면서 급하게 JDK 1.8로 버전을 올리게 되었습니다. 버전은 올라갔지만, 람다나 Optional 같은 기능은 거의 사용하지 않았습니다.레거시 위주의 SI 프로젝트였고, 기존 코드 스타일을 따라가다 보니 자연스럽게 if (object == null)체크와 for문 위주의 코드가 계속 이어졌습니다.2022년에 이직한 회사에서도 상황은 크게 다르지 않았습니다. 2025년 퇴사할 때까지 JDK 1.8을 사용했지만, 전자정부 프레임워크 기반의 레거시 코드가 중심이었고 코드베이스도 워낙 방대하다 보니 새로운 스타일을 도입하기에는 부담이 컸습니다.그러다 2025년.. 2026. 2. 5.