전체 글
20220909_실전 프로젝트 14일차(Swagger 도입)
실전 프로젝트 트러블 슈팅🚀 실전 프로젝트를 진행하며 디자이너님 그리고 FE분들과의 원활한 소통을 위하여 Swagger를 도입, 적용해보았다. 추후 트러블슈팅으로 사용할 수 있을 것이라 판단되어 기록해두고자 한다. Swagger의 도입 문제상황 처음에는 노션 팀 페이지를 통하여 API 명세서를 작성, 이용하고 있었습니다. 하지만 프로젝트를 진행할수록 아래와 같은 문제가 발생하기 시작하였습니다. API 명세서의 가독성 저하 개발해나가는 API의 양이 점차 증가함에 따라 명세서에 기록되는 API들도 많아졌고 주고 받는 데이터도 증가, 복잡해짐으로 API 명세서 자체의 가독성이 저하되는 문제가 발생하였습니다. 의사소통 문제 FE, BE 개발자 모두 API 명세서와 관련하여 소통에 많은 시간을 할애하게 되었습니..
20220904_WIL(실전 프로젝트 2주차 회고 및 Pageable 사용법 정리)
20220904_WIL 들어가며 오늘로 실전 프로젝트 9일차, 전주 금요일에 발제하여 주차로는 2주차가 지나가고있다. 오늘은 실전 프로젝트 2주차에 대한 회고와 더불어 가장 최근에 도입했던 Pageable 사용법에 대하여 정리해보고자 한다. Pageable Pageable은 Spring framework에서 제공하는 내장 인터페이스로서 Pagination(직역하자면 쪽수 매기기)을 위하여 요청하는 정보를 page(말 그대로 페이지, 0부터 시작한다.)와 size(한 페이지 당 넘겨줄 정보 단위)로 끊어주는 기능이다. Pageable로 인하여 spring에서는 이러한 Pagination을 위한 밑작업을 정말 간단하게 구현할 수 있었다. 내가 기존 작성했던 전체 상품(게시글) 조회 Method가 Pageab..
220830_실전프로젝트 8일차(feat.Item 수정부분 트러블슈팅🚀)
실전 프로젝트(반려동물 용품 중고거래 서비스)를 진행하며 금주 내가 담당했던 부분은 아래와 같았다. Item CRUD 구현( + 이미지 다중업로드) 카테고리에 따른 게시글 조회 기능(단일 카테고리 / 이중 카테고리) 검색 기능(query를 바탕으로) 찜 기능(좋아요) / 내가 찜한 게시글 조회 기능 우선 기능적으로 구현을 완료해둔 다음, Spring Security를 작업하신 팀장님의 코드와 합치며 로직들을 수정(토큰을 통해 Member Class의 정보를 받아오게끔)하고 있었는데 Item 수정부분에서 문제가 발생하였고, 이를 정리해두려한다. Item 수정(PUT METHOD) 버그 해결 트러블 슈팅 우선 해당 파트에서 발생하는 오류에 대해 설명하기 로직적으로 설명하자면, Item(상품)을 등록할 때 이..
220829_실전프로젝트 4일차
이번 실전 프로젝트에서 우리 조가 만들려하는 서비스는 간단하게 설명하여 당근 마켓을 레퍼런스로 한 반려동물 용품 중고 거래 사이트다. 금주 내가 구현해야하는 부분은 상품 CRUD와 검색 기능이다. 글로 적어놓으니 몇 안되어보이지만 실전인 만큼 여러 디테일을 챙겨야하기에 신경써야하는 부분들이 상당하였다. 그 중 단일 상품 조회 메소드를 사용하면 조회수가 올라가게끔하는 기능을 추가로 구현할 필요가 있었다. 처음 시도하는 부분이었기에 기록을 남겨보려한다. Item //Item Entity Class @Column(columnDefinition = "integer default 0", nullable = false) private int viewCnt; 먼저 조회수를 할당할 필드를 생성해주었다. nullable..
20220828_WIL(클론코딩 주차 및 실전 프로젝트 1주차 회고)
20220828_WIL 들어가며 금주는 클론코딩 주차를 마무리하는 주이자 실전 프로젝트에 돌입하는 주차였다. 클로코딩 주차를 거치며 어떤 부분들이 잘 이뤄졌고 부족했으며 실전 주차는 어떻게 진행되고 있는지 간단하게 정리해보고자 한다. 클론코딩 앞서 개발로그를 통하여 간단하게 정리한 바 있듯 우리 조는 디시인사이드라는 국내 최대 커뮤니티 사이트를 클론코딩하기로 결정하였었다. 다소 안좋은 이미지가 형성되어있는 사이트긴 하나 실전 주차에 들어가기 앞서 CRUD를 비롯하여 기본기를 다시 한 번 다지고 가기 좋은 사이트라는 생각을 바탕으로 결정하였다. GitHub - HANGHAE-INSIDE-BE-FE/HANGHAE-INSIDE-BE Contribute to HANGHAE-INSIDE-BE-FE/HANGHAE-..
20220823_클론코딩(항해인사이드) 5일차
어제 댓글 CRUD 메소드를 완성하고 어제 BE팀원들과 코드를 합쳐보았다. 눈에 보이는 오류들만을 해결한 뒤 정상적으로 Spring이 동작하는 것만 확인하고 해산했었는데 오늘 Post-Man을 통하여 댓글 조회 메소드를 실행해보자 아래와 같은 오류가 발생하였다. 인텔리제이로 돌아와 오류 코드를 확인해보니 말로만 듣던 스택오버플로우였다. 이전에 겪었던 얽히고 설킨 연관관계로 인한 N+1오류와 비슷한 이유같았고 당연 내 코드에 문제가 있어서 발생한 것이었다. 발생한 에러코드 더보기 Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exc..