분류 전체보기(329)
-
JWT Token & Session
Session 이란? 유저의 정보를 데이터베이스에 저장하고 상태를 유지하는도구 특징 session은 특수한 id 값으로 구성되어 있고, session 은 서버에서 생성되고 클라이언트에서 쿠키를 통해 저장이 된다. 클라이언트에서 요청을 보낼 때 session id 를 같이 보내면 현재 요청을 보내는 사용자가 누구인지 서버에서 알 수가 있다. 즉 session id 의 정보가 서버에 특정 데이터베이스의 정보와 연결되어 있다는 것이다. 때문에 요청을 할 때마다 매번 아이디와 비밀번호를 물어 볼 필요가 없는 장점을 가지고 있다. (이부분은 JWT 도 마찬가지) 서버에서 데이터가 저장되기 때문에 클라이언트에 사용자 정보가 노출될 위험이 없다. 데이터베이스에 session 을 저장해야 하기 때문에 Horizonta..
2023.12.19 -
Javascript 데이터 타입
데이터 타입의 종류 데이터 타입은 크게 두가지가 존재한다. 기본형과 참조형이다. 기본형에는 숫자, 문자열, 불리언, null, undefined 등 이 있으며 ES6에서는 심볼이 추가되었다. 참조형은 객체가 있고, 배열, 함수, 날짜, 정규표현식 등과 ES6에서 추가된 Map, WeakMap, Set, WeakSet 등이 객체의 하위 분류에 속한다. 어떤 기준으로 기본형과 참조형을 구분할까? 일반적으로 기본형은 할당이나 연산 시 복제되고 참조형은 참조된다고 알려져 있다. 엄밀히 말하면 둘 모두 복제를 하긴한다. 다만 기본형은 값이 담긴 주소값을 바로 복제하는 반면 참조형은 값이 담긴 주솟값들로 이루어진 묶음을 가리키는 주솟값을 복제한다는 점이 다르다. 기본형은 불변성을 띈다. 혼란스러울 수 있는데 기본형..
2023.12.18 -
Type ORM 알아보기 [NestJS]
TypeORM은 TS와 JS에서 사용할 수 있는 객체 관계 매핑(ORM) 라이브러리 중 하나이다. ORM은 데이터베이스와의 상호작용을 추상화하여 개발자가 객체 지향 프로그래밍 스타일을 사용하여 데이터베이스와 상호 작용할 수 있게 해준다. Column Annotation PrimaryGeneratedColumn 해당 필드를 기본 키로 사용하며, 자동으로 생성되는 숫자 형태의 값이다. 주로 순차적인 정수 값을 기본키로 사용할 때 활용된다. // @PrimaryGeneratedColumn() 은 자동으로 id 를 생성한다. // 1, 2, 3, 4, 5 -> 순서대로 id 값이 올라간다. // @PrimaryGeneratedColumn('uuid') // asd1rf123f-213dsaf3-123asdbe-o..
2023.12.15 -
TypeORM 함수 with NestJS
@Injectable() export class PostsService { constructor( @InjectRepository(PostsModel) private readonly postsRepository: Repository, ) {} //... } find 다수의 데이터 가져오기 async getAllPosts() { return this.postsRepository.find(); } findOne 하나의 데이터 찾기 async getPostById(id: number) { const post = await this.postsRepository.findOne({ where: { id, }, }); if (!post) { throw new NotFoundException(); } return po..
2023.12.14 -
NestJS TypeORM 테이블 생성 with PostgreSQL
선행작업 https://muyeon95.tistory.com/311 TypeORM을 사용해 클래스기반 자동 테이블 생성을 진행해본다. 이는 TypeORM 의 기능이다. // src/posts/entities/posts.entity.ts import { Column, Entity } from 'typeorm'; @Entity() export class PostsModel { @Column() id: number; @Column() author: string; @Column() title: string; @Column() content: string; @Column() likeCount: number; @Column() commentCount: number; } 엔티티 추가 TypeOrmModule.forR..
2023.12.14 -
NestJS TypeORM 설정 및 연결 with PostgreSQL
설치 npm install @nestjs/typeorm typeorm pg typeORM 세팅 app.module.ts 에 세팅한다. import { Module } from '@nestjs/common'; import { AppController } from './app.controller'; import { AppService } from './app.service'; import { PostsModule } from './posts/posts.module'; import { TypeOrmModule } from '@nestjs/typeorm'; @Module({ imports: [ PostsModule, TypeOrmModule.forRoot({ type: 'postgres', // 데이터베이스 타..
2023.12.14