오늘의 개발

    [TIL] 5주차 미니 프로젝트ㅣ주간 시작

    미니 프로젝트 주간 시작 3주에 걸친 주특기 기간이 끝이 나고, 미니 프로젝트 주간이 시작되었다. 이번 주차는 드디어 프론트엔드와 백엔드가 만나 협업하는 시간! 나는 이번 주차에 팀장을 맡게 되었다. 긴장되기도 하지만.. 동시에 설렘 가득이다. 세부 일정은 다음과 같다. 12/16 (금) 19:00 까지 : S.A. 제출 완료 12/16 (금) 21:00 : 스프링 & 리액트 협업 세션 12/17 (토) 오후 : S.A. 서면 피드백 확인 12/19 (월) 저녁 : 팀별 프로젝트 중간 멘토링 12/22 (목) 19:00 까지 : 미니 프로젝트 완성본 제출 12/22 (목) 저녁 : 팀별 프로젝트 회고 발표 기획 회의 1. 프로젝트 주제 프로젝트 이름 : 감자마켓 - 감사합니다 자알쓰겠습니다-! 프로젝트 ..

    [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]만 적용해보기로 했다. 나도 완벽히 안다고 할 순 없지만 최대한 내가 아는 선..

    [WIL] 항해99 4주차 회고ㅣ주특기 숙련

    이번 주 톺아보기 2022.12.05 [TIL] 4주차 주특기 숙련ㅣ조각모음 2022.12.06 [TIL] 4주차 주특기 숙련ㅣ댓글 CRUD API 2022.12.07 [TIL] 4주차 주특기 숙련ㅣ권한부여, 예외처리 2022.12.08 [TIL] 4주차 주특기 숙련ㅣSpring 시험 2022.12.09 [TIL] 4주차 주특기 심화ㅣ주간 시작 2022.12.10 [TIL] 4주차 주특기 심화ㅣSpring Security 😀 잘한 점 완성도 있게 해낸 과제 숙련 주차에서 목표했던 Lv2까지 주어진 요구사항에 맞춰 모든 기능을 구현했다. 초반에는 마음이 급해서 동작이 되는 것에 집중했지만, 이후 리팩토링을 하며 깔끔한 코드를 작성하기 위해 노력했다. 특히 예외처리 같은 부분은 요구사항에만 국한되지 않고, ..

    [Postman] 포스트맨 Token 환경변수에 자동 설정하기

    요즘 API 테스트용으로 포스트맨을 이용하고 있다. 화면 없이도 응답 값을 확인할 수 있어 참 편하고 좋은데, 로그인 후 Token 값을 인증이 필요한 모든 요청 header에 매번 넣어주는 게 귀찮아서 자동 설정을 해보려 한다. 기존의 테스트하는 방법 jwt를 이용한 로그인은 대부분 이런 방식으로 테스트할 것이다. 라우트로 로그인 요청을 보낸다. 응답받은 값의 header에서 Token 값을 복사한다. (예시는 Bearer 토큰) 인증이 필요한 다른 라우트에 요청을 보낼 때, header에 Token 값을 붙여 넣기 하여 보낸다. 라우트가 한두 개도 아니고, 여러 개 늘어나다 보면 이 과정이 굉장히 귀찮아진다. 변수 설정을 통해 자동으로 동작하도록 설정해보자. 포스트맨 Token 환경변수 자동 설정 1..

    [Java/프로그래머스] K번째 수

    문제 풀이 (1) 문제 분석하기 정답 배열의 길이를 입력받은 commands의 길이로 설정 입력값이 2차원 배열로 주어지므로 반복문을 돌면서 연산 배열을 특정 인덱스로 자르기 위해 Arrays.copyOfRange 사용하여 원본 배열 복사 Array.copyOfRange(array, startIndex, lastIndex) int[] array = {1, 2, 3, 4, 5}; int[] result = Arrays.copyOfRange(array, 1, 4); // result : [2, 3, 4] // 마지막 인덱스 포함X (2) 슈도코드 작성하기 int형 정답 배열의 길이를 commands의 길이로 설정 for(commands의 길이만큼) { commands의 0, 1, 2번째 수를 변수에 담음 배..