내일배움캠프(111)
-
[뉴스피드] 팀 프로젝트 회고
이미 한 번 발표전 개인적으로 회고를 진행했지만 캠프쪽에서 제시한 'KPT 회고 방법론' 을 적용해 이번 프로젝트(NewsFeed)의 개인 회고 기록을 남겨보려 한다. 1. Keep '팀원과의 소통' 을 유지해보려 한다. 이전에도 '기획' 의 중요성을 기록할 때 '기획' 이 없을 때 생기는 문제가 있어 '기획' 의 필요성을 느꼈다 했는데, '기획' 만으로 해결되지 않을 수 있다는 것을 알게 되니 더욱더 '팀원과의 소통' 이 중요하다는 것을 알게 되었다. '기획' 이 있음에도 이걸 이해는 방식은 사람마다 모두 다르기에 이를 맞추려면 '소통' 이 필요하다. 그렇기에 두려워하지 말고 팀원과의 지속적인 소통을 하려는 자세를 유지해보려 한다. 2. Problem2-1. 프로젝트 간 느낀 문제점 아무리 협업이 처..
2024.10.24 -
[뉴스피드] 와이어 프레임의 중요성
프로젝트 발제 이후 팀원들과 회의를 통해 팀 노션을 작성하고 프로젝트에 사용할 API 명세서 및 ERD 를 작성했다. 하지만 '와이어 프레임' 의 경우 모두 "작업을 하다보면 나오겠지" 라는 말을 하며 작성을 하지않고 주말에 각자 맡은 파트를 구현했다. 하지만 나의 경우 막상 구현을 하려니 고민되는 사항이 너무 많았는데, 그 원인은 바로 '기획' 의 부재였다. 그렇다 과제로 요구사항이 주어졌으나 이를 따로 정리하지 않았고 또한 와이어 프레임을 작성하지 않았기에 팀원간 공통적으로 정해진 것이 없어 구현에 애를 먹은 것이었다. 곧장 손으로 와이어 프레임을 그려보고 이를 토대로 오늘 아침회의에 팀원들에게 의견을 제시했다. 급하게 작성한 터라 조잡하긴 했지만 팀원들에게 필요성을 느낀 이유를 담아 이야기했더니 고..
2024.10.21 -
[내일배움캠프] TIL - 24.10.16(수)
과제 제출전 마지막(?) 리팩토링을 진행했다. 아래에 리팩토링에 대한 내용을 작성한 게시물을 링크해 두었다. Access Token 재발급 및 관리자 계정 생성일정 날짜 추가 및 일정 CRUD 수정댓글 CRUD 수정마지막 리팩토링을 하고 끝났다 생각했지만 아직 반영 못한 부분이 있다 바로 댓글 수정/삭제에 대한 인가를 비즈니스 로직에 작성해둔 것인데 이 부분을 필터에서 처리해야 한다는 것을 리팩토링이 끝나고 파악해 버렸다. 일단 좀 더 프로젝트를 검수한 뒤 이후 받을 피드백과 함꼐 반영해야 할 듯 하다... ※ 참고 : 나는 TIL 작성 방식을 내가 학습하며 정리한 다른 게시글들과 하이퍼링크를 거는 방식으로 작성하였다. 학습한 내용에 하이퍼링크를 걸어두었으니 해당 링크를 통해 학습을 정리한 내용에 접근..
2024.10.16 -
[일정 관리 앱] 리팩토링(5)
마지막으로 댓글 관련 CRUD 를 리팩토링을 진행해 보려 한다. 댓글의 경우 댓글에 관련된 모든 요청에 인증이 필요하다. 하지만 그 외 요구사항에 크게 없어 스스로 판단해 반영한 내용이 다수 존재한다. 이번에 리팩토링한 코드는 여기서 확인이 가능하다. 0. Comment 엔티티 필드 변경 기존에는 작성자명(String author)을 사용했지만 이제는 작성자 ID(Long authorId) 를 저장하도록 수정하였다. 이렇게 변경한 이유는 댓글 삭제 및 수정시 대상 댓글을 작성한 회원만이 해당 댓글을 삭제/수정 할 수 있게 구현하다 보니 작성 회원이 맞는지 '검증' 이 필요했다. '검증' 에는 댓글 작성자의 'id' 와 요청 회원의 'id' 를 비교하는 방식을 사용하는 것이 적절하다 생각 필드를 수정하게 ..
2024.10.16 -
[일정 관리 앱] 리팩토링(4)
이번에는 '일정' 에 해당하는 CRUD 에 해당하는 로직들을 리팩토링 해보려 한다. '도전 기능' 요구사항을 반영하였기에 '일정' 에 '날씨' 필드가 추가해야 하고, 필터에서 인증/인가가 수행되므로 더 이상 요청시 쿼리 파라미터로 작성자(회원)의 'id' 값을 전달 받을 필요가 없어졌다. 이번 리팩토링으로 수정된 코드는 여기서 확인이 가능하다. 참고로 일정에 관련된 모든 요청은 '인증' 이 필요하고, '일정 수정, 삭제' 요청의 경우 '인가' 가 필요하다. 요구사항에 "일정의 수정 및 삭제의 경우 관리자 권한이 필요합니다" 라는 내용이 명시되어 있기 때문이다. 1. 일정 생성 일정 생성시 더 이상 쿼리 파라미터로 작성자의 정보(id)를 전달 받을 필요가 없다. 필터에서 '인증/인가' 를 수행후 요청 사용..
2024.10.16 -
[일정 관리 앱] 리팩토링(3)
원래라면 JWT 를 프로젝트에 반영하면서 부터 구현했어야 하는 것이 맞지만 이후 요구사항 반영을 위해 미루어 왔던 'Access Token' 재발급에 대한 내용과 '관리자(ADMIN)' 권한을 가진 관리자 계정에 대한 부분을 해당 게시글에 기록하고자 한다. 이번에 프로젝트에 반영된 내용은 여기서 확인이 가능하다. 1. Access Token 재발급 이전 게시물에서도 몇 번 언급했지만 과제에 주어진 요구사항에는 'Access Token' 에 대한 내용만 있을 뿐 'Refresh Token' 에 대한 내용은 없다. 하지만 이번 기회에 'Refresh Token' 또한 활용해보고 싶었기에 개인적으로 추가한 상태이다. Access Token 의 사용목적은 '인증/인가' 이며, Refresh Token 의 사용목..
2024.10.15