분류 전체보기(115)
-
[Git error ] nestJS project 깃에 commit 안될때 error: '~' does not have a commit checked out
error: '~' does not have a commit checked out올리고자 하는파일이 계속 커밋이 안된다고 나온다.git ignore 에도 딱히 막아놓은 게 없는 상황 gpt 가 submodule 로 ./grk 를 설정하라고 해서 했더니 해결 되었다.vi grk/.gitignore cd grkgit add . git commit -m "1"cd .. git submodule add ./grkgit add . git commit -m "2"git push origin main
2025.01.27 -
#[node] 패스포트와 세션을 사용한 인증 구현
10.6 패스포트와 세션을 사용한 인증 구현2025.1.27서버에서 인증을 하고 해당 정보를 서버의 특정공간에 저장.(세션 이용)쿠키는 세션을 찾는 정보만 저장(세션의 아이디값) 중요 정보는 세션에 모두 넣음. 세션은 서버의 자원을 사용하여 서버에 부하를 주지만 위조,변조,탈취가 불가능하여 보안적임. 가드하나로 로그인과 인증 모두 사용했지만 가드 두개와 인증 처리를 하기위한 파일을 여러개 만들것. 로그인에 사용할 가드. 인증 로직 구현 부분은 패스포트 라는 인증 로직을 쉽게 분리해서 개발하는 라이브러리 사용 패스포트 사용시 인증 로직은 스트래티지 파일을 생성해서 사용. 패스포트는 인증 로직 수행을 담당하는 클래스를 의미함. 다양한 인증을 위한 스트래티지 패키지를 같이 설치해 인증을 쉽게 구현가능. 가드 ..
2025.01.27 -
# [NestJS] 사용자 인증 모듈 생성 및 회원 가입하기 [2단계]
[NestJS] 사용자 인증 모듈 생성 및 회원 가입하기 [2단계]🌞 2025.1.23 인증 : 사용자의 자격을 확인사용자의 자격증명을 기존 정보를 기반으로 확인 후 인증 토큰을 발급함. 사용자에게 부여된 인증 토큰은 특정 기간 동안만 유효 쿠키기반, 토큰기반(쿠키리스) 인증법이 있음. 서버에서 보내준 쿠키를 클라이언트(주로브라우저) 에 저장해 관리함. 토큰은 서버에 상태를 저장할 필요가 없음. 쿠키와 토큰은 서로 장단점이 있음. 토큰은 OAuth 를 사용한 소셜 로긴에서 사용할 예정, 먼저 쿠키 인증을 구현 10.4.1 인증 모듈 만들기 및 설정(1) 인증 모듈 생성📌 auth module > service > controller 순 생성 nest g module auth --no-specnest..
2025.01.27 -
#[node] 환경변수 2탄
2025.01.22 9.8 YAML 파일을 사용해 환경 변수 설정9.8.1 js-yaml 설치npm i js-yamlnpm i -D @types/js-yaml# yamlhttp: port: 3000redis: host: 'localhost' port: 63799.8.3 config.ts 수정(1) yaml 파일 커스텀 설정 파일로 취급. conifg.ts 에 설정 추가import { readFileSync } from "fs";import * as yaml from 'js-yaml'// YAML file loadingconst yamlConfig: Record = yaml.load( readFileSync(`${process.cwd()}/src/envs/config.yaml`, 'utf-8..
2025.01.23 -
#[node] 회원 가입 로그인
chapter 10 부터 grk platform 으로 개발을 하도록 하자.향후 ch 9, 8 을 review 하면서 다시 grk 만들것. AuthModule, AuthController, AuthService 클래스로 구성 UserService 에는 회원정보 추가,수정,삭제 등의 method 있음. 10.1.2 User module 생성nest new grkcd grk nest g module usernest g controller user --no-spec nest g service user --no-specnpm install sqlite3 typeorm @nestjs/typeorm# nest g module projectnest g controller project --no-spec nest g ..
2025.01.23 -
# [node] NodeJS 환경변수 .env 다루기 1탄
9.1 환경 변수 소개다양한 환경의 외부 애플리케이션과 연동 할수 있음. 최소한의 경우 데이터베이스 설정 필수 배포를 어떤 환경에 하느냐에 따라 테스트용, 프로덕션용을 나누어야함. QA 환경도 필요함. 이외에 소스 코드에 들어가면 안된느 민감한 값 등 최소한 환경변수로 설정하거나 vault 같은 소스코드 이외의 외부 저장소에 두어야함. 예를들어 몽고디비 패스워드같은것. 코드로 제어하지 말고 별도의 파일로 두어서 외부 서버에 설정해서 읽어올수있도록 해야함. 그렇지 않으면 설정이 복잡해질수록 환경 변수를 제어하는 코드가 복잡해짐NestJS 환경변수 설정은 ConfigModule 에서 할수있고 설정된 환경변수를 다른 모듈에서 가져다쓰려면 ConfigService 를 주입 받아 사용해야함. 9.2 프로젝트 생성..
2025.01.22