타입시스템 기반 도메인 모델링 - 보이지 않는 오류를 막아라
엔지니어링데이 2025 네이버 · YouTube
AI 핵심 요약
커피 주문에서 뜨거운 커피에 얼음 옵션을 붙이는 것처럼, 널 허용 필드로 도메인을 표현하면 실제로는 성립하지 않는 상태까지 코드에 담기는 문제가 생깁니다. 발표자는 대수적 데이터 타입의 프로덕트 타입과 섬 타입을 설명하고, 자바의 sealed 상속과 패턴 매치 등을 활용해 현금영수증 발급 수단과 네이버페이 주문서의 결제 조합을 유효한 경우만 표현하도록 모델링했습니다. 또 문자열·정수 대신 유효성 검사를 포함한 값 객체를 사용하고, 런타임과 컴파일 타임 검증의 차이를 비교했습니다. 타입으로 오류를 미리 막을수록 모델과 데이터 변환 비용이 커질 수 있으므로, 도메인의 복잡도에 맞춰 안전성과 구현 비용을 선택해야 한다는 점을 강조했습니다.
- 프로덕트 타입은 필드의 조합으로, 섬 타입은 여러 대안 중 하나로 모델링하며 자바에서는 클래스와 sealed 상속·패턴 매치로 표현할 수 있습니다.
- 섬 타입을 설계할 때는 상속, 캡슐화한 합 타입, 방문자 패턴의 사용성과 복잡도를 비교하세요.
- 문자열·정수 대신 유효성 규칙을 가진 값 객체를 만들면 잘못된 값의 생성을 제한할 수 있습니다.
- 컴파일 타임 검증은 더 강한 보장을 주지만 타입이 복잡해질 수 있으므로 도메인의 복잡도와 변환 비용을 함께 고려해야 합니다.
- 안전한 도메인 모델은 DTO나 저장 엔티티와 형태가 다를 수 있어 데이터 흐름에 따른 변환이 필요합니다.
소개
네이버 사내 기술 교류 행사인 NAVER ENGINEERING DAY 2024(10월)에서 발표되었던 세션을 공개합니다. [발표 내용] 타입시스템으로 도메인을 모델링하는 기법을 소개하고, 복잡한 도메인에서 보이지 않는 오류를 막을 수 있는 방법을 소개합니다. [목차] - 커피 주문 - 도메인과 도메인 모델 - 대수적 데이터 타입(Algebraic Data Type) - 현금 영수증 발급 수단 - 안전성과 비용관계 - 안전성의 의미 - 원시타입에 대한 집착 - 런타임 안전성 vs 컴파일 타임 안전성 - 실전 도메인: 주문서 결제수단 - 정리
비슷한 학습 자료
컨퍼런스 당근 밋업
내 타입스크립트 코드가 이렇게 느릴 리 없어! | 2024 당근 테크 밋업
컨퍼런스 당근 밋업
타입스크립트로 개발하면서 점점 느려지는 코드 추론 속도 때문에 고민했던 적 있으신가요? 시간이 지남에 따라 코드베이스가 커졌으니 자연스러운 수순이라고 생각할 수 있어요. 그런데 혹시 잘못 작성한 타입 때문에 타입 추론이 느려지고 있었다면요? 이 세션에서는 잘못된 타입이 타입스크립트 추론 속도를 어떻게 저하시키는지 살펴보고, 타입 추론의 병목 지점을 진단하고 해결할 수 있는 방법을 소개해요. 🥕 영상을 보고 당근에 관심이 생기셨다면 채용 공고를 확인해보세요! https://about.daangn.com/jobs/
프론트엔드 프로그래밍 언어
컨퍼런스 엔지니어링데이 2025
데이터는 흐른다, 연결될 준비가 되었다면
컨퍼런스 엔지니어링데이 2025
네이버 사내 기술 교류 행사인 NAVER ENGINEERING DAY 2025(5월)에서 발표되었던 세션을 공개합니다. [발표 내용] 유저 세그먼트를 손쉽게 정의하고, 이를 다양한 액션 채널(Braze, IDS, GAM 등)과 자동 연동할 수 있는 네이버 웹툰의 Cohort System을 소개합니다. 조건 기반 필터링, ML 모델 연동 등 다양한 방식으로 세그먼트를 만들고, 중복 제거 로직과 함께 효율적으로 활용할 수 있습니다. 시스템 구조와 기술 스택, 실제 마케팅 활용 사례까지 함께 공유하며, 데이터에서 인사이트, 나아가 액션까지의 연결을 어떻게 자동화했는지를 설명합니다. [강의 대상] * 데이터 엔지니어 / 백엔드 엔지니어: 데이터 흐름 자동화, 시스템 구조에 관심 있는 분 * ML 엔지니어 / 데이터 사이언티스트: ML 결과를 실시간 타겟팅에 적용하고 싶은 분 * 마케터 / PM: 타겟 유저 추출과 액션 전환까지의 전체 흐름을 이해하고 싶은 분 [목차] Episode 1...
백엔드 데이터베이스
컨퍼런스 엔지니어링데이 2025
네이버 사내 기술 교류 행사인 NAVER ENGINEERING DAY(7월)에서 발표되었던 세션을 공개합니다. ----- 안녕하세요, Portal FE 조문기입니다~ 저는 회사 내적으로는 네이버 통합검색의 프론트엔드를 담당하고 있습니다. 스마트블록, 인플루언서, VIEW 등 각 컬렉션의 얼굴(?)을 관리중이니 많은 관심 부탁드립니다. 그리고 Meerkat이라는 통합검색 클라이언트 에러 모니터링 시스템 개발에 참여하고 있습니다. [강의 내용] 웹 테스트 동향 소개 네이버 통합검색과 에러 Meerkat 프로젝트 소개 - Meerkat v1 : Global Error Handler - Meerkat v2 : Breadcrumbs Based Session Replay - Meerkat v3 : Browser-Side Assertion for Automated Test Generator 새로운 패러다임 : 코드가 아닌 데이터 기반의 테스트 [강의 대상] 테스트 코드 작성이 ...
프론트엔드 소프트웨어 테스트
컨퍼런스 엔지니어링데이 2025
AI 경량화: 더 빠르고 저렴한 AI 서비스 - 백동원_NE DAY 23. 10
컨퍼런스 엔지니어링데이 2025
네이버 사내 기술 교류 행사인 NAVER ENGINEERING DAY(10월)에서 발표되었던 세션을 공개합니다. ----- [발표 내용] * AI 경량화 삽질기 (feat. LaRva) - Quantization과 삽질기 - Pruning과 삽질기 - Low-Rank와 삽질기 - Knowledge Distillation과 삽질기 * AI 경량화 Benefits & Risks - 전력 소모 단위에서의 AI 경량화 - 각종 논문에서의 AI 경량화 안정성 반증 - AI 경량화에서 얻을 수 있는 Benefits - AI 경량화를 할 때 대비해야 하는 Risks
딥러닝 · 머신러닝
컨퍼런스 우아콘 2021
B마트 전시 도메인 CQRS 적용하기 #우아콘2021 #둘째날_새로운여정
컨퍼런스 우아콘 2021
도메인 원정대 #우아콘2021 #둘째날_새로운여정
컨퍼런스 우아콘 2021
복잡한 비즈니스 문제는 쉽게 해결되지 않으며, 문제가 무엇인지 이해하고 해결에 집중할 수 있는 영역을 만드는 것이 중요합니다. 이번 시간에는 도메인을 여러 해결 영역으로 나누는 방법과 해결 영역 내의 다양한 상황에서 비즈니스 규칙이 깨지지 않도록 보호하는 방법을 공유합니다. [발표자 소개] 박재성, 테크코스교육개발팀 좋은 코드에 관심이 많으며, 1년이 지나도 10년이 지나도 사용할 수 있는 코드를 추구합니다. 도메인 주도 설계를 바탕으로 한 코드는 그 자체로 하나의 훌륭한 문서가 될 수 있으며 코드를 통해 도메인에 대해 깊게 이해할 수 있습니다. "유용한 소프트웨어를 개발하고 싶다면 도메인에 귀를 기울여라"라는 '도메인 주도 설계' 저자 Eric Evans의 말처럼 더 좋은 소프트웨어를 개발하는 방법을 여러분께 공유하고 싶고, 늘 고민하고 있습니다.
개발 · 프로그래밍 기타