분류 전체보기 102

24.04.25

데이터베이스에 좌표 데이터 넣기?데이터베이스에 좌표 데이터를 넣을 때는 우리가 흔히 사용하는 숫자형을 사용하지 않는다고 함Point라는 처음 들어보는 형태를 사용한다고 함 @Index({ spatial: true }) @Column({ type: 'geography', spatialFeatureType: 'Point', srid: 4326, nullable: true, }) location:Point근데 이게 뭐임... UPDATE customers SET location = 'point(37.7, 122.4)' where id = 123;일단 포인트에 위도 경도 값이 한꺼번에 들어간다는 건 알겠는데 그래서 이걸 어떻게 넣어야하는건지 막막함

TIL 2024.04.26

24.04.22

24.04.22 오늘의 작업 crud 리팩토링 auth cont, ser 리팩토링함 => Dto에 포함된 속성들을 하나하나 빼오길래 한꺼번에 빼서 서비스에서 객체분해할당해버림 잡다한 console.log 삭제, return 값 변경 users 사용자 조회(내정보)에서 @UserInfo() 데코레이터, @Req() req 사용자 전체 조회(어드민 전용) RolesGuard 적용하면 작동 x(어드민 인식 못하는 듯?) 유저 인포 데코레이터에서 userId를 가져오지 않고 req.user에서 가져오는 거 수정해버림 사용자 정보 수정(내정보 수정)도 같은 수정 사용자 삭제(탈퇴)도 동일한 수정 schedule 스케쥴 상세조회 const schedule = await this.schedulesRepository...

TIL 2024.04.23

24.04.19

24.04.19 에러 모음집 그룹 멤버 초대 시 동시에 초대한 사람이 그룹멤버에 등록되어버리는 불상사 발생 츄라이 리스트 *** Drop the DB *** 1. 유저 2명 회원 가입 2. 김춘일로 로그인해서 그룹, 스케쥴 만들어 둠 3. 김춘일이 그룹멤버로 김춘이를 초대함 (DB 테이블 확인 필요. 그룹 멤버에 김춘이가 추가되고 isValide가 false면 다음 스텝으로) 4. 김춘일이 김춘이의 초대를 수락해본다. (DB 테이블 확인 필요. 그룹 멤버에 김춘이의 isValide가 true로 바뀌면 x망 false면 다음 스텝으로) 5. 김춘이가 그룹 수락을 함 (DB 테이블 확인 필요. 그룹 멤버에 김춘이의 isValide가 true로 바뀌면 다음 스텝으로) 6. 김춘일이 로그인 후 김춘이를 스케쥴 ..

TIL 2024.04.22

24.04.18

- 그룹 멤버 초대 비정상 작동 => 초대 수락 시 해당 유저는 초대 받지 않았다고 뜨나 DB에 저장됨 - 스케쥴 멤버 등록 부분 수정 필요할 듯 => 스케쥴을 생성한 사람이 스케쥴 멤버 테이블에 생성되고, 스케쥴 멤버를 등록하면 등록한 사람이 2번이 되게 해야할 듯 스멤 등록 { groups: { groupId: 1 }, scheduleId: 1, userId: 1, email: 'abc2@naver.com', groupId: 1, scheduleMemberId: 1 } users 테이블에 userId2번이 스케쥴 멤버 등록시 userId 2번으로 등록되는 상황 발생 - 스케쥴 생성: 정상 작동 => 멤버 가드 롤에 모든 롤들이 생성할 수 있게 함(스케쥴은 아무나 생성할 수 있음) - 스케쥴 전체 조회..

TIL 2024.04.19

24.04.17

화요일에 프로젝트 중간발표를 하고 팀원 모두가 지쳐 당일 날은 간단히 해야할 것만 하고 오랜만에 칼퇴근을 했다. 어제? 오늘? 다시 출근해서 PR을 하고 충돌 병합을 마친 후 API가 정상적으로 작동하는지 테스트를 했는데 작동을 하지 않았다... 분명 가드 수정, API 수정을 하고 테스트 까지 마치고 PR을 한건데... 일단 가장 의심되는 가드 부분을 확인하기 위해 JWT가드와 MemberRole 가드를 하나씩 제외하고 테스트를 해봤는데 MemberRole 가드에서 groupId를 가져오지 못하는 문제가 발생을 해버렸다... 관련된 api를 테스트 하면서 consolelog를 확인하며 왜 안되는 지 찾아보고 이것저것 고쳐보고 했지만 이 시간까지 아무것도 하지 못했다.... 에효... 지친다 지쳐... ..

TIL 2024.04.18

24.04.16

최종 프로젝트 중간 발표 회고 1. 유지할 점: 정기적인 회의 유지: 현재의 정기 회의 체계는 팀의 소통과 협력에 매우 효과적이므로 지속적으로 유지 TMI Time 활용: 말랑말랑한 뇌를 만들기 위해 개인의 경험과 지식을 공유하는 TMI Time을 계속해서 실시 유연한 대처 능력 유지: 문제가 발생했을 때 유연하게 대처하는 현재의 마인드셋을 유지 2. 문제점: 코드의 일관성 결여: 프로젝트의 코드 일관성이 떨어져, 유지보수 및 협업의 효율이 저하 불완전한 문서화: 코드 내 주석이 부분적으로 누락되어 있어, 코드 이해와 공유에 어려움을 겪음 튜터 활용 부족: 튜터의 도움을 충분히 받지 않아, 학습과 문제 해결에 있어 자원을 활용하지 못하고 있음 3. 시도할 해결책: 일일 풀 리퀘스트: 팀원 각자가 최소 하..

TIL 2024.04.17

24.04.15

문제 발생 스케쥴 전체 목록 조회 api를 테스트 진행중 api가 비정상적으로 구동되는 현상 발생 어떠한 문제가 있었는가? 생성된 스케쥴이 모두 나와야 하는데 스케쥴이 1개밖에 나오지 않음 어떻게 해결했는가? 스케쥴 전체를 찾아주는 로직의 문제였음 where에서 scheduleId를 제거해줌 변경 전 const allSchedule = await this.scheduleRepository.find({ where: { groupId, scheduleId }, }); scheduleRepository에서 scheduleId라는 조건을 넣으면 해당되는 scheduleId의 스케쥴을 찾아오기 때문에 where에 scheduleId를 제거했음 변경 후 const allSchedule = await this.sch..

TIL 2024.04.16

24.04.12

그룹 및 멤버 기능 그룹 및 멤버 기능을 구현함 그룹 생성, 해당 그룹에 속한 멤버를 초대가능. 초대된 멤버는 그룹 내에서의 권한을 통해 스케줄 및 그룹 관련 작업을 수행이 가능하게 함 스케줄에 대한 생성, 전체 조회, 상세 조회, 수정, 삭제 기능을 구현했음 가드를 통해 어드민 계정은 모든 스케줄 작업을 수행할 수 있지만, 유저 권한을 가진 사용자는 권한에 따라서 일부 기능만을 사용할 수 있음 토큰 관련 이슈 해결API를 실행할 때 401 에러가 발생하는 문제를 해결하기 위해, 토큰과 인증에 관련된 문제를 열심히 찾아봤으나 이해력 부족으로 이해하지 못함 가드 부분에서 많은 오류들이 발생했음 JWTAuthGuard 주석처리 후에는 정상적으로 API가 동작함을 확인했고 팀원들이 함께 가드를 수정했음 테스트..

TIL 2024.04.15
728x90