Til

    [TIL] 5주차 주특기 심화ㅣ과제 제출과 코드 리뷰

    주특기 심화 주간 과제 팀 과제 진행 상황 Lv2까지 기능 구현이 전부 완료되었다. 제출해야 될 문서를 다듬고 제출까지 완료! 조원분들과 남은 시간을 어떻게 알차게 보낼 수 있을지 상의해봤는데 '더 나아가기'에 나와있는 추가 기능을 구현하기로 했다. 이 중 회원 탈퇴, 게시글 카테고리, 게시글 페이징을 각자 맡아 막 구현에 들어가려던 찰나, 기술 매니저님의 순회와 함께 갑작스러운 코드 리뷰가 시작되었다..!😦 그리고 깨달았다.. 지금은 추가 기능이 아니라 리팩토링을 해야 하는 시간인 것을.. 기술 매니저님께 받은 코드 리뷰를 토대로 궁금증을 정리해보았다. 오늘의 궁금증 update 이후 DB에서 해당 id로 조회해오면 그건 같은 걸까? @Transactional public BaseResponse upd..

    [TIL] 5주차 주특기 심화ㅣ예외처리

    오늘의 궁금증 @Valid에 대한 예외처리는 어떻게 해야 할까? 과제 요구사항인 예외처리를 어느 정도 마무리하고 테스트를 하던 중 회원가입 유효성 검사에 대한 예외처리는 제대로 되어 있지 않다는 걸 알게 되었다. 현재 회원가입 유효성 검사는 requestDto에 있는 Valid 어노테이션이 해주고 있는데 이 어노테이션은 MethodArgumentNotValidException라는 예외를 발생시킨다. 전역으로 예외처리를 하고 있는 핸들러에서 해당 예외를 잡아 에러에 대한 응답을 보내주어야 한다. 핸들러에서 예외 처리 @RestControllerAdvice 어노테이션을 사용한 GlobalExceptionHandler를 이용해 다음과 같이 처리해주었다. @Slf4j @RestControllerAdvice pu..

    [TIL] 5주차 주특기 심화ㅣ댓글 좋아요 API

    남병관 CTO님 세션 [좋은 개발자란?] 비싼 개발자란? == 쉽게 구할 수 없는 것을 가진 사람 그렇다면 쉽게 구할 수 있는 건? 검색 가능한 것. 강의, 블로그... 그럼 귀한 건? 불면의 밤 끝에 나오는 것. 사고력, 구현력, 인성.. 사고력 마주할 질문 중에 못 푸는 문제는 없다. 내가 해결할 수 있다는 믿음 구현력 '아는 것'과 '하는 것'은 다르다. 맨날 강의를 듣고.. 블로그를 검색하고.. 놉. 핵심은 코딩을 많이 하는 것. 소통력 내 생각을 그대로 전달하는 건 얼마나 어려운 일일까? 설득할 준비보다 멋진 것은, 설득당할 준비를 하는 것. 3줄 요약 귀한 엔지니어는 사고력 x 구현력 x 소통력. 세 살 버릇 여든까지. '취직하면 해야지'로 되는 게 아님. 소통력이 정말 중요. QnA Q. 구..

    [TIL] 5주차 주특기 심화ㅣ게시글 좋아요 API

    주특기 심화 주간 과제 팀 협업 방향 팀원 모두 Lv1까지 개인적으로 구현을 완료했고, 오늘부터 Lv2를 함께 작업하기로 했다. Lv2의 요구사항은 게시글, 댓글 좋아요 API, 예외처리이다. 과제에서 요구하는 시점에 가장 가까운 조원분의 프로젝트를 바탕으로 최대한 각자가 해보지 못한 부분을 맡아 협업을 진행하기로 결정! 나는 게시글 좋아요 API를 맡게 되었다. 협업에는 Git 사용이 필수적이기 때문에 프로젝트 진행 전, Git과 Github을 통한 소스코드의 병합이 어떻게 이루어지는지 연습해보는 시간을 가졌다. Git-flow 브랜치 전략을 최대한 가져가되, 우리 프로젝트 규모에 맞게 [main-develop-feature]만 적용해보기로 했다. 나도 완벽히 안다고 할 순 없지만 최대한 내가 아는 선..

    [TIL] 4주차 주특기 숙련ㅣ권한부여, 예외처리

    주특기 숙련 주간 개인 과제 개인 과제가 막바지에 이르렀다. CRUD API + JWT 로그인/회원가입 (Lv1) + 댓글 CRUD API, 회원 권한 부여, 예외처리 (Lv2) 어제 댓글 CRUD API까지 마무리했고, 오늘 회원 권한 부여와 예외처리를 작업하였다. 특히 예외처리 같은 부분은 강의에서도 따로 다루지 않아 굉장히 고생했는데 오늘의 TIL은 그 고생길을 담아보았다🙃 오늘의 궁금증 댓글을 작성 순으로 정렬하려면? 어제 댓글 CRUD를 작업하면서 빼먹은 요구사항이 있었다. 바로 댓글을 작성 순으로 정렬하는 것! 게시글 같은 경우는 Repository에서 Spring Data JPA 쿼리 메소드를 이용하여 정렬을 하였다. 이번엔 같은 조의 소영님이 알려주신 어노테이션을 이용해볼 것이다. @Ord..

    [TIL] 4주차 주특기 숙련ㅣ댓글 CRUD API

    주특기 숙련 주간 개인 과제 이번 주간 개인 과제는 저번 CRUD API에 다른 기능들을 추가하는 것이다. 사실 주말 내로 강의를 다 듣고 과제를 시작한 건 어제였지만, 어제의 나는 밤샘 이슈로 제정신이 아닌 상황이었기에..^^ 오늘에서야 제대로 정리해본다. 🚩 Goal: "회원가입, 로그인, 댓글 작성/조회/수정/삭제 기능이 추가된 나만의 항해 블로그 백엔드 서버 만들기" 간단히 말하면, 이렇다. CRUD API + JWT 로그인/회원가입 (Lv1) + 댓글 CRUD API, 회원 권한 부여, 예외처리 (Lv2) 어제 JWT를 이용한 회원가입과 로그인을 마무리했고, 오늘 댓글 CRUD API를 마무리했다. 큰 범주에서 보면 저번 주와 같은 CRUD인데 JPA를 이용해서 게시글과 댓글의 연관관계를 정의하..

    [TIL] 4주차 주특기 숙련ㅣ조각모음

    책 스터디를 시작하다 저번에 구매한 책이 집에 도착한 지 한참인데 며칠째 단 한 장도 넘겨보지 못했다. 이대로 가다간 저기 어디 침대 밑에 보관만 할 것 같아서 겁도 없이 스터디를 만들어버렸다! 책을 이미 구매했거나, 구매 의향이 있는 같은 반 분들에게 스터디 제안을 건넸는데 다행히 한 분도 빠짐없이 흔쾌히 수락해주셔서 재밌는 모임이 만들어졌다. 사실 지금도 해야 하는 일들이 많고, 앞으로도 넘쳐날 텐데 '나'라는 사람을 믿고 함께해 주시는 것 같아서 감개무량하고.. 너무 감사하고...😭😭 한 분 한 분의 시간이 소중하므로 중간에 흐지부지 되고 싶지는 않아서 나름 열심히 찾아보고 스터디 관련 계획을 세웠다. 1) 같은 목표 2) 간단한 규칙 3) 정해진 기간 4) 적당한 책임감과 동기부여 이런 기준들을 ..

    [TIL] 3주차 주특기 숙련ㅣ주간 시작

    주특기 숙련 주간 시작 스프링에 얻어맞았던 입문 주간이 지나고, 더욱 강력해진 숙련 주간이 시작되었다. 어제의 시험과 개인 과제를 기준으로 걷기/달리기 반이 편성되었는데 나는 달리기반으로 숙련 주간을 달리게 되었다. 저번 주간과 마찬가지로 시험과 개인 과제가 있고, 조금 다른 점은 개인 과제가 Lv1과 Lv2로 나뉘어 있다는 점이다. Lv1 만 제출해도 괜찮지만 개인적으로 Lv2까지 마무리하는 게 목표! 또 다른 이번 주간의 개인적인 목표는 '조원들과 코드 리뷰하기'이다. 아무래도 개인과제이다 보니 저번 주간에 리뷰를 할 시간이 많지 않았는데 이번엔 꼭 서로의 코드를 보며 어떻게 설계하고 구현했는지 이야기해볼 수 있으면 좋겠다. 다음은 이번 주간의 세부 일정이다. 12/03 (토) 13:00 ~ 14:0..