전체 글 102

24.03.27

오늘은 어제 이야기가 나왔던 아이디어를 디벨롭하거나 추가적인 아이디어가 있으면 이야기하는 시간을 가졌음 아침 시간에 생각보다 좋은 아이디어가 나와서 두 가지 아이디어를 뽑아서 튜터님께 피드백을 받고 아이디어를 하나 선택을 했음. 선택한 아이디어에 필요하다고 생각하는 기능들을 생각하고 추가해보고, 튜터님의 피드백을 참고해 v1, v2, v3로 나눠 기능들을 재배치 한 후 1차 SA를 작성해서 제출을 했음. 아직 우리가 제출한 내용이 받아들여지지는 않았지만 정해진 내용에서 ERD를 짜보고, SQL을 사용할 지 NoSQL을 사용할 지 서로 공부를 하고 생각해보기로 함 SQL과 NoSQL 1. SQL - SQL을 사용하여 데이터를 저장, 검색, 조작하는 관계형 데이터베이스. SQL DB는 사용 및 유지보수가 쉽..

TIL 2024.03.28

24.03.26

최종프로젝트 1주 차 1일째 리더 부리더 선출(본인은 부리더 선출) 프로젝트 주제 관련한 팀원 회의 중 나온 것을 발전 및 새로운 아이디어를 이야기한 후 튜터님께 조원 분들과 함께 나눈 아이디어들이 어떤 지 확인을 받으러 갔음. 이야기를 다 들으시고 해 주신 말씀 : 백엔드적 요소가 부족하다. (기능이 명쾌하게 있어야 하고, 기능의 양이 적다) 음... 사실 아직 백엔드적 요소가 부족하다는 말씀이 어떤 의미인지 잘 와닿지는 않는 것 같다. 오늘은 팀원들끼리 회의를 하루종일 한 것이 전부이기 때문에 특별하게 적을 내용은 없는 것 같고 TIL을 작성하고 마저 아이디어 회의를 진행해야겠다. 다른 팀원 분이 제시해 주신 아이디어가 마음에 들어서 내가 발전시켜 본 내용 Brain Storming B Type: 이..

TIL 2024.03.26

24.03.25

회고 트렐로와 유사한 기능을 가진 협업툴을 만드는 트롤로 프로젝트가 끝이 났다. 얼떨결에 발표를 맡게 됐는데 발표 당일 날 이틀 전부터 팀원 분들과 ppt도 만들고 대본도 짜고 발표 전까지 대본도 수정하고 연습도 하고, 시연을 위해서 코드도 읽어보고 이해도 하려고 팀원 분들께 여쭤보고 했지만... 크게 이해가 되지 않은 상태로 발표를 해버렸다... 대본을 천천히 읽다가 뭔가 틀어져서 대본은 포기하고 임기응변으로 진행을 했는데 어찌어찌 넘어가나 했는데 칼럼 이동 부분과 카드 이동 부분을 설명을 해야 하는데 칼럼 이동 부분은 내가 도움을 받고 도움을 주신 분들께 설명을 들으면서 주석처리된 부분을 읽으면서 설명을 해서 그나마 괜찮았는데 카드 부분은 프로젝트 코드 중에서 가장 복잡하고 어려운 코드여서 코드 소개..

TIL 2024.03.26

24.03.25 Status 401 KPT 회고

Keep - 현재 만족하고 있는 부분 팀원의 트러블도 팀원들이 함께 같이 해결함 초기 설정(ERD, API 명세서 등)을 꼼꼼하게 해서 후에 작업할 때 변동사항이 거의 생기지 않았음 팀원들과의 소통 불화가 없어서 협업하기 좋았음 Problem - 불편하게 느끼는 부분 빡빡한 일정(프로젝트 기한) 프로젝트 진행을 위한 기술 지식의 부족 타입스크립트의 쿼리빌더를 활용하기 어려웠음. 스웨거 설정이 힘들었음 Try - Problem에 대한 해결책, 당장 실행 가능한 것 네스트와 타입스크립트에 대한 이해도 향상을 위한 꾸준한 개인 공부 스웨거 다루기 cicd 파이프 이해하기 테스트 코드 짜보기

프로젝트 관련 2024.03.25

24.03.22

트롤로 프로젝트 List 컬럼 이동 기능 구현 // 컬럼 위치 이동(컨트롤러) // UseGuards = 인증된 사용자만 사용할 수 있게 제한을 걸어둠. @UseGuards(JwtAuthGuard) // 괄호 안의 url로 Patch를 요청하면 // changeListPositon메서드를 실행하는데 메서드를 사용하기 위한 파라미터로 // 파라미터로 받는 listId와 index를 인자로 받는다. @Patch('/:boardId/column/:listId/index/:index') changeListPositon( @Param('listId') listId: number, @Param('index') hopeindex: number, // @userInfo() user: User, ) { // 반환 값으로..

TIL 2024.03.25

24.03.21

- 베어러 토큰이 있어야 작동이 가능하게 코드 수정해야 함. async changeListTitle( updateListDto: UpdatedListDto, listId: number, user: User, ) { // 찾고 싶은 게시물을 listId를 통해서 찾아준다. const { id } = user; const list = await this.ListRepository.findOne({ where: { listId, userId: id }, }); if (!list) { throw new NotFoundException(`해당하는 컬럼이 존재하지 않습니다.`); } // 레포지토리에 업데이트를 해줘야함 await this.ListRepository.update({ listId, userId: id..

TIL 2024.03.22

24.03.20

4조 트롤로 프로젝트 3일차 나의 오늘 작업 - 트롤로 프로젝트 List 생성 service 부분 수정 async createList(createListDto: CreateListDto): Promise { const { title } = createListDto; const newList = await this.ListRepository.create({ title, }); await this.ListRepository.save(createListDto); return newList; } 단순하게 await this.ListRepository.save(createListDto)를 반환해줬을 때 인섬니아로 확인했을 때 listId까지 함께 나와서 불편했음. 게시물들을 참고하여 코드를 수정하고 인섬니아로 확..

TIL 2024.03.20

24.03.19

npm run start:dev 안되던거 1. 각 모듈 부분에 imports: [TypeOrmModule.forFeature([])]를 안넣어줌 2. app.module에 providers: [AppService] 추가 3. user.entity에 @PrimaryGeneratedColumn({ unsigned: true })이 부분에 { unsigned: true }를 제외시켜줌 => 관계를 맺은 컬럼에서도 { unsigned: true }를 써줘야한다고함 [Nest] 19180 - 2024. 03. 19. 오후 11:11:06 ERROR [ExceptionsHandler] Cannot add or update a child row: a foreign key constraint fails (`trollo..

TIL 2024.03.20

24.03.18

예비군에 다녀와서 딱히 뭔가를 하지는 못했음. 오늘은 최종프로젝트를 앞두고 마지막 팀프로젝트를 시작하는 날이다. 프로젝트 내용은 trello라는 협업 툴 같은 툴을 만들어보는 프로젝트임 우리 팀은 trollo라는 이름의 툴을 제작해보기로 했음. 크게 유저, 보드, 컬럼, 카드 세부분의 대분류에서 각각의 역할을 맡게 되었음 내가 맡은 부분: 컬럼 생성, 컬럼 이름 수정, 컬럼 삭제 뒤늦게 git hub 초대를 받아서 git clone으로 dev 브랜치에 있는 파일을 pull을 한 후, git checkout -b list 명령어로 내가 작업할 list라는 브랜치로 이동을 했다. 사실 아직도 git 사용이 너무 어렵고 힘들다... 감사하게도 부팀장님이 내가 예비군 훈련에 참석했다고 내가 작성해야할 엔티티를 ..

TIL 2024.03.19

24.03.15

Sercive란? - @Injectable 데코레이터로 감싸져서 모듈에 제공, 이 서비스 인스턴스는 어플리케이션 전체에서 사용될 수 있음. - 서비스는 컨트롤러에서 데이터 유효성 검사, 데이터베이스에 아이템을 생성하는 등의 작업을 처리하는 부분 Provider 등록하기 - 프로바이더는 모듈에서 등록이 가능하다 모듈 파일 내의 providers 항목에 해당 모듈에서 사용하고자 하는 Provider를 넣으면 된다. 모든 게시물을 가져오는 service 만들기 - 클라이언트에서 요청을 보내면 먼저 컨트롤러로 가게되는데 컨트롤러에서 알맞은 요청 경로에 라우팅해서 해당 핸들러로 가게된다. 그 후에 요청을 처리해주기 위해서 서비스로 들어가며 그 요청에 맞는 로직을 서비스에서 처리해준 후 컨트롤러에 리턴해주고, 컨트..

TIL 2024.03.18
728x90