분류 전체보기(68)
-
[Nest.js] 프로젝트 세팅 _ yaml
1. yaml 파일 생성>> 파일이름 : config.yaml>> 파일 내용 예시 :port: 4000database: host: localhost user: username pass: password 2. yaml 패키지 설치pnpm add yaml 3. config.yaml 읽기 위한 파일 >> 위치 : src>> 파일명 : config.ts// src/config.tsimport * as fs from 'fs';import * as yaml from 'yaml';const configFile = fs.readFileSync(path.resolve(process.argv[2] || 'config.yaml'), 'utf8'); // 경로를 인자로 받을 수 있도록const config = yaml..
2024.10.27 -
[Nest.js] 프로젝트 생성 _ pnpm
1. pnpm 설치npm install -g pnpm 2. Nest.js CLI 설치pnpm add -g @nestjs/cli 3. Nest.js 프로젝트 생성nest new my-project --package-manager pnpmㄴ> 패키지 매니저를 지정해주지 않으면 다운로드 과정에서 npm, yarn, pnpm 중에 고르라는 메시지가 뜨고 선택할 수 있기 때문에 뒷부분은 필수가 아니다 4. 프로젝트 폴더로 이동하고 실행cd my-projectpnpm startㄴ> 프로젝트 실행 명령은 추후 package.json 파일에서 설정하면 따로 지정할 수 있다. ++ package.json 설정 예시{ "scripts": { "dev": "nest start --watch" }}이렇게..
2024.10.27 -
[SpringBoot] Spring Batch (2) - 설명 및 구현 예시
Spring BatchBatch를 처리하기 위해 Java 기반의 다양한 도구가 존재하지만 대부분 Spring Batch를 사용하는 이유는 아래와 같다 1. 대용량 데이터 처리에 적합- Spring Batch는 데이터를 청크 단위로 나눠 처리 하기 때문에 메모리 사용을 최소화한다.- 예외상황 발생시 체크 포인트에서부터 다시 실행할 수 있도록 지원한다. 2. 복잡한 배치 처리 시나리오 지원- 여러개의 Step을 조합하여 순차적 혹은 병렬적으로 실행 할 수 있으며 작업흐름을 제어하는 다양한 기능을 제공한다.- 조건부 흐름을 통해 특정 조건에 따라 다음 스텝이 어떻게 실행될지 정의 가능하다- Retry, Skip, 재시작 등 복구 전략도 쉽게 설정 할 수 있다. 3. 스케줄링 기능과의 연동- Spring Bat..
2024.10.07 -
[SpringBoot] Spring Batch (1) - Batch에 대해
Batch대량의 데이터를 정기적, 일괄적으로 처리하는 방식 특징1. 일괄 처리배치 작업은 실시간으로 처리되지 않고, 일정 시간 간격 또는 특정 조건에 따라 일괄적으로 대량의 작업을 한 번에 수행한다.ex) 하루 동안 쌓인 데이터를 야간에 한 번에 처리하는 것2. 대규모 데이터 또는 작업 처리배치 처리는 보통 대규모 데이터를 처리하거나 반복적인 작업을 수행하는 데 사용된다.ex) 수천 건의 데이터를 데이터베이스에 저장하거나, 대량의 파일을 변환하는 작업 등3. 자동화된 작업배치 작업은 일정 시간마다 자동으로 실행되거나, 특정 이벤트에 의해 트리거되어 자동화된 방식으로 처리ex) 매일 밤 00:00에 배치 작업이 실행되어 데이터를 처리하거나 백업하는 시스템4. 시간 지연 허용배치 처리 작업은 실시간 응답이..
2024.10.07 -
문자열 합치기 방식 비교 (concat VS "+" VS StringBuilder VS StringBuffer)
내가 작성한 로직중 "+"로 문자열을 합친 부분이 있었는데 코드 리뷰를 받던 중 +로 합치지말고 concat으로 합치라는 말을 들었다. 하지만 지적하신분이 "왜?" 라는 질문에 대답을 애매하게 "메모리 관리면에서 그게 좋다고 들었다"라고 하셔서직접 알아봤다. 1. concat()- String 클래스에서 기본 제공- 동작방식 : 합친 문자열을 String으로 재생성 ( -> 문자열을 추가할때마다 새로운 인스턴스가 할당되기에 성능, 속도 모두 좋지 않다.)- 사용시기 : 되도록 지양할 것!2. "+" 연산자- 동작방식 : JDK 1.5 미만 => 문자열 추가시 새 인스턴스에 할당 JDK 1.5 이후 => StringBuilder로 변환해서 처리 ( StringBuilder 객체 생성 ->..
2024.09.05 -
[window] 포트 kill 하는법
로컬에서 프로젝트를 실행하다보면 종종 닫았던 프로젝트가 여전히 백그라운드에서 돌고 있어서 port가 곂치는 문제가 생기기도 한다.이럴 때 여전히 돌고 있는 서버 포트를 꺼줘야하는데 window command는 익숙치 않기 때문에 정리해둔다.. 1. pid 조회netstat -an | find "포트번호" 2. killtaskkill /PID [프로세스ID] /F
2024.09.02