개발자
전 프론트엔드를 맡고있고, 현재 페이지의 학생 정보 등록 및 수정 기능을 상태관리(recoil)로 구현해놓았습니다. 백엔드쪽에선 수정,정보 등록 api를 설계한 상태인데, 이런 경우면 프론트쪽에서 이를 구현해 놓을 필요가 없었던 것인지.. 백엔드와 어떻게 협업을 해야하는지 잘 감이 안와서.. 여기에 질문을 올려봅니다…
답변 1
인기 답변
안녕하세요. 기능을 구현하기 위해 설계 단계에서 프로젝트에서 백엔드와 프론트엔드가 각각 담당하는 영역에 대한 역할분담이 필요합니다. 먼저 저는 백엔드 개발자로서 감히 의견을 말씀드린다면 DB의 데이터 수정은 front에서 직접적으로 하는것은 추후의 확장성이나, 보안문제로 좋지 않을 수 있습니다. 대게 프론트와 백엔드의 업무가 나눠져있는 것도 저 이유중 하나입니다. 그럼에도 만약 프론트에서 데이터를 수정하는 일이 필요하다는 가정하에 백엔드 개발자로서 프론트엔드 업무중 협의로 필요한 부분에 간단하게 생각나는 부분을 정리해보겠습니다. 1. 회원 도메인을 개발하기 위해 필요한 API들은 어떤것이 있는지 또한 설계한 각각의 API에 대한 진행도에 대한 공유가 필요합니다. 2. 프론트에서 DB에 접근하여 데이터 수정이 필요한 부분이 있을경우 해당 API에 대해 백엔드 엔지니어와 공유하고 협의를 진행합니다. 3. 프론트엔드 개발자는 특정 화면에 필요한 응답데이터 필드 (예. 학생의 전화번호, 이름 등등..)를 백엔드 개발자에게 요청합니다. 이후 백엔드 개발자는 해당 필드를 응답으로 보내기 위해 필요한 파라미터 데이터를 프론트 개발자에게 요청할 것입니다. 4. 데이터를 가져온다면 어떠한 형식으로 가공을 해야하는지, 백과 프론트중 어디에서 데이터를 가공할 것인지 또한 협의방안일 수 있습니다. 만약 백엔드 개발자가 해당 필드를 DB에서 가지고 있지 않거나 하는 모종의 이유로 데이터를 줄 수 없다면 대체할 데이터를 어떤것을 할것인지 와 같은 이유로 협의를 진행할 수있습니다. 그 외에 프론트엔드와 백엔드 개발자의 협의할 부분은 많겠지만 간략하게 정리한다면 이정도가 되겠네요. 너무 어렵게 생각하지 않으셔도 됩니다. 질문자분께서 업무를 진행하기 위해 필요한 궁금한것을 협업하는 백엔드 엔지니어에게 물어보시면 됩니다. 또한 질문자분께서 백엔드 엔지니어에서 어떤방식으로 일을 진행하는지, 내가 요청한 응답데이터를 어떤 데이터형식으로 뿌려줄지 모르고있다면 상대방도 마찬가지로 질문자분께서 어떻게 파라미터를 요청해줄지 어떻게 일을 진행하고 어디까지 진행하였는지 모릅니다. 서로 커뮤니케이션을 하는것이 가장 중요하다고 생각합니다. 간략하게 API의 개발 일정에 대해 서로에게 공유하고 업무 진행방식을 미리 협의했더라면 프로젝트를 진행하시는데 더 좋은 방향이 되었을것 같네요
익명
작성자
2023년 09월 04일
친절한 답변 정말감사합니다. 이렇게 팀 프로젝트는 처음이라 어디까지가 프론트에서 구현을 해야하는지 그 경계가 모호하게 느껴지더라고요.. 이부분은 백엔드쪽에서 해야하는건지? 프론트에서 해야하는건지.? 그래서 일간 백엔드쫃에서 api 설계서를 작성해서 올려주시긴 했는데.. 이런건 무조건 협의를 해야겠군요 ㅎㅎ
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!