본문 바로가기

일기38

[항해99 6기] 실전프로젝트 2주차 - 느낀점 2주차 실전프로젝트 느낀점 2주차에는 1주차에서 만들었던 API설계를 대부분 완성하는 일을 하였습니다. 프론트엔드와 디자이너 분들이 디자인 소통을 하면서, 유저들의 편의성과 디자인을 이야기 해보았습니다. 사용자들이 "젊은 사람과 주부들이 신뢰를 갖고 이용할 수 있는 똑똑한 물물교환 서비스" 를 만들고자 API를 수정을 하였습니다. 1. N : 1 물물교환 대표적으로 N : M 다대다 교환이아니라, "상대방의 1개의 물품을 교환하기 위해서" 내가 가지고 있는 물품 여러개(N)를 교환하는 N : 1 물물교환으로 하기로 하였습니다. 2. 교환완료와 평가완료 또한 제품의 교환완료와 평과완료를 단방향이 아닌 양방향으로 결정하고, 3. 평가점수 관리 당근마켓과 같이 자신의 활동을 차근차근 쌓아갈 수 있는 평가서비스.. 2022. 5. 8.
[항해99 6기] 실전프로젝트 2주차 - 상대방 평가 채팅 10분 이내 응답시 보너스를 주는 로직을 짜보자 접근법) chatroom의 Id값을 찾아야 된다는 가정하여 코드를 만들었습니다. 다행히도 프론트에서 상대의 ID값을 주기로 하였습니다. 1. 채팅목록 레포지토리 Param으로부터 유저ID와 상대ID를 받아서, 요청하였습니다. @Query문에 requesterId(요청자 아이디) = 유저아이디 acceptorId(수신자 아이디) = 상대아이디 // 내가 요청한 채팅방 @Query("SELECT cr FROM ChatRoom cr WHERE cr.requesterId =:userId AND cr.acceptorId = :opponentUserId") ChatRoom findMyRequestChatRoom(@Param("userId") Long userId.. 2022. 5. 7.
[항해99 6기] 실전프로젝트 1주차 느낀점 1. 느낀점 막연한 불안으로 시작하였지만, 백엔드에서 초기에 설계한 API의 2/3를 달성하여서 다행스러운 한주였습니다. 클론코딩에비해서 필요한 기능과 코딩 접근법에 대해서 1. 다양한 경우의 수를 능동적으로 생각해야 된다는 점과 2. 제한된 시간 내에 구현가능한 API를 선택적으로 고르는 과정을 통해서 바빴지만 재미있었던 경험이였던 것 같습니다. 또한 막연하게 이해하고 있었던 테이블의 연관관계에 대해서 좀 더 넓게 생각 할 수 있었고, SQL과 관계에대한 속성에 대한 개념을 좀더 자세히 공부해야 된다는 점도 새로 알게 되었습니다. 아쉬웠던 점은 코딩에서 사용하는 @Builder, JWT, FindBy & GetBy, Optional 등 기초적인 개념이 부족하여 팀원들을 많이 귀찮게 했다는 점과 할당받은.. 2022. 5. 1.
[항해99 6기] 실전프로젝트 - 업무 방향성 업데이트 1. 업무 방향성 변경 더보기 석준님 : JWT작업 & 소셜로그인 구현(카카오) 완료 -> 웹소켓 (채팅기능 & 알람기능) 승재님 : 상품등록, 이미지 등록 등 전반적인 CRUD 완료 -> 웹소켓 (채팅기능 & 알람기능) 나 : 마이페이지, 거래내역 조회, 찜 목록 조회 CRUD -> 웹소켓개념 -> SQL & 리팩토링 승재님을 도와서 웹소켓을 구현하고자 하였지만, 웹소켓에 대한 이해가 부족하여 DB자료 조회시 최적화 할 수 있는 방법을 알아보는 방향으로 변경하기로 하였습니다. 2. 기술멘토링 내용 더보기 이주호 기술 멘토님과의 멘토링내용 (14:30 - 15:00) 1) ERD 설계를 직접 해보니 최적화에 문제점이 많아 보입니다. 테이블 수정을 해도 괜찮을까요? 하나의 칼럼만을 사용해 구분자로 정보를 .. 2022. 5. 1.
[항해99 6기] 실전프로젝트 - 예외성 검사 & 새로운 문제 1. 거래내역 조회하기 (검증) 더보기 유저 1 : 1~6번 유저 2 : 7~11번 유저 3 : 12~15번 물품을 가지고 있을 경우 거래내역 1번 유저1 / 유저2 1,2,3 / 7,8 거래내역 2번 유저3 / 유저2 15,14 / 9,10 거래내역 3번 유저3 / 유저1 12,13 / 4,5,6 일 경우 유저1번의 거래내역을 조회 할 때 거래내역 1, 3번에 해당합니다. -> 거래내역에 해당하는 내 물품과 상대방의 물품을 구별해서 보내줘야합니다. 검증하기 코드 더보기 [ { "barterId": 1, "myItem": [ { "itemId": 1, "title": "1번", "itemImg": "ㅁㄴㅇㄹ", "date": "2022-04-27T18:58:24.429", "status": "qwer" .. 2022. 4. 29.
[항해99 6기] 실전프로젝트 - 코딩실수 내정보 수정) 회원 정보를 수정할 때, S3에서 기존 파일이 삭제가 안되는 현상이 발생함 -> 주황색으로 밑줄 친 부분을 현재 로그인한 유저의 이미지가 아닌, -> 새로 수정하고자 하는 이미지의 이름으로 요청을 하였기 때문에 -> S3에 삭제할 파일을 찾을 수 없었음 해결방법 : nowFile이라는 유저의 기존 사진을 대입하여서 삭제를 하였음 거래내역 문제) 1거래내역 -> 거래내역2 -> 거래내역3 넘어갈 때, 자료가 초기화 되지 않고 for문에 누적되어 출력되는 문제가 발생함 더보기 해결과정) 출력을위해서 물품을 담아줄 Dto가 for문 밖에서 생성되어서, 초기화가 되지 않는 문제였음 -> for문안에 넣음으로써 물품이 누적해서 쌓여지는 문제 해결 더보기 문제의 포스트맨 출력값) 더보기 [ { "ba.. 2022. 4. 29.