일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Nest.js 로그인
- docker mysql설치하기
- 패키지구조
- jdk설치
- local database
- ssh 포트 변경
- gcp ssh 포트 변경
- Nest.js login
- nest passport
- gcp ssh vm
- db로컬설치
- docker
- vm ssh port
- ssh 연결 방법
- How to Join Tables Without Relations in TypeORM
- JWT
- 맥북개발환경
- vm ssh 포트 변경
- jwt장점
- 스프링부트패키지구조
- JWT쓰는이유
- Nest.js
- macos개발환경
- nest authentication
- nest jwt
- InnerJoinMapOne
- nest login
- 도커로db설치
- vm ssh 포트
- ssh연결
- Today
- Total
목록전체 글 (14)
Seize the day

Spring Boot로 백엔드 개발을 시작하면서 가장 먼저 찾아보게 된 패키지 구조.과거에는 Spring Boot 기본 구조도 그렇고, 엔터프라이즈 개발에서는 레이어드 아키텍처(Controller → Service → Repository)를 많이 사용한다. 특히, 전통적인 기업 시스템(ERP, CRM 등)에서는 여전히 Layered Architecture를 쓰고 있다. 최근에는 모듈화(컴포넌트화), 도메인 중심 설계(DDD)를 추구하는 경우가 늘어나며 복잡한 서비스는 계층(layer)보다 도메인(domain)이나 모듈(module)을 중심으로 나누는 게 관리가 훨씬 편리하다. 특히, 마이크로서비스 아키텍처(MSA)를 고려하면 더더욱 그렇다. Spring Boot 패키지 구조는 크게 계층형 구조와 도메인형..
백엔드 개발을 하다 보면 꼭 만나게 되는 데이터베이스, PostgreSQLMacOS에서 Docker를 활용해 Local에 PostgreSQL을 설치하고, DBeaver로 연결을 했다.🐳 Docker로 PostgreSQL 설치하기1. docker-compose.yml사용하고 있는 프로젝트 루트 폴더에 docker-compose.yml 파일을 생성한다. postgres: image: postgres:15 container_name: local-postgres restart: always environment: POSTGRES_USER: myuser POSTGRES_PASSWORD: mypassword POSTGRES_DB: mydb ports: ..

1. Homebrew란?macOS의 패키지 관리자. 터미널을 통해 다양한 프로그램을 손쉽게 설치할 수 있음. 설치가 안 되어 있다면 아래 명령어로 설치한다./bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ✅ 설치 확인brew --version설치 후 zsh: command not found:와 같은 에러가 발생한다면 환경변수 설정이 필요하다.Homebrew는 /opt/homebrew/bin아래에 설치됐는데, 이 경로가 현재 셸의 PATH 환경변수에 등록되어 있지 않기 때문에 발생한다.설치 후 터미널을 자세히 보면 안내되어 있다.Next streps에 적힌 대로 진행한다.echo 'e..
NestJS와 TypeORM을 사용하는 개발 과정에서, 서로 관계가 정의되지 않은 테이블 간에 조인이 필요한 상황이 발생했다. TypeORM은 주로 연관 관계를 통해 데이터를 처리하며, 필요한 경우 raw SQL 쿼리를 통해 직접 조회할 수도 있다. 그러나, QueryBuilder를 활용하면 더 유연하게 조인 작업을 수행할 수 있다.TypeORM의 QueryBuilder를 사용하여 조인을 수행할 때 사용할 수 있는 메소드에는 innerJoin, innerJoinAndSelect, 그리고 innerJoinAndMapOne이 있다.innerJoin조인을 수행 하지만, 조인된 결과를 작동으로 매핑하지 않는다. 별도로 select 함수를 써줘야 한다.innerJoinAndSelectJoin을 수행하고 Entit..

JSON Web Token(JWT)은 JSON 객체로 정보를 안전하게 전송하는 방법의 일종으로 공개된 표준(RFC 7519)이다. 말 그대로 필요한 정보들을 token에 담아 암호화 시켜 사용하는 것입니다. JWT는 서명된 토큰(signed token)이라고 강조되고 있다. 공개/개인 키를 쌍으로 사용하여 서명할 경우 이 서명은 비공개 키를 보유하고 있는 당사자만이 그 토큰을 서명했다는 것을 보장한다. 즉, 키를 보유한 서버가 이 토큰이 정상적인지 알 수 있다. JWT 구조 JWT는 헤더(Header), 페이로드(Payload), 서명(Signature)으로 구성 되어 있다. 각 부분은 Base64로 인코딩 되고, 점(.)으로 구분자로 사용된다. xxxxx.yyyyy.zzzzz Header { "alg"..

캐싱은 임시 데이터 저장소 역할을 한다. 먼저 필수 패키지를 설치한다. $ npm install cache-manager $ npm install -D @types/cache-manager Nest는 cache-storage를 제공하는데 기본적으로는 in-memory이다. redis를 사용하기 위해 node-cache-manager-redis-store를 설치한다. npm install cache-manager-redis-store --save ConfigModule를 통해 환경변수를 불러온다. import * as redisStore from 'cache-manager-redis-store'; import { ConfigModule, ConfigService } from "@nestjs/config";..

[Nest.js] Login Authentication 구현 ( passport + jwt + local strategy ) 사용자인증은 대부분의 애플리케이션에서 필수적인 부분이다. 인증을 처리하는 방법은 다양하지만 Nest.js 공식홈페이지에서 passport를 안내하고 있어 필자는 passport와 jwt를 선택했다. jwt 전략을 nofunfromdev.tistory.com Nest.js로 Login 구현하기 (2) 이전글에서는 데이터베이스에서 사용자를 검색하여 로그인부분까지 구현하였다. 이번글에서는 로그인 성공하고 사용자 정보가 아닌 jwt를 반환하고 API 호출 시 유효한 토큰인지 검증하려고 한다. 패키지 설치 및 모듈 생성 $ npm install --save @nestjs/jwt passpo..

사용자인증은 대부분의 애플리케이션에서 필수적인 부분이다. 인증을 처리하는 방법은 다양하지만 Nest.js 공식홈페이지에서 passport를 안내하고 있어 필자는 passport와 jwt를 선택했다. jwt 전략을 사용 하기 전 passport-local을 먼저 구현하였다. Nest.js로 Login 구현하기 (1) 패키지 설치 및 모듈 생성 $ npm install --save @nestjs/passport passport passport-local $ npm install --save-dev @types/passport-local 패키지를 설치 후 모듈과 서비스를 생성한다. $ nest g module auth $ nest g service auth --no-spec $ nest g module use..