목록2024/11 (4)
상똥이의 Back-End 공부방
1. class 란?- 클래스: 커스텀 자료형을 만들 수 있게 해주는 도구(* new String(), new Array() 처럼 선언하지만, 프로그래밍 언어에 내장되지 않은 자료형을 내가 직접 만들 수 있게 해줌)- 인스턴스: class를 new 키워드로 선언해 메모리에 저장되는 것, 커스텀한 class의 변수와 메서드를 가짐- 변수와 메서드 선언 가능- extends 키워드로 클래스를 상속하는 다른 클래스를 선언할 수 있음 - ES6 표준으로, 컴파일 과정을 거쳐도 유지되어 비슷한 역할을 하는 인터페이스보다 권장됨 2. 구성요소- constructor, 접근 제한자, getter와 setter(1) constructor- 인스턴스별로 가지게 되는 값을 설정해주는 생성자- 인스턴스 생성 시 const..
목표1. JWT를 사용해서 로그인, 로그아웃을 처리한다.2. 로그인 시 토큰을 발급한다.3.필요시 토큰을 새로 발급한다. 목차0. 기본 설정 (스키마, 회원가입 로직)1. 로그인 시 토큰 발급과 저장2. 로그아웃 시 토큰 삭제3. 로그인 유지를 위한 리프레시 토큰 발급[0. 기본 설정]1. 유저 스키마model User { id Int @id @default(autoincrement()) email String @unique password String refreshToken String?} 2. 회원가입 로직//user.service.ts async createUser(dto: User) { try { const check = await this.prisma..
1. 동기 (Synchronous)- 한 작업이 끝난 다음에 다음 작업을 수행- 작업1의 요청이 있을 경우, 작업1의 요청이 접수되고 응답이 발생하기 전까지 다른 작업은 수행하지 않음function readDataSync() { const data = readFileSync('data.txt'); // 파일을 동기적으로 읽음 console.log(data);}console.log('Start');readDataSync();console.log('End');/* 결과Startdata.txt 내용 출력 End */ 2. 비동기 (Asynchronous)- 한 작업이 실행중이더라도 다른 작업을 수행- 시간이 오래 걸리는 작업이 있더라도 다른 작업을 수행하는데에 지장이 없음function readDataAs..
1. Elastic Search란?- 분산형 RESTful 검색 및 분석 엔진, 확장 가능한 데이터 저장소, 벡터 데이터베이스- 오픈소스 검색엔진- 정형 데이터, 비정형 데이터, 위치 정보, 메트릭, 파이프 쿼리 언어 등 다양한 유형의 데이터를 검색하고 결합할 수 있도록 지원 - Rest API를 사용해 CRUD 작업Relational DBElastic SearchSELECTGETUPDATEPUTINSERTPOSTDELETEDELETERelational DBElastic Searchselect * from class where id = 1;curl -XGET localhost:9200/classes/class/1insert into class values (xxx);curl -XPOST localhost..