BaGyun
빠균's 개발노트
BaGyun
전체 방문자
오늘
어제
  • 분류 전체보기 (71)
    • Today I Learned (44)
      • 오류 (8)
      • JavaScript (15)
      • TypeScript (9)
      • NodeJS (0)
      • NestJS (0)
      • Database (3)
      • ORM (1)
      • 알고리즘 (2)
      • 개인공부 (4)
      • Deploy (0)
      • Git (1)
    • 개인프로젝트 (4)
    • 알고리즘 (14)
      • 프로그래머스 (14)
    • 면접질문 (5)
    • 회고 (3)

인기 글

반응형

블로그 메뉴

  • 홈
  • 태그
  • 방명록
hELLO · Designed By 정상우.
BaGyun

빠균's 개발노트

개인프로젝트

[개인프로젝트] Nostanding 팀프로젝트 typescript로 리빌딩 - 2~5일차

2022. 8. 18. 20:05

현재까지의 진행사항

지난주에 이런저런 일들이 있어서 조금 지체되기도 했고, 블로그에 글 작성을 하지 못하게 된거 같다.

프로젝트는 짬 날때마다 꾸준히 작업을 했다.

 

팀 프로젝트 때, sequelize-auto로 데이터베이스 기반을 다져놨었는데 MySQL Workbench를 사용해서 데이터 관리 및 ER다이아그램으로 스키마를 만드는 등 너무 유용하게 사용해서 이번 ts 리빌딩에서도 sequelize-auto를 사용했는데, 생각치 못한 문제들에 직면하게되었다.

우선, 첫째로 models폴더에 index.js 파일을 만들어서 mysql 데이터를 가지고왔었는데 이걸 .ts로 변경하니 계속 'Error: No Sequelize instance passed' 이 에러를 만나게되었다. 약 2일~3일간 계속 검색을 하고 해결방법을 찾다 끝내 그냥 .js파일로 만들어둔 상태로 진행하게 되었다.

둘째로는, typescript에서는 require() 문보단, import 문으로 모듈들을 관리하는거 같아 모든 require()문을 import 문으로 변경하고 싶었으나 Models를 불러오는 과정에서 문제 발생하는 부분이 너무 많아 1일차에 진행했던 "module":"ESNext" 를 "module":"CommonsJS"로 다시 변경했다. ESNext를 사용하는 경우 require() 문법 사용 시 에러가 발생하기 때문이다. 이러한 내용은 1일차 블로그에 있으니 참고하면 좋을거 같다.

 

현재 모든 파일을 변경했고, 정상 작동하는지 확인하고있다. 아마 토요일 전에 팀 프로젝트간 만들었던 모든 내용들은 확인하고, 앞으로 계획했던 것들을 하나씩 넣어보고 테스트할 것 같다.

현재까지의 문제점

  • multerS3에서 'S3' 형식은 'S3Client' 형식에 할당할 수 없습니다.ts(2322) 에러가 발생한다.
    ㄴ tsconfig.json에 "module": "ESNext" 를  "module":"CommonsJS" 로 변경하여 require 구문을 이용해 불러와서 사용으로 오류를 해결해둠.
  • 현재 Bookmark 테이블의 'Bookmark[]' 형식에 'is_marked' 속성이 없습니다.ts(2339) 에러가 발생한다.
    ㄴ 데이터를 깔끔하게 보내고싶어서 사용했던 .map 함수를 제거 후, findOne 으로 데이터를 보내주는 방식으로 변경
  • mysql 데이터를 가지고오기 위한 index.js 파일을 .ts 로 변경시 'Error: No Sequelize instance passed' 문제 발생
    ㄴ .js파일인 상태로 유지
  • 회원가입 시, 데이터베이스에 경위도를 저장하게끔 로직을 만들었는데 경위도를 읽지 못하는 에러

앞으로 계획하고 있는 것

  • Nextfunction을 활용하여 오류핸들링하기
  • jwt.verify를 router로 옮겨 모든 파일에 있는 accessToken 확인하는 코드 줄이기
  • socket.io로 실시간 알람 만들기
  • 현재 페이지네이션이 1~끝까지 모두 읽혀오는 코드로 작성되있으나, 1페이지마다 데이터를 불러오게끔 변경하기
  • mysql 데이터를 가지고오기 위한 index.js 파일을 .ts 로 변경시 'Error: No Sequelize instance passed' 문제 발생하는 원인 파악 후 변경 시도

'개인프로젝트' 카테고리의 다른 글

[개인프로젝트] Nostanding 팀프로젝트 typescript로 리빌딩 - 6~8일차  (0) 2022.08.23
[개인프로젝트] Nostanding 팀프로젝트 typescript로 리빌딩 - 1일차  (0) 2022.08.05
[개인프로젝트] WebSocket 실시간 채팅창 구현  (0) 2022.07.09
    '개인프로젝트' 카테고리의 다른 글
    • [개인프로젝트] Nostanding 팀프로젝트 typescript로 리빌딩 - 6~8일차
    • [개인프로젝트] Nostanding 팀프로젝트 typescript로 리빌딩 - 1일차
    • [개인프로젝트] WebSocket 실시간 채팅창 구현
    BaGyun
    BaGyun

    티스토리툴바