본문 바로가기
반응형

전체 글33

[프로그래밍] NestJS 서비스간의 기능 의존성 해결하기 NestJS 서비스간의 기능 의존성 안녕하세요. 개발 까마귀입니다. 이번에는 NestJS 서비스간의 기능 의존성에 대해 알려드리고자합니다. 각 모듈은 자기가 기능 구현을 할 때 다른 모듈에 기능이 필요할 때 가 있습니다. 이 때 다른 모듈의 `Service`를 그냥 Import 해온다거나 `Repository`를 Import 해온다거나 등의 방식을 사용해서 기능을 구현합니다. 하지만 이렇게 방법을 할시에 '순환참조', '너무 많은 기능 노출', '의존성 문제' 등 많은 문제가 발생할수있습니다. 너무 많은 기능 노출 문제 및 의존성 문제 예를들어 `UserService`에는 `login`, `signup` 메서드가 있고 `PostService`에는 `createPost`, `updatePost`, `get.. 2024. 2. 4.
[프로그래밍] 추상화와 다형성 추상화와 다형성 안녕하세요. 개발 까마귀입니다. 이번에는 추상화와 다형성에 대해 알려드리고자 합니다. 추상화, 다형성, 캡슐화, 상속은 객체지향 개념에서 빠질수없는 개념들인데요. 하지만 해당 개념을 왜 쓰는지 어떻게 쓰는지에 대해서 많이들 모르시고 헷갈리기도 합니다. 추상화 "추상스럽다", "설명이 너무 추상적이다" 등 많이들 사용하시죠? 미술시간에도 "추상화"관련해서 많이 배우셨을테고요. 예를들어 웹툰을 그릴 때 스토리 작가가 밑그림을 그리고 다음 그림 작가가 밑그림에 디테일을 더 해서 그림을 그립니다. 이 때 밑그림은 추상화 단계 이죠 이처럼 객체지향에서도 추상화는 크게 다르지 않습니다만, 객체지향에서의 추상화의 제일 큰 목적은 "중복 제거" 입니다. 핵심적인 요소들을 뽑아내어 코드의 중복을 줄이는거.. 2024. 2. 4.
[프로그래밍] TDD와 테스트 코드 TDD 와 테스트 코드 안녕하세요. 개발 까마귀입니다 이번에는 TDD 와 테스트 코드에서 대해서 알려드리려고합니다. 우선 TDD 와 테스트 코드는 다른것입니다. TDD는 개발 방법론이고 테스트 코드는 말 그대로 테스트 코드입니다. 그래서 회사나 다른 곳에서 "나는 TDD 하고있어 또는 할거야" 하고 나중에 보면 그냥 기능 구현 다 하고 테스트 코드를 짜거나 테스트 코드를 다 작성하고 기능 구현을 하는 사람이 많습니다. 이는 TDD를 정확히 모르는거죠 테스트 코드 적용 이전의 개발 우선 TDD와 테스트 코드에 대해서 설명하기전에 그저 기능 구현만 했을 때의 개발 플로우 와 문제점들을 얘기하겠습니다. 테스트 코드 적용 이전의 개발 플로우 1. 기획서 작성 2. 기능 구현 3. QA(기능 테스트) 4. 배포 .. 2023. 9. 2.
반응형