아마 내 분량의 API 개발은 해당 주차에 다 마무리 될 것 같다..
이제는 백엔드 간 코드결합과
완료되면 프론트를 돕고, 프론트와 결합하고 ..
하는 한 주가 될듯하다.

별 탈 없이 합칠 수 있게 해주세요~ -.-
개발하며 지연로딩을 하는 이유와 Fetch Join을 하는 이유에 대해 새롭게 알게되었다.
확실히 프로젝트를 하며 얻어가는 지식이 많은 듯 하다.
기술적으로 깊어지려면 공부가 필수적이지만서도,
시작하는 단계에선 학문적 공부보단 한 번의 프로젝트가 훨씬 큰 학습효과를 주지 않을까 하는 생각이 든다.
내 담당 API 백엔드 개발을 어느정도 완료했던 찰나 ...
검증을 제대로 안했단걸 느꼈다.
서비스 단에서 일어나는 예외처리만 진행하고, 값에 대한 검증 자체를 진행하지 않았단걸 깨달았다.
호다닥 유효성 검증을 진행하고, 처음 사용하는 개념인 만큼 유효성 검증에 대해 정리하는 포스팅을 작성하였다.
그리고 오늘로 백엔드 개발 내 파트를 마무리 했으므로..
이제 프론트엔드 개발에 붙어야 한다.
리액트는 잠깐 공부만 깔짝하고, 프로젝트 레벨에선 사용한 적이 없기 때문에 아마 부딪혀가며 사용하고 배워야 할듯 하다.
이전에 React에 대해 공부한 내용을 블로그에 정리해두었는데,
React의 기능 하나하나에 대해 왜 사용해야 하고, 언제 사용해야 하는지를 위주로 정리해둔 글이라 그런지 생각보다 내용이 쏙쏙 잘 들어와서 도움이 됐던 것 같다.
그리고 사소한 이슈가 하나 있었는데
react에서 className을 사용하면, css 적용이 전역적으로 되는 것을 모른채 이때까지 프론트 퍼블리싱이 진행됐던 것이다.
이제껏 className이 겹치지 않아 이를 몰랐던거 같은데, 백엔드 개발을 끝낸 사람들도 프론트로 합류를 하다보니 이 이슈가 이제 수면위로 올라온듯 하다.
그래서 이 기회에 react의 특성에 대해 알았고, 우린 결국 styled-component를 사용하기로 하였다.
이것 또한 내가 이전에 정리해놓은 react 글 중에 해당 내용이 있어, 해당 내용을 토대로 의견을 주장하였다. 정리해놓은 포스팅이 이렇게 다방면으로 활용되는 모습이 아주 뿌듯해진다 ^_^
어쨌든, 중간에 백엔드를 합치며 에러를 잡고, 테스트 코드도 작성하겠지만
당분간은 프론트에 붙어 프론트 개발속도에 가속을 붙여주는 것에 집중해야 할거같다.
화이팅!
오늘부터는 프론트를 했다.
정확히는 퍼블리싱을 진행했다.
당초 계획했던 대로, 3명의 백엔드가 훨씬 작업이 빠를 것으로 예상했기에, 1명의 프론트 팀원이 디자인을 그려놓고 프론트를 하고있으면, 백엔드 팀원들이 작업을 빨리 끝내고 합류하는 그림으로 진행하였다.
나는 자녀페이지를 담당하여 퍼블리싱하였는데, 이때까지 프론트로 프로젝트를 주로 진행했다 보니, 익숙한 퍼블리싱이었지만 가장 다른 점이라하면
내가 디자인 하고 내가 퍼블리싱 하는게 아닌, 이미 다른 사람이 만들어 놓은 디자인을 화면에 그려주기만 하는 진짜 퍼블리싱을 이번 프로젝트땐 해본 것 같다.
그래서 이번에 중점을 맞춘건, 디자인적인 내 주관은 빼 놓고, 정말 단순히 설계 되어있는 디자인을 최대한 그대로 옮겨내는 작업 자체에 주안점을 두고 하자는 것이었다.
그래서 퍼블리싱을 진행하면서 지속적으로 디자인을 담당한 프론트 팀원분에게 의견을 여쭸고, 그러면서 또 이제껏 많이 퍼블리싱을 해왔지만 새로운 느낌을 느꼈다.
백엔드 개발을 하다가 화면을 그리니 꽤나 재밌게 진행했던 것 같다.
딱히 기술적으로 정리할만한 내용은 없었지만 말이다.
그리고 오늘부터는 팀원들의 일정관리, 즉 데드라인 설정을 다시 재정비했다.
팀원들별로 각자 이번주 내로 각자의 Task를 마무리하기로 하였고(주말을 사용해서라도)
다음주부턴 각 분야별로 연동(프론트<->게임, 프론트<->백엔드)과 WEB RTC구현을 하기로 하였다. 마찬가지로 이 부분도 일주일을 통째로 잡았는데, 연동이란 것이 한번 터져버리면 어마무시한 폭탄으로 변모하기 때문에 1주일을 통으로 잡고 잘 합쳐보자 얘기했다.
그리고 이상적으로 그렇게 마무리 된다면. 월요일에 마무리 배포를 하여 남은 시간은 발표준비에 힘 쓸 수 있을 것으로 예상되었다.
확실히 시간을 들여 일정 재정의를 하고 데드라인을 설정해보니, 마냥 시간이 넉넉하게 느껴지진 않는단걸 느꼈다.
프로젝트가 진행되고 팀원들의 집중력이 떨어질수록, 일정을 더욱 상세히 분리하고 데드라인에 대해 상기시켜주는 작업을 반복해야겠다고 느꼈다.
백엔드 대통합을 진행했다.
기존에 각자 Domain별로 분담을 해서 진행한걸 합치고, 통합적으로 api 테스트를 돌렸다.
음.. 사실 도메인 별로 분류를 해놓고 합친거라서 크게 이슈는 없었지만?
느낀점은 있었다.
첫번째는 사실, 개발하면서 개발하기 편한 방향으로 튼거같기도 한데, 뭔가 개발을 시작하기 전 했던 말들은 결국 개발을 하며 구체화가 되고, 현실적으로 가능한 레벨까지 타협을 볼 수 밖에 없구나 싶었다.
두번째는, 팀원들의 api를 내가 테스트하며 느낀거다. 팀원들이 본인들의 코드를 직접 테스트 하는걸 보고 느낀건, 예외사항이나 다양한 상황에 대한 테스트가 아닌, 정상적으로 돌아가는 상황에 대해 테스트 한다고 느껴졌다. 그래서 내가 테스트를 한다한 뒤 이상값들을 넣으며 테스트를 해봤는데 생각보다 그에 대한 대비가 부족했다고 느꼈다.
그래서 조금 더 시간을 써서 해당 부분까지 보충한 뒤 백엔드 통합을 마무리 지었다.
더불어 나의 코드에 대해서도 다시 생각해보게 되었다. 당연히 나의 코드도 허점이 많고 모든 상황에 대비가 안되어있지 않겠는가, 결국 최대한의 노력으로 대비하고, 끊임없이 점검하며 부족한 부분을 채워나가는 수 밖에 없다고 생각했다.
이제는 백엔드 기능개발이 마무리 되었고, 이전 주차(설계단계)에서 언급했듯, 백엔드 모두가 프론트로 가야 할 시간이다.
나는 조금 일찍 끝낸 편이라, 퍼블리싱 작업부터 조금씩 도왔는데, 이제 axios 공장장을 돌릴 차례다.
그 전에 팀원들에게 로컬로 해서 돌리지 말고 백엔드를 먼저 배포하고 프론트 작업을 하자고 제안했다.
이유는 간단한데, 백엔드(로컬) + 프론트(로컬) 세팅으로 기능 개발 및 테스트를 하고 배포를 하는 것 보다, 백엔드(배포) + 프론트(로컬) 세팅으로 기능 개발 및 테스트를 하고 프론트만 배포하는게 훨씬 효율적일거라 생각했다. 백엔드 서버가 성공적으로 배포가 완료됐다면, 사실 프론트에선 그에 대한 이슈가 크게 없을거라 생각했다. CORS 에러도 그렇고 굳이굳이 url을 바꿀 필요도 없고, axios통신을 할때 이미 확정되어있는 서버로부터 데이터를 받는 작업이니 말이다.
그래서 일정을 살짝 변경하여 오늘 하루를 다 써 백엔드 배포를 완료했다.
DB Encoding 이슈 등 살짝 애먹는게 있었지만, 우리의 인프라 팀원이 워낙에 능력자라.. 내가 크게 관여한거 없이 이슈가 해결되고 배포가 완료되었다.
axios 공장장을 한 것 이외에 딱히 언급할게 없는 주말이었던 것 같다.
다음주가 사실상 개발 마지막 주차이기 때문에, 다음주에도 조금 불편하겠지만 팀원들에게 일정에 대한 푸시를 해야겠단 생각이 든다.
지금까지 굉장히 만족스럽고, 잘 해왔다고 느끼지만... 마무리를 잘 짓지 못한다면 아무런 소용이 없다. 사실상 개발적으론 다가오는 주가 마지막 주간이기 떄문에, 내가 더 정신차리고 한 발 더 뛰며 팀원들과 함께 좋은 마무리를 맞이 할 준비를 해보자.
체력도 그렇고, 정신적으로도 이제 많이 지쳐 너덜너덜해졌지만, 이런 상황일수록 팀장이 더 힘을 내야한다. 화이팅이다 !!!