테
테이블링
February 29, 20241회
테이블링 오피스의 Layered Architecture

간단 소개
테이블링 오피스는 Layered Architecture를 도입하여 관심사 분리, 재사용성 향상, 유지보수성 개선을 이루었습니다.
AI Summary
- Layered Architecture의 중요성
- 관심사 분리를 통해 각 계층이 명확한 책임을 갖도록 설계하여 시스템의 결합도를 낮추고 재사용성을 높임.
- 단일 책임 원칙을 준수하여 유지보수성을 향상시키고, 협업 시 클래스 및 모듈의 역할 파악을 용이하게 함.
- 테이블링 오피스의 4-Layered Architecture 도입
- 기존 3계층 구조(Controller-Service-Repository)에서 UseCase 계층을 추가하여 비즈니스 로직과 데이터 처리를 분리.
- Service 계층은 DTO 변환 및 가공을 담당하고, UseCase 계층은 데이터 원본을 반환하여 재사용성을 향상시킴.
- 도입 효과 및 고려 사항
- UseCase 도입으로 로직 재사용성이 높아지고 단위 테스트가 용이해졌지만, 파일 생성 증가 및 싱크홀 안티패턴 발생 가능성이 존재.
- 프로젝트 규모가 커질수록 클래스의 단일 책임을 명확히 하는 것이 중요하며, 초기 설계 시 책임과 역할을 충분히 고민해야 함.
Next Feeds

세계 최초로 cert-manager 버그를 발견하고 해결하기
cert-manager 버그를 발견하고 해결한 과정과 Let's Encrypt의 인증 체인 변경에 따른 영향, 오픈소스 기여 경험을 공유합니다.
cert-managerLet's EncryptDST Root CA X3인증서오픈소스 기여
2024. 2. 27.
데브시스터즈
잘 먹고 잘 자면 개발 품질이 좋아질까? - feat. 연속혈당측정기
건강한 식습관, 운동, 수면을 통해 혈당을 관리하고 개발 품질을 향상시키는 방법에 대한 경험 공유.
혈당개발건강식습관인슐린
2024. 2. 26.
카카오헤어샵
Mergekit, LLM을 한번 합쳐보자!
Mergekit은 LLM 병합 툴킷으로, 다양한 모델과 병합 방식을 지원하며, 허깅페이스 연동이 용이하다.
MergekitLLM모델 병합허깅페이스slerp
2024. 2. 21.
빅웨이브에이아이

실행 시간 효율을 위한 클래스 데이터 공유(CDS)와 Layered Jar
자바 애플리케이션의 초기 구동 시간 단축을 위해 CDS와 Layered Jar를 활용하여 성능을 개선하는 방법을 제시합니다.
CDSLayered JarGraalVMJVMProject Leyden
2024. 2. 20.
넷마블

MongoDB Timeseries를 활용기
MongoDB Timeseries DB를 도입한 비브로스의 경험 공유: 배경, 특징, 활용 및 고민을 담았습니다.
MongoDBTimeseries DBBucket Pattern로그 분석데이터 플랫폼
2024. 2. 20.
비브로스

ARHIS: 음향 기반 도로 노면 검지 솔루션
SK플래닛의 ARHIS는 음향 기반 AI 기술로 도로 노면 상태를 실시간 검지하여 안전을 강화하는 혁신적인 솔루션입니다.
ARHIS음향 기반도로 노면 검지AI블랙 아이스
2024. 2. 18.
skplanet