📝 TIL

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

    [TIL] 4주차 주특기 심화ㅣSpring Security

    주특기 심화 주간 개인 과제 우리 조는 Lv1까지 개인이 구현하고, Lv2부터 함께 협업하기로 했다. Lv1의 주제는 Spring Security이다. 🚩 Goal: "Spring Security를 적용한 나만의 항해 블로그 백엔드 서버 만들기" 현재 JWT로 구현되어 있는 회원가입/로그인 기능에 Spring Security를 덧붙이면 된다. Spring Security 적용 4단계 일단 gradle에 Security 관련 의존성 추가 WebSecurityConfig 생성 UserDetailsImpl, UserDetailServiceImpl 생성 비밀번호 bcrypt로 암호화 CustomSecurityFilter vs jwtAuthFilter 우리의 프로젝트에서는 토큰을 사용해서 인증/인가를 구현했습니다..

    [TIL] 4주차 주특기 심화ㅣ주간 시작

    주특기 심화 주간 시작 주특기 주간의 마지막인 심화 주간이 시작되었다. 이번 심화 주간의 학습 목표는 다음과 같다. 팀원 간 서로 코드를 적극적으로 공유하고 피드백을 받아 보세요. 면접에서 여러분에게 요구하는 것은 현업 개발자처럼 코드를 짜는 것이 아닌 자신이 쓴 코드에 이유가 있는 것입니다. 최대한 자신이 코드를 이렇게 작성한 이유를 말할 수 있는 기회를 만들어주세요! 이번 주차는 주특기마다 집중하셔야 하는 키워드들이 다릅니다! Spring: API 개발 & 테스트 코드 (실제 서버 개발자가 어떻게 일하는지 간접 경험을 해봅니다!) FE-BE 간의 협업은 다음 주에! 이번 주에는 주특기끼리 협업을 해봅시다! 위와 같은 목표를 가지고 이번 주간을 달릴 예정이다. 이번 과제는 팀 단위로 진행해야 하는데, ..

    [TIL] 4주차 주특기 숙련ㅣSpring 시험

    주특기 숙련 Spring 시험 오늘은 JPA 연관관계를 매핑하는 문제가 출제되었다. 문제는 총 4문제, 시간은 4시간. 순서대로 N:1 단방향, N:1 양방향, 1:N 단방향, N:M을 다대다 사용하지 않고 구현하기가 나왔다. 1) 다대일 단방향 연관관계(N:1) 여러 책(Book)들이 하나의 서점(BookStore)에 속할 수 있으므로, 다대일 관계를 적용한다. 다대일 관계에서는 '다'에 외래키가 있어야 한다. 따라서 Book 객체에서 BookStore 객체를 필드로 만들어 참조하도록 만든다. @JoinColumn : 조인 컬럼은 외래 키를 매핑할 때 사용한다. name 속성에는 매핑할 외래 키 이름을 지정한다. 이 어노테이션은 생략할 수 있다. // /com/exmple/spring_week_2_te..