전체 글27 [DDD Start!] 정리 1: 도메인 모델하위 도메인과 모델모델의 구성요소는 특정 도메인을 한정할 때 의미가 완전해짐 → 각 하위 도메인마다 별도로 도메인 모델을 만들어야 함도메인 모델 패턴계층표현: 사용자 요청을 처리, 사용자에게 정보를 보여줌. 사용자는 소프트웨어를 사용하는 사람 또는 외부 시스템응용: 사용자가 요청한 기능을 실행, 업무 로직을 직접 구현하지 않음, 도메인 계층을 조합해 기능 실행도메인: 시스템이 제공할 도메인의 규칙 구현인프라스트럭처: 데이터베이스/메시징 시스템 등 외부 시스템과의 연동 처리도메인 모델 패턴: 도메인 규칙을 객체 지향 기법으로 구현하는 패턴엔티티와 밸류도출한 모델은 크게 엔티티와 밸류로 구분엔티티: 바뀌지 않고 고유한 식별자를 가지는 타입, 두 엔티티가 같은 식별자를 가진다면 둘은 같은 엔티.. 2026. 8. 12. [Embedded OS] 1. 개발환경 구성하기 임베디드 OS 개발을 위한 개발환경을 구성해보자.가상환경 설치(UTM)UTM은 맥, iOS, visionOS용 오픈소스 가상환경 어플리케이션이다. 주로 QEMU 에뮬레이터 프로젝트를 기반으로 한다.다음 링크에서 UTM을 설치한다.다음 링크에서 Ubuntu Linux Server LTS iso를 다운받는다.UTM에서 + 버튼을 누르고 다음과 같이 설정한다.가상화(Virtualize) 선택운영체제 Linux하드웨어 4GB(4096MB)부팅 이미지 Boot from ISO image, 다운받은 Ubuntu Linux iso 선택저장소 32 GB공유할 폴더 생성해서 지정이름을 지어서 생성하면 완료된다.가상환경에 Ubuntu Linux 설치 & ssh 세팅방금 설정한 가상환경을 실행하면 우분투를 설치하는 터미널 .. 2026. 3. 17. [클린 코드] 5주차: 11, 13장 11장: 시스템높은 추상화 수준(시스템 수준)에서도 깨끗함을 유지해야 함시스템 수준에서의 확장관심사를 적절히 분리해 관리하면 소프트웨어 아키텍처는 점진적으로 발전할 수 있다.관심사 분리제작-사용 분리관심사를 분리하지 않은 대표적인 경우초기화 지연/계산 지연: 필요할 때까지 객체 생성을 미루는 방법필요한 경우 그 때 생성하므로 생성자에 의존테스트를 위해 테스트 더블 필요일반 런타임 로직과 객체 생성 로직을 전부 테스트해야 함 → SRP 위반시스템 생성-시스템 사용을 분리하는 방법main 분리생성은 main이나 main이 호출하는 모듈에 집약main은 생성 역할, 애플리케이션은 생성된 객체 사용애플리케이션은 생성 과정에 대해 알 수 없음팩토리애플리케이션은 생성 시점은 결정하지만 생성 방법은 모름의존성 주입객.. 2025. 6. 6. [HTTP 완벽 가이드] 5부 학습 18장: 웹 호스팅웹 호스팅: 컨텐츠 리소스를 저장, 중개, 관리하는 일웹 호스팅을 위해 서버가 필요하다.호스팅 서비스전용 호스팅은 개발자가 ISP로부터 직접 자체 서버를 구매해 사용하는 방식이다.가상 호스팅공유 호스팅/가상 호스팅: 웹 호스팅 업자는 컴퓨터 한 대를 여러 고객이 공유하게 해 저렴한 웹 호스팅 서비스를 제공한다.호스팅 업자는 복제 서버 더미(서버 팜)을 만들고 부하를 분산한다.하지만 HTTP 요청에 호스트 정보가 없다면 공용 웹 서버가 호스팅하고 있는 가상 웹 사이트 중 어떤 곳에 접근하려고 하는지 알 수 없다.위 문제를 해결하기 위한 방법은 다음과 같다.1. URL 경로를 통한 가상 호스팅URL 자체에 원하는 웹 서버를 명시하도록 API를 작성하는 방식이다.호스트명이 URL에 포함되어 .. 2025. 5. 29. [클린 코드] 4주차: 9, 10장 9장: 단위 테스트⌜단위 테스트⌟ - 블라디미르 코리코프단위 테스트의 구조준비-실행-검증실행 구절은 한 줄을 넘기면 안 됨, 넘어가면 API의 캡슐화가 지켜지지 않은 것검증 구절(Assert)은 한 테스트에서 여러 가지를 검증해도 되지만 너무 커지는 것은 지양해야 함좋은 단위 테스트의 요소리팩토링 내성: 테스트를 실패로 바꾸지 않고 애플리케이션 코드를 리팩토링할 수 있는지 여부테스트는 코드에 유연성, 유지보수성, 재사용성을 제공한다.테스트 코드를 깨끗하게 유지하면 실제 코드도 지속적으로 깨끗하게 유지할 수 있음깨끗한 테스트 코드깨끗한 테스트 코드를 만들려면 가독성이 필요하다.Build-Operate-Check 패턴각 테스트 구조를 명확히 세 부분으로 나눔도메인 특화 언어(DSL)시스템 조작 API 대신 .. 2025. 5. 29. [클린 코드] 3주차: 7, 8장 7장: 오류 처리깨끗하게 오류 처리하기try-catch-finally 문부터 작성하기예외를 반환하는 단위 테스트 작성단위 테스트에 맞춰 코드 구현catch 블럭에서 예외 잡기강제로 예외를 발생시키는 테스트 케이스를 작성하면 try 블럭의 트랜잭션 범위부터 구현할 수 있다.언체크 예외 사용하기일반적인 애플리케이션은 의존성이라는 비용이 이익보다 크다.체크 예외는 OCP 원칙을 위반한다.하위 단계의 코드를 수정하면 상위 단계 코드도 전부 고쳐야 한다.예외에 의미 제공하기오류 메시지에 전후 상황, 실패한 연산 이름, 실패 유형을 담아 오류 발생 원인/위치를 찾기 쉽도록 한다.호출자를 고려해 예외 클래스 정의하기오류를 분리하는 이유는 오류를 잡아내기 쉽도록 하기 위해서이다.예외 클래스의 정보로 오류를 구분해도 괜.. 2025. 5. 29. 이전 1 2 3 4 5 다음