분류 전체보기
[Gosrock/Nestjs] Socket.io 사용하여 실시간 공연 입장 시스템 구현하기
학교 컴공 밴드 동아리 고스락 여름방학 프로젝트인 고스락 티켓 예매 페이지 22th 의 일부인 socket 구현에 대한 글입니다 nestjs + socket.io 를 사용하여 구현하였습니다 📝 Reference nestjs + socket.io(EventsGateway) - https://www.youtube.com/watch?v=gkJ1N6PDCEc&t=690s chat app with nestjs - https://www.youtube.com/watch?v=7xpLYk4q0Sg&t=722s docs nest js (gateway) - https://docs.nestjs.com/websockets/gateways 💻 socket.io 모듈 설치 npm i @nestjs/websockets @nestjs..
[Github] 이슈 템플릿, PR 템플릿 등록 (Issue Template, Pull Request Template)
매번 개발 뛰어나게 잘하는 친구의 도움을 받아 체계적이게 깃허브를 사용하는 법을 배우는 중이다 사이드 프로젝트로 내가 조금? 주도적인 프로젝트를 하게 되었는데 이전에는 누가 편하게 쓰라고 만들어놨던 템플릿들을 쓰기만 했다면 이제는 그걸 내가 만들어야 했다 이번 글에서는 프로젝트 협업 과정에서 자주 사용하는 이슈 템플릿과 PR 템플릿을 만드는 과정을 써보았다 💡 이슈 템플릿 생성하기 1. 해당 프로젝트 레포 -> Settings 2. 내리다 보면 Features -> Issue -> Set up templates 3. 템플릿 종류를 하나 선택한다 4. 그러면 템플릿이 하나 만들어지는데 Preview and edit 클릭 5. 연필 아이콘 클릭 6. 내용과 제목, 설명 등을 적어주면 된다 마크다운으로 작성 ..
[NestJs] 따라하면서 배우는 NestJs - 9 (로그, 설정)
✅ Logger 모듈 추가 📝./src/main.ts import { Logger } from '@nestjs/common'; import { NestFactory } from '@nestjs/core'; import { AppModule } from './app.module'; async function bootstrap() { const logger = new Logger(); const port = 3000; const app = await NestFactory.create(AppModule); await app.listen(port); logger.log(`Application running on port ${port}`); } bootstrap(); expressjs 에서는 Winston 모듈을..
[NestJs] 따라하면서 배우는 NestJs - 8 (권한 부여, 유저와 게시글 관계 부여)
✅ Boards 모듈에서 AuthGuard 사용하기 📝./src/boards/boards.module.ts import { Module } from '@nestjs/common'; import { ConfigModule } from '@nestjs/config'; import { TypeOrmModule } from '@nestjs/typeorm'; import { AuthModule } from 'src/auth/auth.module'; import { BoardRepository } from './board.repository'; import { BoardsController } from './boards.controller'; import { BoardsService } from './boards...
[NestJs] 따라하면서 배우는 NestJs - 7 (JWT, passport 이용한 인증 구현)
✅ JWT, passport 모듈 추가 npm i @nestjs/jwt @nestjs/passport passport passport-jwt --save ✔ @nestjs/jwt - nest에서 jwt를 사용하기 위한 모듈 ✔ @nestjs/passport - nest에서 passport를 사용하기 위한 모듈 ✔ passport - passport 모듈 ✔ passport-jwt - passport와 jwt를 연동하기 위한 모듈 📝./src/auth/auth.module.ts import { Module } from '@nestjs/common'; import { JwtModule } from '@nestjs/jwt'; import { PassportModule } from '@nestjs/passpor..
[NestJs] 따라하면서 배우는 NestJs - 6 (auth 모듈 구현)
✅ 인증을 위한 auth 모듈 생성 nest g module auth nest g controller auth --no-spec nest g service auth --no-spec ✅ User Entity & Repository 구현 및 등록 📝 ./src/auth/user.entity.ts import { BaseEntity, Column, Entity, PrimaryGeneratedColumn } from 'typeorm'; @Entity() export class User extends BaseEntity { @PrimaryGeneratedColumn() id: number; @Column() username: string; @Column() password: string; } 📝 ./src/au..
[NestJs] 따라하면서 배우는 NestJs - 5 (레포지토리 구현 및 DB 이용 CRUD)
✅ 레포지토리 의존성 주입 📝 ./src/boards/boards.service.ts import { Injectable } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import { BoardRepository } from './board.repository'; @Injectable() export class BoardsService { constructor( @InjectRepository(BoardRepository) private boardRepository: BoardRepository, ) {} } 컨트롤러에 서비스를 주입한 것 처럼 서비스에 레포지토리를 주입해준다 여기서는 역시 생성자 주입 사용 데코레..
[NestJs] TypeORM 사용 시 RepositoryNotFoundError 해결하기
❌ 난관 봉착 nestjs의 TypeORM 은 3.0부터 EntityRepository 가 deprecated 되어서 사용할 수 없다 따라서 최신의 TypeORM 에서 이 커스텀 레포지토리를 사용하려면 커스텀 데코레이터를 만들어서 어찌저찌 하면 되긴 한다 하지만 일단은 예제를 따라 공부하는 중이기 때문에 TypeORM을 강제로 2.0으로 낮췄다 npm i --save typeorm@0.2 📝 package.json "dependencies": { "@nestjs/common": "^8.0.0", "@nestjs/config": "^2.1.0", "@nestjs/core": "^8.0.0", "@nestjs/platform-express": "^8.0.0", "@nestjs/typeorm": "^8.0.1..