본문 바로가기
728x90

Node js/Nest js 강의 내용21

(다음과정 미리보기) Test Container 개발 with Prisma and Mysql 테스트 코드를 왜 작성해야하는가?: 앞써 리펙토링을 진행했을때 처럼, 회원수의 증가에 따라 이용량이 증가하게되고 기존의 서버에서 처리가 가능했던게 처리가 힘들어지게 됨에 따라 어쩔 수 없이 리펙토링을 해야하는 상황에서 새롭게 개발한 소스가 이전과 동일하게 작동되고 있는지를 검증해야한다. 2025. 1. 27.
(다음과정 미리보기) (번외) Nest js 기반 Test Container 구축하기 시스템이 확장됨에 따라, 테스트의 중요성은 강조된다.이미 개발한 내역이 많기 때문에, 현재 개발중인 내역으로 인해 전파 이슈가 발생하면 안되기 때문인데,그렇다고 내가 개발한 내용은 1주일 정도량인데, 현재까지 개발된 내용이 2년 치라면?2년+1주일 분량전체를 테스트 할 것인가? 여기서 시스템의 안정성을 높이고, 개발 테스트 소요시간을 단축할 수 있는 방안이 바로테스트 코드 이다.(단위테스트, 통합테스트, e2e 테스트 등) 다만, 여기서 테스트 수행 시 DB가 항상 접속이 되어있어야 할까?는 다소 의문스러운 영역이긴하다왜? 독립적인 구성에서의 테스트가 이루어 져야하기 때문이다.예를 들면, Kafka 를 도입해서 사용중인데, Kafka 가 항상 있어야만 테스트를 돌릴수 있는가?라는 상황이면, github .. 2025. 1. 27.
(다음과정 미리보기) Graphql 사용하기 1. Graphql 이란    : GraphQL은 API를 위한 "데이터 요청 언어"로, 클라이언트가 원하는 데이터를 효율적으로      서버에서 가져올 수 있도록 돕는 기술  2. Why Graphql?    : RestAPI와 비교시 여러가지 "장점"들이 있는데 아래와 같이 나열해보겠다.     - B/E server End point가 하나이다!      : rest 의 경우 /users(사용자목록), /orders(주문목록) 이나, Graphql 의 경우 /graphql 하나!)      - 필요한 Data 만 요청 가능      : orders(주문목록) 중 상품명, 가격, 옵션, 변경일자, 재고 수량 중에 상품명과 가격만 필요한 경우가 있다고 가정하자       rest의 경우 2개의 필드정보.. 2025. 1. 27.
9. Kafka 설명 & 연동 (한방에 해결하자) 1. Kafka 란?    : Apache 재단에 등록된 오픈소스로써, 분산형 스트리밍, 대규모 트래픽처리, 대용량 데이터 처리를 원활하게 처리하기 Message Queue (https://kafka.apache.org/) Apache KafkaApache Kafka: A Distributed Streaming Platform.kafka.apache.org  2. Kafka 구조 및 흐름     : kafka 의 구성은 main 의 역할인 kafka와 헬스체크 등 보조적인 역할인 zookeeper 가있다.     (최근에 zookeeper 의 의존성을 없애기 위해 kafka 단독으로 개발하여 나온 툴이 있는데,      zookeeper 대비 개선점은 확인되지 않는다.)      1) Kafka 기본구조.. 2025. 1. 27.
8. Redis 연동 (장바구니 리펙토링) 1. Redis 란?    : Key value 기반의 data 저장소(nosql) 이자, pub sub 이 지원 되는 Message Queue 2. 주요 특징     - Key, Value 구조에 TTL 세팅 가능     - 인메모리 기반 데이터저장소(속도가 빠름)     - String, Lists, Sets, Sorted Sets, Hashes 등의 다양한 자료 구조 지원 3. 속도비교       : 1ns(nano seconds) 는? 10의 -9승 = 0.000000001 초          (redis는 100ns!!)         1µs(microsecond) = 0.000001초.         RDB(Postgresql기준)는 1ms(millisecond) = 0.001 초 4. red.. 2025. 1. 27.
7. Docker (Nest js 로 개발한 서버를 docker로 띄워보자) 1. Docker 란?    : VM(Viture Machine)의 경량화 버전으로, 응용프로그램실행에 꼭 필요한 경량화된 OS 및 서버를 설치하여 컨테이너 기반으로       실행, 관리하는 오픈 소스(하나의 격리된 작은 PC 개념)    (추가설명 링크: https://www.ibm.com/kr-ko/topics/docker )  2. Docker 설치     1) 다운로드 : https://www.docker.com/ Docker: Accelerated Container Application DevelopmentDocker is a platform designed to help developers build, share, and run container applications. We handle t.. 2025. 1. 27.
728x90