본문 바로가기

Back-end/카카오테크캠퍼스15

[카카오테크캠퍼스] STEP2 회고 카카오테크캠퍼스 2단계 회고를 써보고자 한다. 카카오테크캠퍼스 2단계는 방학 6주간 이루어졌다.주요 활동을 먼저 정리해보겠다! 주요 활동과제과제는 카카오톡 선물하기의 서버를 클론코딩하는 것이었다. 6주간 개발하는 것이고, 한주한주 구현해야하는 범위가 정해져있었다. 또한 그 안에서도 3가지 파트로 나뉘었다.그래서 1주일 내에 해야 할 과제가 총 3개였다.과제 하나를 하고 바로 다음과제를 할 수 있는 것이 아니라, 내가 과제를 완료하고 pr을 날리면 멘토님이 내 코드를 보시고 코드리뷰를 달아주신다. 내가 이를 수정해서 다시 pr을 날리고, 이를 멘토님이 merge해주시면 다음 과제를 할 수 있게 된다. 멘토님께서 바쁘시면 merge가 미뤄지기도 하고, 과제가 어려운 경우도 있어서 세 과제를 금요일까지 다 하.. 2024. 11. 25.
[카카오테크캠퍼스] 3단계 개발 3주차 회고 이번 주는 개발 대신 멘토링과 재정비를 했다.멘토링 내용Fork 뜨지 않고 작업하기깃 충돌 관련해서 여쭤보다가 멘토님께서 카테캠에 있는 레파지토리에서 각자 fork해서 작업하고 pr을 날리는 지금 로직보다는카테캠에 있는 레포를 그대로 로컬에 clone해서 각자 브랜치에서 작업하고 pr을 날리는 것이 더 좋을 것 같다고 하셨다.이제까지는 당연히 fork를 해야하는 줄 알았는데, 신기했고 막상 해보니까 더 깔끔하고 좋은 것 같다.이런식으로 각자 파트에서 주차별로 브랜치를 만들고, 머지되면 해당 브랜치는 삭제 할 예정이다. 외부 api를 사용하는 파일의 네이밍 고민내가 담당한 파트에서는 외부 api인 open api를 사용하는 부분이 있다. 아무래도 이 부분은 현재 내가 구현하고 있는 도메인과는 분리해야할 것.. 2024. 10. 14.
[카카오테크캠퍼스] 3단계 개발 2주차 회고 이번 주는 엔티티 생성을 하기로 하였다. 회의내역백,  프론트 회의API 문서와 기능명세서의 필드 종류가 다르다공고글 부분에서 필드가 기존 형태와 다른 문제가 있었다. 이 부분은 내가 담당한 부분이라 필요한 필드를 결정해서 모두 api명세서에 반영하였다. 번역 기능을 백엔드측에서 해주어야 할 것 같다.프론트엔드 측에서 찾아본 결과 고정된 문구는 번역이 가능하지만, 백엔드에게 받아 띄우는 데이터는 번역이 어려울 것 같다고 하셔서 이 부분도 백엔드 측에서 해주면 좋겠다고 하셨다. 메인 기능과 부가기능 구별개발 할 때 메인 기능과 부가기능을 구별하는 것이 좋을 것 같다는 의견이 나와서 다같이 구별해보았다.우리 기능 중 번역 기능과 근로계약서를 잘 쓰는 사장님에게 뱃지를 주는 기능은 부가기능으로 설정하기로 하였.. 2024. 10. 4.
[카카오테크캠퍼스] 3단계 개발 1주차 회고 3단계가 시작되고 2주간은 최종적인 기획을 완료하는 시간을 가졌다. 우리 팀은 기획은 탄탄히 해두어서 이제까지는 별로 할 일이 없었다.하지만 이번주부터 본격적인 개발 시작이다! 열심히 해야겠다.ERD설계, API 설계아 2주차 때 erd와 api설계를 했다. 데이터베이스에서 배웠을 때에는 정말 어려웠는데, 저번 프로젝트 때 한번 경험해보니까 너무 쉬웠다. 역시 경험이 중요한 것 같다. 데이터베이스 설계는 위와 같이 구성하였다. 다소 복잡하다ㅜㅜ데이터베이스 설계는 백엔드끼리 했다. 그 다음 api설계를 했다.이런 식으로 다 작성해두었다. 생각보다 고려해야 할 점이 많았다. 우리가 해결해야 할 것은 구인글을 조회할 때 모든 정보를 반환할 때랑 개인별 정보를 반환할 때랑 endpoint가 같다는 것이다. 처음.. 2024. 9. 19.
[카카오테크캠퍼스] 5,6주차 과제 코드리뷰 정리 5,6주차는 카카오 로그인와 배포라 피드백이 많이 없어서 합쳤다. code를 yml파일에 넣어서 깃허브에 올리지 않도록 한다.카카오 로그인을 구현할 때 code와 client_id가 필요하다. 그런데 이 값을 깃허브에 올리게 되면 보안상 많은 문제가 생길 수 있다. 그래서 이런 정보는 yml파일에 넣어서 git에 올라가지 않도록 해아한다. api에 들어가는 body는 dto로 만들어서 관리하자.나도 처음에는 이러한 방법으로 구현하려고 했으나, 왜때문인지 잘 되지 않았다.그래서 이 부분에 대해서 팀원분들께 여쭤보았더니 마침 같은 문제로 고민하다가 해결하신 분이 코드를 알려주셨다. 이 부분에서는 dto를 바로 넣으면 안된다. map 형태로 넣어야 하기 때문이다.ObjectMapper objectMapper .. 2024. 9. 9.
[카카오테크캠퍼스] 4주차 과제 코드리뷰 정리 내 질문Q1. menu 수정 메서드를 필드별로 구현해야할지 아니면 지금처럼 menu 전체를 수정하는 메서드로 구현해도 괜찮은지A.요구사항에 따라 다르다. 한꺼번에 수정하는 것이 주요하다면 통으로, 각각 나누어 수정하는 경우가 갖다면 나누어 구현하는게 좋다. Q2. 객체 생성을 위한 DTO와 수정을 위한 DTO를 따로 만들어야 하나요A.이것도 경우에 따라 다른데 이와 같은 고민이 드는 경우라면 분리하는 것이 좋다. Q3. 메뉴를 추가할 때 카테고리 객체 통째로 받는게 좋을지 아니면 카테고리 id만 받는게 좋은지A.카테고리 id는 같지만 이름이 다른 객체가 들어오면 곤란해진다. 이런 문제도 있고, 클라이언트의 편의를 위해서 id만 전달하는 것이 좋을 것 같다. 피드백Rest api prefix 변경이건 칭찬.. 2024. 9. 3.