Lumpy Space Princess - Adventure Time
대외활동/GDG Campus Korea x 왓에버 챌린지

[GDG Campus Korea X 왓에버] Whatever You Make - 2주차 회고록

yaebb_82 2023. 9. 10.

 

 

이번주는 좋은 것과 나쁜 것이 무엇이 있었나요?

😃 좋은 것

  • OT이후 처음으로 팀원들과 오프라인 미팅을 가졌는데, 확실히 온라인에서 보다가 오프라인으로 보니 더 반가웠던 것 같다. 막차가 끊긴 줄 알고 택시를 타려고 했는데, 다행히도 좌석버스가 남아있어서 집에 안전귀가 할 수 있었다. (하지만 도착하니 새벽 1시 반...🥲)
  • 와이어프레임을 기반으로 기능 명세서를 작성하면서 서비스의 모든 로직이 결정되었다. 이젠 더 이상 바뀌지 않았으면 좋겠다🙏
  • 안드로이드 회의만의 낙이 생겼다. 회의할 때마다 기록용으로 매번 사진을 찍는데, 포즈가 점점 발전한다. 과연 다음 번 포즈는..?!?!

 

😟 나쁜 것

  • 이번 주 막바지에 기능 명세서를 확인하다가 아이디어의 구멍을 발견하게 되어 정신없이 회의만 했던 것 같다. 나름 Git Flow도 연습해보겠다고 멘토님께 도움을 요청해서 과제도 받았는데, 자꾸만 미뤄지고 있어서 죄송할뿐이다...
  • 요즘 아침 저녁으로 선선한데 뭣도 모르고 창문을 열고 잤더니 코감기에 걸려버렸다... 매번 "건강하게 코딩하자!!" 를 다짐하는 것 같은데 몸은 다짐을 하지 않는 것 같다.

훌쩍.

 

 

 

이번주 진행했던 학습/개발 내용은 무엇이었나요?

• 사용할 API 결정

본가 주소(좌표), 막차 시간 등을 알기 위해 API를 활용해야 하는데, 어떤 API를 활용하면 좋을지 고민해봤던 것 같다. 본가 주소 같은 경우에는 일반적으로 많이 사용되고 있는 '다음 검색 API'를 사용하기로 했다.

 

문제는 막차 시간이었다. 기존 기획에서는 버스+지하철 모두 제공해주는 것을 목표로 했었는데, 버스 막차 시간을 알기가 어렵다는 문제로 지하철만 제공해주는 걸로 기획을 바꿨다. 길찾기와 지하철 관련된 정보를 한 곳에서 제공해주면 좋겠다 싶었는데, 찾아보니 다행히도 'ODsay'라는 API가 있어서 사용하기로 했다.

 

사실 'ODsay' 안에서도 여러 API를 호출했었어야 했는데, 처음에는 안드로이드 쪽에서 호출하기로 했었어서 '오.. 꽤나 복잡하겠군?' 싶었다. 그러다가 회의를 하다보니 백엔드 쪽에서 호출해서 안드로이드로 데이터를 넘겨주는 방향으로 결정이 되면서, 백엔드가 할 일이 아주 없진 않겠구나... 싶었다.  (모두 화이팅🔥)

 

 

• 기능 명세서 수정

기능 명세서가 이전 기획에 맞춰져 작성되어 있었기 때문에, 오프라인 미팅으로 다같이 모인 김에 와이어프레임을 기반으로 다시 한 번 기능 명세서를 살펴보았다. 기능 명세서를 정리하면서 약간 소름이 돋았던 것은, 뒤늦게 확인했다면 큰일날 뻔한 구멍들이 몇몇 있었다.

 

특히 사용자가 지하철을 타야하는 시간을 계산하는 로직을 구상하는 것이 꽤 어려웠다. 다행히도 팀원분께서 모든 예외들을 고려한 로직을 구상해주신 덕분에 지금의 아이디어를 유지할 수 있었다.

 

 

• 기능 담당 분배

기능 명세서가 완성되고, 안드로이드 팀원들끼리는 어떤 기능을 담당할 건지 분배하는 시간을 가졌다. 분배하기 이전에 각자 어떤 부분에 조금 더 관심을 갖고 있는지 얘기를 나눠보았는데, 생각보다 겹치지 않아서 좋았던 것 같다.

 

회의를 통해서 적절하게 기능을 나눴다고 생각하고, 위의 사진이 내가 맡은 기능들이다. 누군가가 보면 '어? 생각보다 별거 없는데?' 라고 생각할 수 있겠지만, 당장 남은 기간과 한 번도 해보지 않은 MVVM, FCM 등을 생각해보면... 눈물이 앞을 가린다.

그러게...

 

 

 

가장 고민을 했던 부분은 무엇이었나요?

• 패키지 구조

멘토님과 원온원을 하면서 Base Setting에 대해서 많은 조언을 구했던 것 같다. 특히나 package 구조를 짜는게 조금 어려웠었는데, 생명줄 같은 멘토님의 피드백 덕분에 조금은 욕심을 덜고 구조를 짤 수 있었다.

 

• 로직 결정

아무래도 'ODsay' API를 가지고 로직 짜는게 제일 고민이었던 것 같다. 'ODsay' 안에서도 여러 API를 사용하다보니 각각 필요한 데이터나, 결과값으로 주는 데이터가 다 다르다 보니 정리가 좀 필요했고, 특히나 시간 로직 짜는게 굉장히 머리가 아팠다...😵‍💫 나는 아무리 생각해도 답이 안보였는데, 팀원분께서는 뚝딱뚝딱 로직을 생각해내셔서 그저 신기할 뿐이었다...

 

• Git

정말 Git은 알다가도 모르겠다. 아니, 그냥 모르겠다. 직접 Base Setting을 한 적은 이번이 처음이라 정말 떨렸었는데, 역시나 실수를 하고 말았고, 실수 말고도 궁금한 점이 있어서 바로 멘토님께 SOS를 요청하게 되었다.

 

PR을 날렸을 때 자동으로 Issue가 닫히지 않는 문제가 있었는데, develop 브랜치를 default로 바꾸면 끝나는 것이었다. 생각보다 해답은 간단했지만, 이것 저것 시도해보다가 merge된 PR을 revert를 하게 되었고, 그 과정에서 Base Setting한 것들이 날라가는 이슈가 발생하게 되었다. 순간 눈을 의심했지만 그것은 현실이었고, 깔끔하게 다시 repository를 만드는 지경까지 이르렀다. (인생 뭐하나 쉬운게 없냐~)

 

(그리고 이전 프로젝트에서 main 브랜치에 PR, Issue 템플릿이 설정되어 있어서 이번에 똑같이 설정했었는데, 멘토님께서 develop에 설정하는 것이라고 알려주셨다. 이렇게 또 하나 새로운 지식을 알게 되었다!)

 

 

 

아쉬운 부분을 개선하기 위해서 필요한 것은 무엇인가요?

Git에 대해서 좀 많이 공부를 해야겠다 싶은 한 주였다. 작업하다가 Git으로 처리해야 될 일이 있을 때 만약 모르는 부분이라면, 구글링으로 충분히 공부해보고 바로 프로젝트에 적용시키는 것 보다는 따로 repository를 파서 개인적으로 연습해본 다음에 적용해야 겠다는 생각이 들었다.

 

그리고 push나 merge를 하려고 마음먹었을 때 한 번 더 검토하는 습관을 들여야겠다는 생각을 하게 되었다. Base Setting 할 때 나름 여러 번 확인했다고 생각했었는데, 오류가 발생했던 부분이 있어서 좀 놀랐다. 다행히도 팀원분께서 발견해주셔서 빠르게 수정했지만, 중요한 기능적인 부분에서 이런 문제가 발생하게 된다면 꽤 아찔할 것 같다.

 

 

 

다음주는 어떻게 보낼 예정인가요?

기능 담당을 분배했기 때문에 맡은 기능들에 대해서 나만의 우선순위를 매겨야 할 것 같다.

그리고 남은 시간이 많이 없기 때문에, UI 작업하면서도 해보지 않은 MVVM이나 FCM 관련해서 계속 공부를 해야겠다는 생각이 들었다. 

 

 

반응형

댓글