의존성 역전의 원칙이란? 의존성 역전의 원칙(Dependency Inversion Principle, DIP)은 객체 지향 설계 원칙 중 하나로, 고수준 모듈이 저수준 모듈에 의존하는 것이 아니라 둘 다 추상화에 의존하도록 해야 한다는 원칙이다. 1. 고수준 모듈과 저수준 모듈이란? 고수준 모듈이란: 모듈의 본질적 기능과 책임을 말하며, 구체적 동작은 포함되지 않는다. (무엇을?) 저수준 모듈이란: 모듈 시스템의 구체적인 세부 사항과 기능을 나타낸다. (어떻게?) 그림에서는 HL1은 ML1보다 고수준의 모듈이다. 이때 일반적인 제어의 흐름으로는 고수준의 모듈이 저수준의 모듈에 의존하게 된다. 2. 의존이란? 의존이란 어떠한 모듈, 클래스 또는 컴포넌트가 다른 모듈, 클래스 또는 컴포넌트의 기능이나 행위에..
Node.js와 Jest로 테스트 코드를 작성하는 기본적인 TDD 강의는 있지만 실제 동작 코드를 테스트하는 것은 어려운데 반해 보고 따라하며 감을 잡을만한 가이드가 없었기 때문에 직접 작성하기로 했다. (배우면서 작성한 것이라 틀린 내용이 있을 수 있습니다) Typescript // Node.js v18 // Jest v29 더보기 tsconfig.json { "ts-node": { "files": true }, "exclude": ["node_modules", "build"], "compilerOptions": { "strict": true, "lib": ["es6"], "moduleResolution": "node", "target": "ES6", "allowSyntheticDefaultImport..
Node.js와 Jest로 테스트 코드를 작성하는 기본적인 TDD 강의는 있지만 실제 동작 코드를 테스트하는 것은 어려운데 반해 보고 따라하며 감을 잡을만한 가이드가 없었기 때문에 직접 작성하기로 했다. (배우면서 작성한 것이라 틀린 내용이 있을 수 있습니다) Typescript // Node.js v18 // Jest v29 더보기 tsconfig.json { "ts-node": { "files": true }, "exclude": ["node_modules", "build"], "compilerOptions": { "strict": true, "lib": ["es6"], "moduleResolution": "node", "target": "ES6", "allowSyntheticDefaultImport..
Node.js와 Jest로 테스트 코드를 작성하는 기본적인 TDD 강의는 있지만 실제 동작 코드를 테스트하는 것은 어려운데 반해 보고 따라하며 감을 잡을만한 가이드가 없었기 때문에 직접 작성하기로 했다. (배우면서 작성한 것이라 틀린 내용이 있을 수 있습니다) Typescript // Node.js v18 // Jest v29 더보기 tsconfig.json { "ts-node": { "files": true }, "exclude": ["node_modules", "build"], "compilerOptions": { "strict": true, "lib": ["es6"], "moduleResolution": "node", "target": "ES6", "allowSyntheticDefaultImport..