앞선 글에서 package 구조, Java access modifier 그리고 ArchUnit을 통해 Hexagonal Architecture를 구현해보았다.마지막에 " [1] 개발 중엔 아직 실수할 수 있다, [2] 테스트를 수행하지 않는다면기존의 문제점은 계속해서 발생한다." 문제점들을 이야기했는데이번 글에서는 멀티모듈, JPMS, Kotlin을 이용해서 이 문제들을 해결해보고자 한다. 3. Multi module (멀티모듈)로 구현하기 Chapter 02: Multi module by KimDoubleB · Pull Request #2 · KimDoubleB/clean-architecture-example github.com 결국 ArchUnit으로는 잘못된 의존을 막을 수 있는데 큰 도움이 되..
서버 개발자들간에는 논쟁이 일어날 수 있는 주제가 여러가지가 있다.그 중 대표적인 두 가지를 뽑자면 “Monolithic과 MSA”이고, 나머지 하나가 오늘 이야기 할 “Clean/Hexagonal Architecture”이다. 나는 보통 애플리케이션/프로젝트를 구성할 때 별 다른 고민없이 Layered Architecture로 구성해왔다.그러는데는 아주 지극히 개인적인 여러 이유가 있다.익숙하다. 나에게도 익숙하고, 남에게도 익숙하다. 러닝커브가 낮아 누가와도 개발할 수 있다.개발이 빠르다. 익숙해서 개발이 빠른 것도 있지만, 계층별로만 역할이 나뉘고 의존성/구현 방향이 단순해 생성되는 클래스/파일의 양이 적어 결과물을 보기까지 개발속도가 빠르다.Layered Architecture 구조의 단점이 와..
`만들면서 배우는 클린 아키텍처` 책을 보면서 헥사고날 아키텍처 구조에 대해 학습하고 있다. 기존까지는 생각하지 못했던, 또한 패키지나 구조에 대해 잘 몰라 '이렇게 하는게 맞나'하면서 고민했던 것들이 좀 풀려나가는 것 같다. 이 글에서는 학습하며 배웠던 패키지 구조와 간단 아키텍처를 백업용으로 작성하고자 한다. 패키지 구조 책에서는 adapter, application, domain을 주 패키지로 잡고, 내부적으로 port, in, out 등의 부 패키지로 구성하고 있다. com.binux.server ├── BinuxApplication.java ├── BinuxConfiguration.java ├── BinuxConfigurationProperties.java ├── account │ ├── ada..
- Total
- Today
- Yesterday
- c++
- container
- Intellij
- tag
- 클린 아키텍처
- 비동기
- Clean Architecture
- k8s
- HTTP
- 일상
- boj
- Istio
- java
- jasync
- Kubernetes
- Algorithm
- WebFlux
- Spring boot
- MySQL
- Log
- hexagonal architecture
- Spring
- 하루
- gradle
- 로그
- docker
- 백준
- 알고리즘
- 쿠버네티스
- python
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |