22.09.26.Mon
so191925 edited this page Sep 27, 2022
·
4 revisions
- 성현님이 만들어주신 이미지 프리뷰 컴포넌트를 연결했다.
- 매장 수정 페이지를 만들면서 api 로직과 컴포넌트 구조를 많이 바꿔서 생각보다 시간이 오래 걸렸다.
- 내일부터는 매장 리스트, 매장 상세페이지 개발에 들어갈수 있을 것 같다.
- 주말동안 마이페이지에서 하트목록 api 명세서를 보고 더미데이터 형식을 만들어 넣어봤다.
- 짧은 코드를 작성해도 생각보다 오류가 잦았다. 타입 지정을 임의로 any로 한 부분이 많아서 사전에 에러 차단이 되지 못한점이 문제가 되었다. 타입스크립트를 사용하는 의미를 알고 타입 지정에 좀더 신경써야겠다.
- 반응형 구현시 UI들이 자꾸 말을 안듣는다.😂 스타일드 컴포넌트 내에서 구현하다보니 작은 부분도 컴포넌트로 만들어져서 미디어쿼리를 적용할때 번거로운 부분도 있다. 더 편하게 작성할 수 있는 방법이 있는지 알고싶다.
- 서버와 연결을 위해 api 로직을 작성해둬야겠다.
- 게시글 수정 API 연결
- 회원 정보 수정 페이지 레이아웃 구성
- 프리 때도 게시글 작성 페이지를 만들었지만, 메인에서는 여기에 이미지 첨부 기능이 추가되었다. 기능 하나를 추가하는 것만으로도 생각해야 할 요소와 추가할 로직이 많아지는데 현업에서는 어느 정도일지 감이 안 잡힌다.
- 주말동안 카테고리별 스토어 리스트 반환 API를 구현하였다. -> 구현도중 Cannot convert string '\xAC\xED\x00\x05~r...' from binary to utf8mb4 에러가 발생했다 -> 이는 동적 쿼리의 param중 어느 하나의 값이 binary로 들어가 utf8mb4로 인코딩이 되지 못하는 문제라고 의심이 들었다. -> 우선 쿼리에서 어떤 값이 전송되었는 지 확인하기 위해 logging.level.org.hibernate.type.descriptor.sql = trace 옵션을 yml로 추가했다. ->binding parameter [1] as [VARBINARY] - [STORE_EXIST] 를 보고, 문제는 네이티브의 동적쿼리의 파라미터로 enum값이 들어갈때 utf8mb4으로 인코딩 되지 않는다는 문제를 발견했다. -> enum타입말고 string 타입으로 동적쿼리 파라미터로 넘기니까 잘 실행 되었다. -> 앞으로는 네이티브 쿼리 사용시 enum값을 통채로 동적쿼리의 파라미터로 넘기지 말아야 겠다.
- 클라이언트 단에서 thread의 좋아요를 눌렀을때, 해당 유저가 좋아요 누르면 하트가 무색 하트에서 빨간 하트로 표시가되게끔 구현을 해야한다 -> 그러나 준영님과 나는 단순히 좋아요를 눌렀을때 thread 테이블에 likes컬럼의 값이 증가하는 식으로 좋아요를 구현했기 때문에 어떤 유저가 좋아요를 눌렀는 지 클라이언트 단에서는 알 수가 없었다. 그래서 클라이언트단의 요구처럼 구현 할 수 가 없었다 -> 따라서 기존 thread의 컬럼인 likes를 지우고 likes 테이블을 따로 만들어 그 테이블 안에 like된 thread__id와 like를 누른 user_id 컬럼을 추가해 어떤 유저가 어떤 thread를 눌렀는 지 알 수 있게 하였다. 3 Store를 수정하는 API에 예외처리를 추가 구현 하였다. -> 이유: 처음 Store 생성 시, store의 경도 위도가 같고, 같은 이름의 store의 경우 중복되는 가게로 취급해서 더 가게를 create 못하게 예외처리 했다 -> 근데 업데이트시, 1번 오너가 만든 가게와 동일한 위도 경도의 같은 이름을 가진 store로 2번 오너가 수정하려고 할 때 예외처리를 해서 수정 되지 못하게 막아야 하는데, 그러지 않았다. -> 이 부분을 수정하였다
- 박소영님과 함께 - 댕댕이숲 상세페이지에 좋아요를 표시하기 위해 - 좋아요(likes) 테이블을 생성. 이에 따라 DB테이블 및 entity 클래스 수정/추가.
- 댕댕이숲 - 댓글 : 작성 API는 테스트 에러 없어서 배포 예정. / 수정, 삭제 API는 에러 해결 중.
- 이후 댕댕이숲 - 전체 리스트 및 상세페이지 구현 예정.
- 점심시간에 눈이 아파서 좀 쉬었어요. 화면만 너무 쳐다보지 말고 눈에게도 휴식을 주어야 겠습니다.