최신 글
-
멀티 모듈을 개발 속도가 느려지진 않을까?
해당 글은 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.03.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.02.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.02.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.02.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.02.11
nive-api-platform
-
nive-api-platform을 공개합니다: Spring Boot API 플랫폼 설계
🧭 nive-api-platform을 공개합니다🔍 이 플랫폼은 무엇인가nive-api-platform은 Spring Boot 기반의 API 플랫폼 베이스 프로젝트입니다.단일 서비스 구현을 넘어, 인증·권한·로깅·예외·아키텍처 규칙이 사전에 정의된 상태에서 도메인 API 개발을 즉시 시작할 수 있도록 설계된 멀티모듈 구조를 제공합니다.Spring을 대체하는 프레임워크도, 범용 SaaS 템플릿도 아닙니다.실제 운영 경험을 바탕으로 정리한 API 플랫폼 베이스입니다.📢 왜 공개했는가이 플랫폼은 개인 프로젝트를 준비하면서 만들었고, 실제 외주 프로젝트에도 적용해 봤습니다. 실험 단계가 아니라, 운영 경험을 거친 시점에서 공개하는 것이 맞다고 판단했습니다.지속적으로 관리하며, 유의미하게 공개할 수 있겠다 싶..
2026.02.06
-
4. boot-template, 그 이후
이 글은 2024년 말~2025년 초 진행한 boot-template 프로젝트,레거시에서 REST API로의 전환을 시도한 과정에 대한 마지막 회고입니다.이전 글에서 이야기했듯,boot-template는 실제 프로젝트로 이어지지 못했습니다.회사는 그걸로 사업을 따내지 못했고, 결국 우리는 모두 각자의 길을 가게 되었습니다.그럼에도 이 글을 남기는 이유는 분명합니다. boot-template는 실패로 끝났을지 모르지만,그 과정과 선택은 당시 팀원들에게 하나의 ‘유산’처럼 남아 있다고 믿기 때문입니다.그리고 이 블로그를 계속 쓰는 이유 중 하나도, 바로 이런 선택의 맥락을 잊지 않기 위해서입니다.boot-template는 어떤 구조였는가boot-template는 “최신 기술을 다 넣어보자”는 프로젝트가 아니..
2026.02.04
boot-template
-
SpringBoot(10) - Interceptor 구현
이전글 .2025.01.20 - [Spring/boot-template] - SpringBoot(1) Gradle, H2, Mybatis를 활용한 프로젝트2025.03.28 - [Spring/boot-template] - SpringBoot(2) MVC 작성 - JSP에서 Thymeleaf로, 폼 검증과 테스트까지2025.03.28 - [Spring/boot-template] - SpringBoot (3) REST API 작성 - MVC에서 API로, 구조 전환과 응답 설계2025.03.28 - [Spring/boot-template] - SpringBoot(4) 예외 처리 설계 - 전역 예외 처리와 ApiResponse 통합 응답 구조2025.03.28 - [Spring/boot-template] - ..
2026.01.27
-
SpringBoot(9) - Application Profile 운영
이전글 .2025.01.20 - [Spring/boot-template] - SpringBoot(1) Gradle, H2, Mybatis를 활용한 프로젝트2025.03.28 - [Spring/boot-template] - SpringBoot(2) MVC 작성 - JSP에서 Thymeleaf로, 폼 검증과 테스트까지2025.03.28 - [Spring/boot-template] - SpringBoot (3) REST API 작성 - MVC에서 API로, 구조 전환과 응답 설계2025.03.28 - [Spring/boot-template] - SpringBoot(4) 예외 처리 설계 - 전역 예외 처리와 ApiResponse 통합 응답 구조2025.03.28 - [Spring/boot-template] - ..
2026.01.26
-
SpringBoot(8) - DTO 분리의 필요성
이전 글.2025.01.20 - [Spring/boot-template] - SpringBoot(1) Gradle, H2, Mybatis를 활용한 프로젝트2025.03.28 - [Spring/boot-template] - SpringBoot(2) MVC 작성 - JSP에서 Thymeleaf로, 폼 검증과 테스트까지2025.03.28 - [Spring/boot-template] - SpringBoot (3) REST API 작성 - MVC에서 API로, 구조 전환과 응답 설계2025.03.28 - [Spring/boot-template] - SpringBoot(4) 예외 처리 설계 - 전역 예외 처리와 ApiResponse 통합 응답 구조2025.03.28 - [Spring/boot-template] - ..
2026.01.25
-
SpringBoot (7) – 비동기 파일 업로드 설계
이전 글.2025.01.20 - [Spring/boot-template] - SpringBoot(1) Gradle, H2, Mybatis를 활용한 프로젝트2025.03.28 - [Spring/boot-template] - SpringBoot(2) MVC 작성 - JSP에서 Thymeleaf로, 폼 검증과 테스트까지2025.03.28 - [Spring/boot-template] - SpringBoot (3) REST API 작성 - MVC에서 API로, 구조 전환과 응답 설계2025.03.28 - [Spring/boot-template] - SpringBoot(4) 예외 처리 설계 - 전역 예외 처리와 ApiResponse 통합 응답 구조2025.03.28 - [Spring/boot-template] - ..
2026.01.24
-
SpringBoot(6) - 3.x Swagger 적용기
이전 글.2025.01.20 - [Spring/boot-template] - SpringBoot(1) Gradle, H2, Mybatis를 활용한 프로젝트2025.03.28 - [Spring/boot-template] - SpringBoot(2) MVC 작성 - JSP에서 Thymeleaf로, 폼 검증과 테스트까지2025.03.28 - [Spring/boot-template] - SpringBoot (3) REST API 작성 - MVC에서 API로, 구조 전환과 응답 설계2025.03.28 - [Spring/boot-template] - SpringBoot(4) 예외 처리 설계 - 전역 예외 처리와 ApiResponse 통합 응답 구조2025.03.28 - [Spring/boot-template] - ..
2026.01.24
-
SpringBoot(5) 예외 처리 전략 - @RestControllerAdvice와 @ControllerAdvice 동시 사용 시 주의점
SpringBoot에서 @RestControllerAdvice와 @ControllerAdvice의 사용시 주의점을 공유드립니다. 이전 글.2025.01.20 - [Spring/boot-template] - SpringBoot(1) Gradle, H2, Mybatis를 활용한 프로젝트2025.03.28 - [Spring/boot-template] - SpringBoot(2) MVC 작성 - JSP에서 Thymeleaf로, 폼 검증과 테스트까지2025.03.28 - [Spring/boot-template] - SpringBoot (3) REST API 작성 - MVC에서 API로, 구조 전환과 응답 설계2025.03.28 - [Spring/boot-template] - SpringBoot(4) 예외 처리 설..
2025.04.07
-
SpringBoot(4) 예외 처리 설계 - 전역 예외 처리와 ApiResponse 통합 응답 구조
SpringBoot로 관심사의 분리 중 하나인 전역 예외처리와 ApiReponse로 성공/실패/에러의 응답 구조를 통일한 경험입니다. 이전 글.2025.01.20 - [Spring/boot-template] - SpringBoot(1) Gradle, H2, Mybatis를 활용한 프로젝트2025.03.28 - [Spring/boot-template] - SpringBoot(2) MVC 작성 - JSP에서 Thymeleaf로, 폼 검증과 테스트까지2025.03.28 - [Spring/boot-template] - SpringBoot (3) REST API 작성 - MVC에서 API로, 구조 전환과 응답 설계 🧭 서론: 예외 처리, 어떻게 설계할 것인가?이 프로젝트는 첫 번째 글과 마찬가지로 내부 팀 프..
2025.04.04
-
SpringBoot (3) REST API 작성 - MVC에서 API로, 구조 전환과 응답 설계
SpringBoot로 기존 MVC 방식을 REST API 구조로 전환하며, 커스텀 응답 객체로 표준화를 한 경험을 공유합니다. 이전 글.2025.01.20 - [Spring/boot-template] - SpringBoot(1) Gradle, H2, Mybatis를 활용한 프로젝트2025.03.28 - [Spring/boot-template] - SpringBoot(2) MVC 작성 - JSP에서 Thymeleaf로, 폼 검증과 테스트까지 🧭 서론: MVC 구조에서 REST API로 전환한 이유이 프로젝트는 첫 번째 글과 마찬가지로 내부 팀 프로젝트 대비, 제가 혼자 학습하며 구성한 템플릿 기반의 작업물입니다.당시 SpringBoot로 기반을 잡고, 실제 서비스에 사용할 수 있도록전자정부프레임워크 없..
2025.04.02
-
SpringBoot(2) MVC 작성 - JSP에서 Thymeleaf로, 폼 검증과 테스트까지
SpringBoot로 MVC 구조를 활용해, JSP가 아닌 Thymeleaf 기반으로 CRUD를 구현하고 유효성 검증 및 테스트 코드를 작성해봅니다. 이전 글.2025.01.20 - [Spring/boot-template] - SpringBoot(1) Gradle, H2, Mybatis를 활용한 프로젝트 🧭 서론: H2 + MyBatis 이후, 화면을 통해 검증하기이 프로젝트는 첫 번째 글과 마찬가지로 내부 팀 프로젝트 대비, 제가 혼자 학습하며 구성한 템플릿 기반의 작업물입니다.당시 SpringBoot로 기반을 잡고, 실제 서비스에 사용할 수 있도록전자정부프레임워크 없이 빠르게 개발 가능한 공통 템플릿 구조를 만드는 것이 목표였습니다.특히 기존 JSP 기반의 MVC 방식이 아닌,REST API 기반의..
2025.03.30
-
SpringBoot(1) Gradle, H2, Mybatis를 활용한 프로젝트
SpringBoot와 Gradle, H2, Mybatis를 활용한 적절한 restApi 설계와 mybatis의 조합을 설계해보기 위한 프로젝트 세팅입니다. 이 프로젝트는 내부 팀 프로젝트 대비, 제가 혼자 학습하며 구성한 템플릿 기반의 작업물입니다.당시 SpringBoot로 기반을 잡고, 실제 서비스에 사용할 수 있도록전자정부프레임워크 없이 빠르게 개발 가능한 공통 템플릿 구조를 만드는 것이 목표였습니다.특히 기존 JSP 기반의 MVC 방식이 아닌,REST API 기반의 구조로 전환하여 템플릿화하고자 했습니다.현재는 퇴사 후 이직한 상황이라 해당 프로젝트는 더 이상 개발되진 않지만,학습과 기록의 의미로 블로그에 정리해두며, 향후 참고용 포트폴리오로 활용하고자 합니다. :)👉 예제 프로젝트 전체는 아래 ..
2025.01.20