본문 바로가기
728x90

Node js/Nest js9

[Back-end] Node js or NestJS 기반으로 사용중인 "국내" 회사 리스트 [회사 현황 - 계속 update 예정] 1. 리디https://ridibooks.com/webtoon/recommendation 2. 토스https://toss.im/ 3. 당근https://www.daangn.com/kr/ 4. 클라썸https://www.classum.com/ko/ 5. 설로인https://www.sirloin.co.kr/ 6. 뤼튼https://wrtn.ai/ 7. 모두싸인https://modusign.co.kr/ 8. 아임웹https://imweb.me/ 2025. 3. 28.
nest 에서 metrics data 수집하기 (서버 모니터링 용) 이를 위해 npm 부터 설치하자yarn add prom-client 아래와 같이 서비스 레이어 부터 작성해 준다.(prom-client 에서 얻은 정보를 컨트롤러로 공유하기 위한 목적이다.)import { Injectable } from '@nestjs/common';import * as promClient from 'prom-client';@Injectable()export class BaseService { private readonly collectDefaultMetrics: () => void; private readonly httpRequestsTotal: promClient.Counter; private readonly httpRequestDurationSeconds: promClient.. 2025. 2. 4.
nest 래디스 캐시 redis cache 적용하기 https://docs.nestjs.com/techniques/caching Documentation | NestJS - A progressive Node.js frameworkNest is a framework for building efficient, scalable Node.js server-side applications. It uses progressive JavaScript, is built with TypeScript and combines elements of OOP (Object Oriented Programming), FP (Functional Programming), and FRP (Functional Readocs.nestjs.comNest 공식사이트 참고하면 자세한 설명이 나와있다.. 2025. 2. 4.
PrismaClientInitializationError: Unable to require(`/app/node_modules/.prisma/client/libquery_engine-linux-musl.so.node`). 오류 해결방법 위와 같은 오류를 보았다면!https://hub.docker.com/layers/library/node/18-alpine3.20/images/sha256-7000d2e73f938c4f62fdda6d398d7dffd50e6c129409ae2b1a36ccebf9289ffe?context=repo https://hub.docker.com/layers/library/node/18-alpine3.20/images/sha256-7000d2e73f938c4f62fdda6d398d7dffd50e6c129409ae2b1a36ccebf9289ffe?context=repo hub.docker.com dockerfile 수정하면 된다!!node:18-alpine 부분을!! node 버전 20으로!!  [예시]FROM --pl.. 2024. 12. 15.
nest js docker 배포 하기 (nestjs) FROM node:18RUN mkdir -p /var/app WORKDIR /var/app COPY . . RUN npm iRUN npm run build EXPOSE 3000 CMD [ "node", "dist/main.js" ] node version 의 경우 원하는것으로 바꿔주면 되고,좀 더 빠르게 빌드하고 싶으면  아래와 같이 alpine 버전으로 변경해주면 된다.FROM node:18-alpine 2024. 11. 24.
Nest js Test Container 구성!! feat. Mysql 최근 대세(?)로 부각한, 테스트 주도 개발을 하기위해서는,,테스트 코드 작성이 필수 이다. (단위테스트, 통합테스트, e2e 테스트 등) 다만, 여기서 테스트 수행 시 DB가 항상 접속이 되어있어야 할까?는 다소 의문스러운 영역이긴하다왜? 독립적인 구성에서의 테스트가 이루어 져야하기 때문이다.예를 들면, Kafka 를 도입해서 사용중인데, Kafka 가 항상 있어야만 테스트를 돌릴수 있는가?라는 상황이면, github action 내에서 push 시점에서 테스트코드를 돌리기가 힘들것이다.(물론, 배포 후 cypress 등을 이용한 e2e테스트는 다를 수 있다.) 결론적으로는 B/E 단에서 독립적인 테스트 환경이 보장되냐 안되냐가 중요한 것이다.(서론이 다소 길었다.) 자, 그럼 독립적인 환경보장을 하기.. 2024. 11. 23.
TypeORM vs Prisma nest 를 사용하게되면서, TypeORM이라는 ORM 을 처음접했었다.사용을 하면서 실망을 상당히 많이한 npm 중 하나로 기억된다. 이번 글은 typeORM 과 이를 대처가능한 Prisma에 대한 비교글로 시작하려 한다.우선 구글링만 살짝해보아도 그동안 얼마나 많은 사람들이 두개의 ORM 을 비교하여선택했는지를 알 수 있다.심지어 Prisma 공식 사이트에서도 두개의 npm 을 비교한 글이 있는데 (https://www.prisma.io/docs/orm/more/comparisons/prisma-and-typeorm)내용을 요약해보면, typeORM은 전통적인 ORM 이고 Prisma는 여러측면에서 기존의 문제점을개선했으니, Prisma를 사용하는 것이 더 좋다이다. 그럼 어떤 측면에서 사용성이 좋아.. 2024. 8. 22.
About "nest js" based on past experience "One of great framework that has been used by many node developers in South Korea since around 2020"I am currently mentoring junior developers to give inforamtion how to utilize nest js into their service. It will be finished soon, but I would like to talk about the good point for now from nest js and the improvement point to be developed from nest js. As one of the feature of nest js microseriv.. 2024. 8. 21.
Nest js , MSA 기본 구조 설계 Nest를 써본지도 언 2년이 넘은듯 한다..net core 포함 .net, Java spring 으로 작업을 하다가 Python(Django), node(express)도여러차례 써볼일이 생겼지만, 스타트업으로 넘어오면서 Backend 쪽은 node 위에 nest js를 사용하게 될 일이 많아졌다. 오늘부터 한동안은 최근 핫한 MSA 구조에 대해 이야기 해보고 Nest 기반으로 어떻게 MSA 를 구축할 것인가를 써보겠다.아래 사이트는 (Source: https://scalablescripts.com) 에서 구조를 가져온 부분인데 기본을 설명하기 가장 적절해 보여 캡쳐하였다.  위의 그림대로 Client는 react 든, angular든, vue든 상관이 없다. API url이 정해지면 서비스에 맞도록 .. 2022. 10. 3.
728x90