플래티어 연구소 테크 블로그
    • 메뉴 닫기
    • 글작성
    • 방명록
    • 환경설정
      • 분류 전체보기 (485)
        • Ai Word 사전 (0)
        • A.I.(인공지능) & M.L.(머신러닝) (7)
          • Development Environments (9)
          • A.I. Information (14)
          • Python (6)
          • transformers (13)
          • 머신러닝 (1)
          • 딥러닝 (4)
          • 신경망 이론 (5)
          • LLM (33)
          • Agent (4)
        • DevOps와 Infra (68)
          • DevOps 일반 (25)
          • Docker Container (3)
          • Linux (2)
          • AWS EKS (16)
          • AWS (6)
          • Kubernetes On Premise (14)
          • Security (1)
          • IDC 서버 (1)
        • 검색엔진 (10)
          • Elasticsearch (5)
          • Opensearch (5)
        • 빅데이터 (31)
          • Mongo DB (4)
          • Apache Nifi (21)
          • Scala (4)
          • Apache Spark (2)
        • 네트워크 (2)
          • SSL (2)
        • Quality Assurance (3)
          • E2E Test (3)
        • Backend(Framework) (43)
          • Java (2)
          • Spring (1)
          • Spring Boot Batch (3)
          • NestJS (9)
          • NestJS 개요(공식문서 번역) (20)
          • Cache (3)
          • Rust (5)
          • Go (0)
        • Frontend (Next.js Tailwind .. (52)
          • Frameworks (6)
          • Next.js (30)
          • Typescript (1)
          • Tailwind CSS (9)
          • React.js (4)
        • Next.js 개발 가이드 (42)
          • 01. Set up (7)
          • 02. 코딩 가이드 및 필수 패키지 (9)
          • 03. 퍼블 가이드 (3)
          • 04. Data fetching (2)
          • 05. State management (3)
          • 06. Learn Next.js 공식 가이드 (18)
        • Nuxt 공식문서 번역 (96)
          • 개요 (15)
          • Directories (23)
          • Components (12)
          • Composables (21)
          • Utils (25)
        • Nuxt 개발 가이드 (13)
          • 01. Set up (9)
          • 02. 코딩 가이드 및 필수 패키지 (0)
          • 03. 퍼블 가이드 (0)
          • 04. Data fetching (3)
          • 05. State management (1)
        • Tech 공유 세미나 - 2차 (13)
        • 기타 (15)
          • IT기타 (7)
          • story (5)
          • 문정역 여기어때 (2)
    Backend(Framework)/NestJS 개요(공식문서 번역)

    14. Injection scopes

    다양한 프로그래밍 언어 배경을 가진 사람들의 경우 Nest에서 들어오는 요청 전반에 걸쳐 거의 모든 것이 공유된다는 사실이 예상치 못한 일일 수도 있다. 이러한 경우로 데이터베이스에 대한 연결 풀, 전역 상태를 갖는 싱글톤 서비스 등이 있다. Node.js는 모든 요청이 별도의 스레드에 의해 처리되는 요청/응답 다중 스레드 상태 비저장 모델을 따르지 않는다는 점을 기억하자. 따라서 싱글톤 인스턴스를 사용하는 것은 우리 애플리케이션에 완전히 안전하다 할 수 있다. 그러나 GraphQL 애플리케이션의 요청별 캐싱, 요청 추적 및 멀티 테넌시와 같이 요청 기반 수명이 원하는 동작이 될 수 있는 극단적인 경우가 있다. 주입 범위는 공급자의 라이프사이클을 관리하기 위한 메커니즘을 제공한다. 공급자 범위 공급자는 ..

    2023. 12. 2. 07:22 / Tech정개블
    Backend(Framework)/NestJS 개요(공식문서 번역)

    13. Dynamic modules

    Module에 관한 장은 Nest 모듈의 기본 사항을 다루고 동적 모듈 에 대한 간략한 소개를 포함하고 있다. 이 장에서는 동적 모듈 주제를 심화 학습한다. 완료되면 해당 기능이 무엇인지, 언제 어떻게 사용해야 하는지 이해할 수 있을 것이다. 소개 1~10 장 섹션 에 있는 대부분의 애플리케이션 코드 예제는 일반 또는 정적 모듈을 사용하고 있다. 모듈은 전체 애플리케이션의 모듈화된 부분으로 함께 어울리는 공급자 및 컨트롤러 와 같은 구성 요소 그룹을 정의한다. 또한, 이러한 구성 요소에 대한 실행 컨텍스트 또는 범위를 제공한다. 예를 들어, 모듈에 정의된 공급자는 익스포트 할필요 없이 모듈의 다른 구성원에게서 사용 될 수 있다. 공급자가 모듈 외부에 사요되어야 하는 경우 먼저 호스트 모듈에서 내보낸 다음..

    2023. 12. 2. 05:31 / Tech정개블
    Backend(Framework)/NestJS

    NestJS Yaml 파일 설정 관리

    그동안 Express Node 서버 프로젝트에서는 설정값들을 env파일을 통하여 관리 하였습니다. 테크팀은 NestJS 프로젝트에서는 통일성을 위하여 스프링 프로젝트들과 동일하게 yaml파일을 통하여 설정값들을 관리하고 싶었고, 다행히도 NestJS 프레임워크에서는 프레임워크에서 기본적으로 지원 및 자세한 내용을 공식문서에서 설명해주고 있었습니다. "dependencies": { "@nestjs/config": "^3.1.1", "js-yaml": "^4.1.0", }, "devDependencies": { "@types/js-yaml": "^4.0.9", }, package.json에 다음을 추가하고 패키지를 설치하자. 그리고 다음과 같이 resources 폴더에 개발 및 운영용 yaml 설정 파일을 ..

    2023. 12. 2. 02:51 / Tech강인플루언서
    Backend(Framework)/NestJS

    NestJS 스웨거(Swagger) 설정

    스웨거란, API를 자동으로 문서화 해주는 기능입니다. 해당 문서를 통하여 사용자는 API 인터페이스 규격과 설명을 확인할 수 있고, 입력값을 직접 설정하여 API를 호출하여 테스트도 가능하다는 장점이 있습니다. 테크팀은 스프링 프로젝트들에 대하여 스웨거를 설정하여 API 문서를 회사 내부 개발자 및 외부 협력업체 개발자 분들에게 제공하고 있기 때문에 문서 통일화를 위하여 NestJS 프로젝트 또한 스웨거 설정이 필요하였습니다. "dependencies": { "@nestjs/swagger": "^7.1.16", }, package.json에 다음을 추가하고 패키지를 설치하자. const swaggerUiPath = contextPath + configService.get('springdoc.swagg..

    2023. 12. 2. 02:08 / Tech강인플루언서
    Backend(Framework)/NestJS

    NestJS 로깅(logging) 처리

    로깅(logging)은 어플리케이션에서 발생하는 모든 오류 및 정보등 각종 이벤트를 남기는 것으로, 문제 발생 시 원인을 파악하는데 매우 중요한 역할을 합니다. 현재 테크팀은 스프링 프레임워크의 경우 logback을 이용하여 로깅 처리를 하고 있으며, 일명 ELK(Elasticsearch, Logstash, Kibana)를 구성하여 로깅 정보를 집계하고 확인하고 있습니다. NestJS 프레임워크 역시 이러한 로깅 처리는 매우 중요한 기능이였고, 고민하지 않고 Node.js에서 사용하던 winston log 모듈을 사용하기로 결정 하였습니다. Node.js에서 log를 효율적으로 관리할 수 있게 도와주는 모듈인 winston log 모듈은 실제 서버를 운영할 때 console.log와 console.er..

    2023. 12. 2. 01:27 / Tech강인플루언서
    Backend(Framework)/NestJS

    NestJS 요청 생명 주기(NestJS Request LifeCycle)

    기본적으로 스프링에서는 다음과 같은 요청의 흐름이 있습니다. (스프링 시큐리티 필터의 경우 DelegatingFilterProxy 라는 필터를 만들어 메인 Filter Chain에 추가하여 동작하는데 DelegatingFilterProxy는 서블릿 컨테이너 영역의 필터와 ApplicationContext에 Bean으로 등록된 필터를 연결시켜주는 역할을 합니다.) 이 요청 흐름은 스프링을 공부하고 사용하고 계신 분들이라면 모두 알고 있을겁니다. 그리고 저희 테크팀에서도 처음 NestJS를 사용하면서 가장 먼저 관심을 가지게 된것은 이러한 요청 생명 주기 였습니다. 기본적으로 NestJS의 요청 흐름은 다음과 같이 이루어 집니다. Middleware : 가장 먼저 전역으로 설정된 미들웨어 부터 실행되며, 이..

    2023. 11. 30. 19:27 / Tech강인플루언서
    • «
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • »

    전체 방문자

    오늘
    어제
    전체

    테크팀 개인 블로그

    정지민
    jeong
    손성준
    son
    김해수
    sunwater
    이다운
    koala
    김백엔드
    backendkim
    채희철
    bburongE

    전체 카테고리

    • 분류 전체보기 (485)
      • Ai Word 사전 (0)
      • A.I.(인공지능) & M.L.(머신러닝) (7)
        • Development Environments (9)
        • A.I. Information (14)
        • Python (6)
        • transformers (13)
        • 머신러닝 (1)
        • 딥러닝 (4)
        • 신경망 이론 (5)
        • LLM (33)
        • Agent (4)
      • DevOps와 Infra (68)
        • DevOps 일반 (25)
        • Docker Container (3)
        • Linux (2)
        • AWS EKS (16)
        • AWS (6)
        • Kubernetes On Premise (14)
        • Security (1)
        • IDC 서버 (1)
      • 검색엔진 (10)
        • Elasticsearch (5)
        • Opensearch (5)
      • 빅데이터 (31)
        • Mongo DB (4)
        • Apache Nifi (21)
        • Scala (4)
        • Apache Spark (2)
      • 네트워크 (2)
        • SSL (2)
      • Quality Assurance (3)
        • E2E Test (3)
      • Backend(Framework) (43)
        • Java (2)
        • Spring (1)
        • Spring Boot Batch (3)
        • NestJS (9)
        • NestJS 개요(공식문서 번역) (20)
        • Cache (3)
        • Rust (5)
        • Go (0)
      • Frontend (Next.js Tailwind .. (52)
        • Frameworks (6)
        • Next.js (30)
        • Typescript (1)
        • Tailwind CSS (9)
        • React.js (4)
      • Next.js 개발 가이드 (42)
        • 01. Set up (7)
        • 02. 코딩 가이드 및 필수 패키지 (9)
        • 03. 퍼블 가이드 (3)
        • 04. Data fetching (2)
        • 05. State management (3)
        • 06. Learn Next.js 공식 가이드 (18)
      • Nuxt 공식문서 번역 (96)
        • 개요 (15)
        • Directories (23)
        • Components (12)
        • Composables (21)
        • Utils (25)
      • Nuxt 개발 가이드 (13)
        • 01. Set up (9)
        • 02. 코딩 가이드 및 필수 패키지 (0)
        • 03. 퍼블 가이드 (0)
        • 04. Data fetching (3)
        • 05. State management (1)
      • Tech 공유 세미나 - 2차 (13)
      • 기타 (15)
        • IT기타 (7)
        • story (5)
        • 문정역 여기어때 (2)

    블로그 인기글

    태그

    • #AWS EKS
    • #pyTorch
    • #GPU
    • #검색엔진
    • #ElasticSearch
    • #python
    • #Lora
    • #nextjs
    • #이벤트리스너
    • #셀레니움
    • #파이썬
    • #fine-tuning
    • #venv
    • #apach
    • #아파치
    • #finetuning
    • #React
    • #HuggingFace
    • #나이파이
    • #딥러닝
    • #Spring Boot Batch
    • #deepseek
    • #Ai
    • #LLM
    • #문제해결
    • #langgraph
    • #nifi
    • #adapter_model.bin
    • #Langchain
    • #플래티어
    MORE
    Powered by Privatenote Copyright © 플래티어 연구소 테크 블로그 All rights reserved. TistoryWhaleSkin3.4

    티스토리툴바