목록TIL (75)
devlog_owen

서론 팀프로젝트 발표날 알람, 초대기능에 테이블이 굳이 필요없지않나라는 피드백을 받았다. 특히 알람기능의 경우 과거알람을 받는 데이터를 저장을 하는데 이게 쌓이는 데이터를 굳이 조회할 필요성이 느껴지지않고 또 데이터를 차지하는게 아깝다는게 피드백 해주신 튜터님의 의견이었다. 그리고나서 하신말씀이 mysql보다 redis를 쓰는게 더 적절하지 않았을까하는 의견제시를 해주셨다. 그래서 redis에 대해 공부해볼겸 포스팅을 한다. Redis란? 원래 MySQL을 데이터베이스로 썼었는데 Redis와는 확연히 다른 차이점들이 있다. MySQL과 Redis는 둘 다 데이터베이스 시스템이지만 목적과 작동 방식에 중요한 차이점이 있다. ① 데이터 구조 MySQL은 관계형 데이터베이스 관리 시스템(RDBMS)으로 테이블..

프로젝트 중 수정사항 중에 이런게 있었다. [완료]1. 이메일 발송여부와 상관없이 초대 테이블에 컬럼이 생성 [완료]2. 이미 초대되어 있을때 오류 상태 400 -> 409로 수정 필요 [완료]3. console.log 지우기 if(existingInvitedUser) { throw new BadRequestException ("해당 유저는 이미 초대되었습니다.") } 먼저, 기존의 코드다. 원래는 400 error가 발생하는 코드다. 서버가 요청을 이해할 수 없다는 코드인데 적절하지 못한 오류코드였다. if (existingUserInBoard) { throw new ConflictException("해당 유저는 이미 보드에 존재합니다."); } conflictexception으로 409 error s..

inlay hints 설정하기 https://velog.io/@seuhyang/VSCode-Inlay-Hints [VSCode] Inlay Hints VSCode(Visual Studio Code)에는 유용한 기능이 많은데 그중 하나인 Inlay Hints이다. 자바스크립트나 타입스크립트를 사용할 때, 변수나 함수의 타입을 VSCode가 추론한 타입을 확인 할 수 있게 해주는 기능 velog.io 튜터님들 강의볼때마다 알고싶었던 거였는데 이제야 알게되었다. 옆에 자동으로 주석처럼 힌트?비슷한 정보를 주는 기능이다. Ctrl이랑 , 을 눌러주면 설정이 뜨는데 거기서 inlay hints 를 검색한다 onUnlessPressed로 설정하고 밑에 보이는 js,ts 설정들 체크는 옵션이지만 위 링크에서 다 체크..
nest.js mailer 사용하기 @nestjs-modules/mailer NestJS - a mailer module (@mailer). Latest version: 1.10.3, last published: 20 days ago. Start using @nestjs-modules/mailer in your project by running `npm i @nestjs-modules/mailer`. There are 60 other projects in the npm registry using @nestjs-modules/mai www.npmjs.com npm install --save @nestjs-modules/mailer nodemailer npm install --save-dev @types/n..
ERD, API 명세서 작성 trello Draw ERD with your team members. All states are shared in real time. And it's FREE. Database modeling tool. www.erdcloud.com 제목없음 | Built with Notion 4. 와이어프레임 teamsparta.notion.site trello 보드 crud + user 초대 보드 관리 기능 [ ] 보드 생성 [ ] 보드 수정 보드 이름 배경 색상 설명 [ ] 보드 삭제 생성한 사용자만 삭제를 할 수 있습니다. [ ] 보드 초대 특정 사용자들을 해당 보드에 초대시켜 협업을 할 수 있어야 합니다. 다대다 관계에서 중간테이블 생성 typeORM에서는 다대다(many-to-m..

[스파르타코딩클럽] Node.js 플러스주차 과제 해설 스파르타 코딩클럽 내일배움캠프 9기 (Node.js 3기) 플러스 주차 TypeScript 과제 해설 영상입니다. www.youtube.com 성일 튜터님이 올려주신 해설강의를 보면서 부족했던 점, 알게된 점을 쓴 자체피드백을 정리했다. 1. 성공,실패메시지 작성 부족 생각해보니까 중간중간 메시지를 띄우는걸 빼먹은거같다. 예를들어 로그인을 했으면 '로그인에 성공하셧습니다' 이런 멘트 없이 그냥 accesstoken만 주고 끝내는 식으로 했다. 2. autoLoadEntities, logging autoLoadEntities는 말그대로 entity를 작성하면 자동으로 엔티티를 추가해주는 기능이다 logging는 터미널에 실행할때마다 로그를 띄워준다. ..

개발과정 1. 과제 요구사항 분석 및 설계 타입스크립트 과제 | Built with Notion 타입스크립트 기반으로 온라인 공연 예매 서비스를 만들어봐요! teamsparta.notion.site 이번 과제에서는 필수기능만 구현하기로 했다. nest.js도 typescript도 처음이라 기본만 하자라는 마인드였다. 2. 프로젝트 및 패키지 설정 이번 기술스택은 nest.js, typescript, typeORM,mysql 등 필요 패키지를 설치했다. 3. 데이터베이스 모델 설정 설계한 데이터베이스 스키마에 따라 데이터베이스 모델을 생성하는데 여기서는 typeORM entity를 정의한다. 4. 모듈설정 각 기능에 맞는 모듈을 설정하고 app.module에 임포트해주어야 한다. 5. DTO 생성 클라이언..

1. findOne 메서드에 잘못된 인자가 전달되었을때 "[nestjs/typeorm] Object literal may only specify known properties, and 'id' does not exist in type 'FindOneOptions'" 이 오류는 findOne 메서드에 잘못된 인자가 전달되었을 때 발생합니다. findOne 메서드는 FindOneOptions 타입의 객체를 인자로 받아야 하는데, id라는 프로퍼티는 FindOneOptions 타입에 존재하지 않습니다. 이 오류를 해결하려면 findOne 메서드에 올바른 형식의 인자를 전달해야 합니다. 예를 들어, { where: { id: createBookingDto.eventId } }와 같은 형태로 전달하면 된다. Re..