목록 Development/Backend (12)
글쓰는 개발자

https://github.com/gran007/mock-server GitHub - gran007/mock-serverContribute to gran007/mock-server development by creating an account on GitHub.github.com 실무에서 작업을 하다보면 외부 서버를 호출해야 하는 일이 종종 생깁니다. 사용자별로 받아오는 데이터의 타입과 종류가 다르기 때문에 외부 서버를 연동해 테스트 해야 하는 경우 원하는 모든 데이터별로 화면과 API의 구현을 테스트 해보기 어려운 경우가 있습니다. 또한 앱 테스트 중 테스트 서버에 연결되어 특정 시나리오의 화면을 보고 싶을 경우도 있습니다. 이 모든 경우에 정의된 request에 대해 저장된 response를 전달하는..
[NestJS] 구글 소셜 로그인 OAuth2로 JWT 발급구글 로그인 OAuth 인증 등록1. 프로젝트 생성구글 클라우드 콘솔(https://console.cloud.google.com)에 접속합니다.현재 프로젝트 버튼을 클릭해서 새프로젝트를 생성합니다.2. Google 인증 플랫폼 구성탐색gran007.tistory.com Jwt 토큰을 얻었으면 이제 JWT를 통한 검증과 내부에 userId를 얻을수가 있습니다.jwt 검증과 이를 통해 user 정보를 얻어 각 컨트롤러에 제공하기 위해 JwtStrategy를 생성합니다.passport-jwt 패키지를 설치합니다.npm i passport-jwt JwtStrategyimport { Injectable } from "@nestjs/common";impor..

구글 로그인 OAuth 인증 등록1. 프로젝트 생성구글 클라우드 콘솔(https://console.cloud.google.com)에 접속합니다.현재 프로젝트 버튼을 클릭해서 새프로젝트를 생성합니다.2. Google 인증 플랫폼 구성탐색메뉴 - API 및 서비스를 클릭gran007.tistory.com위 단계를 따라 구글 OAuth 인증등록을 완료했다면 이제 NestJS에서 구글 로그인을 구현해봅시다.패키지 설치npm i passport-google-oauth20 @nestjs/passport passport passport-local @nestjs/config @nestjs/jwtnpm i -D @types/passport-google-oauth20 @types/passport-local .env 파일을..

1. 프로젝트 생성구글 클라우드 콘솔(https://console.cloud.google.com)에 접속합니다.현재 프로젝트 버튼을 클릭해서 새프로젝트를 생성합니다.2. Google 인증 플랫폼 구성탐색메뉴 - API 및 서비스를 클릭하여 API 및 서비스 화면으로 이동합니다.여기서 OAuth 동의 화면 버튼을 클릭하여 Google 인증 플랫폼 / 개요 화면으로 이동합니다.시작하기 버튼을 클릭하여 Google 인증 플랫폼을 구성합니다.연락처 정보와 완료 밑에 정책 동의 체크박스를 클릭하고 만들기 버튼을 누르면 인증플랫폼 구성이 완료됩니다.그 뒤에 화면에 OAuth 클라이언트를 생성할 수 있는 버튼이 보입니다. OAuth 클라이언트 만들기 버튼을 클릭합니다. 3. OAuth 클라이언트 생성어플리케이션 유형..

[kotlin / spring] HTTP 사용방법Postman은 좋은 API 호출 도구이지만 인텔리J를 사용한다면 HTTP 형태의 파일로 간편하고 유용한 API 호출을 수행할 수 있다. [kotlin / Spring] CRUD Rest API 구현 / JPA 테이블 연동JPA를 사용하기 위해서는 DBgran007.tistory.com API를 호출할때 HTTP 파일을 사용하면 API를 호출하는 것보다 편하게 이용할 수 있습니다. http 파일 형식은 기본적으로 vscode에서 사용할수 없지만 플러그인의 설치로 HTTP를 호출할 수 있습니다.1. Extension 설치vscode의 extension 탭으로 가서 rest client를 설치하면 http 파일에서 API 호출을 사용할 수 있습니다. .http..
관계설정 프로젝트 테이블이 존재하고, 하나의 프로젝트가 여러개의 보드를 가질수 있다고 할때 프로젝트와 보드는 각각 1 : N의 관계를 가진다. TypeORM에서는 Entity들 간에 이러한 관계설정이 가능하다. project 테이블columntypeidnumbernamestring board 테이블columntypeidnumbernamestringprojectIdnumber 그럼 각각의 Entity에 관계설정을 해주자. Project는 여러개의 Board를 가질수 있기 때문에 OneToMany관계를 설정해준다.@Entity('project')export class ProjectEntity { @PrimaryGeneratedColumn() id: number; @Column({nullab..

TypeOrm 설치 1. type orm dependency를 설치한다.npm install typeorm @nestjs/typeorm mysql2 2. typeorm.config.ts 파일을 만들고 DB 접속정보를 입력한다.import { TypeOrmModuleOptions } from "@nestjs/typeorm"export const typeORMConfig: TypeOrmModuleOptions = { type: "mysql", host: "localhost", port: 3306, username: "username", password: "password", database: "dbName", entities: [__dirname + '/**/*.entity{.tx,.js}'],..
테이블 생성 명령테이블 생성을 위한 스크립트 명령을 DDL(Data Definition Languag)이라고 부른다.테이블 생성 명령은 create table [테이블명] 으로 시작하고 괄호 사이에 테이블을 구성할 컬럼을 적는다.다음은 사용자 테이블 생성을 위한 테이블 생성 구분이다.create table users( id bigint auto_increment primary key comment '아이디', provider_id varchar(255) not null comment '프로바이더 아이디', email varchar(255) not null commen..