본문 바로가기

설계4

[INFCON 2024 참관기 - 1] 지속 성장 가능한 설계를 만들어가는 방법 작년 8월 저는 정말정말 운이좋게 치열한 경쟁을 뚫고 인프콘에 당첨되어 즐거운 시간을 보내고 왔습니다.(교육 일정이라고 연차 대신 공가를 내준 우리 회사에 끝없는 감사를...ㅎㅎ)정말 규모도 크고, 화려하게 꾸며져있어서 여러 가지를 듣고 배운 것 외에도 즐길거리가 많았었습니다.사진 부스도 있어서 이렇게 인증샷도 남겨봤네요바쁜 일정을 핑계로 인프콘 참관기 작성을 미루다 뒤늦게라도 하는 것이 아예 안하는 것 보다는 훨씬 나을 것 같아 정리하려고 합니다.여러 연사님들의 발표를 들었는데 아래의 세 강의가 가장 기억에 남았었어요.지속 성장 가능한 설계를 만들어 가는 방법 - 김재민 연사디버깅 마인드셋 - 배휘동 연사경력이 늘 수록 CS이론이 중요해지는 이유 - 최호성 연사하여 INFCON 2024 참관기는 총 세.. 2025. 1. 6.
[신입 개발자의 첫 번째 아키텍쳐 설계 도전기 - Fin] 신규 아키텍쳐의 기대효과와 개선점 지금까지 레거시 아키텍쳐의 문제점을 분석하고, 이를 개선하기 위한 헥사고날 아키텍쳐의 도입과 설계에 대해 다루었습니다.이번 마지막 글에서는 실제로 새 아키텍쳐가 어떤 효과를 가져왔는지를 구체적인 예시와 함께 살펴보겠습니다.1. 풍부한 도메인 모델을 통한 비즈니스 로직의 응집도 향상레거시 코드// TransactionCoreService 클래스(서비스 레이어)에서 일일이 총액을 계산fun tranSaleHeaderGenerate( transactionInformation: PaymentEndRequestDTO, paymentData: PaymentsReqResData): TranSaleHeader { val cardAmt = BigDecimal(credit.sumOf { it.request.. 2025. 1. 5.
[신입 개발자의 첫 번째 아키텍쳐 설계 도전기 - #1] 레거시 아키텍처의 문제점 분석 1. 레거시 아키텍처의 구조와 문제점기존 POS 시스템은 common-core-windows의 3계층 구조로 설계되어 있었습니다.common은 영속성 계층을, core는 비즈니스 로직을, windows는 컨트롤러 역할을 담당했습니다.얼핏 보면 깔끔해 보이는 이 구조에는 몇 가지 문제점들이 있었습니다.1.1 표현력이 너무 부족하다먼저, 오프라인 결제 솔루션은 그 특성상 외부 세계에 대한 의존성을 굉장히 많이 가지는데요.몇 가지 예를 들어 보아도 아래처럼 여러 외부 의존성을 가진다는걸 금새 알 수 있습니다.1. 다양한 VAN사 결제 모듈 연동2. 다양한 상품권사 API 연동3. 배달, 선주문 앱 등의 다양한 주문 채널 연동4. 다양한 기종의 프린터 연동이 외에도 고객사의 멤버십 관리를 해주는 업체와의 연동 .. 2024. 12. 16.
[신입 개발자의 첫 번째 아키텍쳐 설계 도전기 - 프롤로그] 입사 1년차 선물로.. 중요한 자사 프로젝트의 설계를 맡게 되었다!? 예상치 못한 선물2024년 9월, 입사 1년을 갓 넘긴 시점에서 저는 뜻밖의 '선물'을 받았습니다.병역 특례로 복무하던 제 사수분이 퇴사하게 되면서, 사내의 가장 중요한 프로젝트 중 하나인 크로스플랫폼 POS의 아키텍쳐를 설계하고 개발을 리딩해야 하는 상황이 되었기 때문입니다.두려움과 설렘 사이사실, 프로젝트를 리딩해 나가야 되는 상황인 건 맞았지만, 아키텍쳐를 새로 설계해야 된다는 책임이 부여된건 아니었습니다.하지만, 저는 짧다면 짧은 1년간 레거시 코드를 유지보수하고 추가 개발을 하면서, 기존의 아키텍쳐와 개발 방법에 많은 문제가 있다는 것을 느끼고 있었습니다.하여, 어차피 할 거라면 신규 프로젝트니까 아키텍쳐 부터 탄탄하고 깔끔하게 만들고 가자는 생각이 들었습니다.위와 같은 상황이었기에 처음에는 정.. 2024. 12. 16.
728x90