[내일배움캠프 62일차] 날씨 앱 팀프로젝트8

NH·2025년 5월 28일

내일배움캠프

목록 보기
62/62

🫂 팀 프로젝트 진행!

오늘은 프로젝트 마지막날!
리드미 작성과 발표자료 준비, 그리고 KPT 회고를 진행했다.

리드미 작성

  • 프로젝트 리드미를 작성했다.

발표자료 작성

  • 이번 프로젝트는 내가 발표를 맡게되어 발표자료 제작.

퍼스트파티 팀 KPT 회고

Keep Problem Try

Ch. 3 앱개발 심화 주차

12 - 13 주차

  • 과제: 날씨 앱 - 봄여어름갈겨어울

MVVM 과 RxSwift를 이용

  • 앱 기능
    1. 날씨 1-1. 현재 날씨
    • 사용자 위치 기반 현재 날씨 데이터 표시

      1-2. 3시간 예보

    • 3시간 단위의 기온과 날씨 표시

      1-3. 5일간 날씨

    • 5일간의 하루 단위 최저, 최고 기온과 날씨, 강수량을 표시

      2. 옷 추천

    • 현재 날씨 데이터를 기반으로 어울리는 옷 추천 (예: 더운 날씨에는 반팔 반바지)
      - 비와 눈 예보을 먼저 확인 후 옷 추천
      - 각 온도에 맞는 옷차림 16가지 추천

      3. 주소 검색 기능

    • 검색 화면에서 주소를 검색기능

    • 검색한 주소를 선택 시, 사용자의 위치가 선택한 주소로 변경

    • 주소가 변경되면서, 변경된 주소의 날씨 데이터를 보여줌

      4. 섭씨, 화씨 변경 기능

    • 설정 화면에서 섭씨, 화씨 변경 가능

      5. Pull to Refresh 기능

    • 화면을 위로 잡아 당기면, 날씨 데이터가 새로고치 됨

느낀점 ( 3줄 이상 )

  • 명노훈 - Swift 를 공부하면서 위치관련 기능 사용을 처음 해보았습니다. 처음 접한 만큼 시행착오도 많이 겪었고, 그로인해서 위치관련 기능 사용에 조금은 능숙해진 것 같습니다. 또 , MVVM 구조를 사용하면서 View와 ViewModel 간 데이터 바인딩에 익숙해 졌고, RxSwift와 좀 더 친해진것 같아서 팀 프로젝트를 마치고 돌아봤을때 너무 뿌듯했습니다!!
  • 김보미 - 협업은 ‘분업’보단 ‘조율’이라는 사실을 체감했다. 각자 역할을 잘 수행하는 것도 중요하지만, 서로의 결과물을 연결하는 맥락을 맞추는 작업, 그리고 사용자 경험이나 기술스택 등 공통된 기준을 중심으로 각자의 의견을 조율하는 과정이 중요하다고 느꼈다.
  • 최규현 - CollectionView이거 매 과제마다 쓰고 있는 거 같은데 아직도 마주할 때마다 초면인 느낌이네요. 그 와중에 MVVM 패턴도 적용시켜야 하는 것도 어려웠는데 이제 벌써 최종 프로젝트라고 하니 갑자기 조급해진 기분이 듭니다. 정신을 차려야겐네요,,
  • 허성필 - 팀 프로젝트를 진행하면서 RxSwift와 MVVM 패턴을 사용해 보았는데 네트워크 통신에 observable을 같이 사용하면서 발생하는 문제점들을 다양한 operator를 통해 해결하는 방법을 배울 수 있는 좋은 경험이었다. 다음 프로젝트부터는 다양한 아키텍처 패턴을 좀 더 공부하여 적절하게 사용할 수 있으면 좋겠다.

2. Keep

  • 학습한 부분에 대해 꿀팁 있으면 서로 공유하기.
  • 밝은 팀분위기로 힘들때 잠시 스크럼을 하면서 분위기를 환기하고 다시 집중가능 했던 학습 분위기
  • 모를 땐 무조건 챗GPT 사용보단 튜터님과 팀원들과 먼저 상의해보기
  • 포기하지 않고 끝까지 투지를 🔥불태워 도전하기!!
  • 울어도 계속 할 것.
  • 쉴 틈 없이 업무를 받을 것
  • 어려워도 쉽다고 거짓말쳐서 팀원들 동기부여해주기
  • api에서 받은 데이터를 공부하고 항상 의심하기
  • 초기 설계 문서화와 공유
  • MVVM 아키텍처의 구조적 이점 (효율적인 파트 분배, 충돌 최소화)
  • Github 사용 능력 향상
  • 정기적인 스크럼과 코드리뷰

3. Problem

  • RxSwift의 생명주기 및 DisposeBag 사용 미숙
    → 메모리 누수 가능성을 뒤늦게 발견, dispose 타이밍 부적절

  • 짧은 코드 리뷰 시간
    → 부족한 프로젝트 기간에서 발생하는 초스피드 코드 리뷰

  • 과제 완성 시간 부족
    → 공식 문서 및 레퍼런스 탐색 시간 부족, 공수 예측 실패, 쓸데없는 근자감(김보미 해당)

  • 새로운 패턴과 코드 학습 부족
    → 학습 이해도 부족(RxSwift, CoreData, MVVM 패턴)

  • CollectionView의 데이터소스 리팩토링 실패
    → 시기를 늦게 잡아 작업이 이미 많이 진행돼서
    많은 곳에서 사용하고 있는 데이터 모델의 구조를 변경하기에 부담이 컸음.

  • 서로 다른 인스턴스를 생성해서 사용하는 현상
    → 어떤 인스턴스를 사용하는지 의식하지 않고 개발..

4. Try

  1. 위기의 순간에 튜터님 바로 찾아가기 (애착 튜터님이 부재 중이셔도 용기내어 다른 튜터님 찾아가기)
  2. 설계 단계에서 자세하게 설계와 계획하고 개발 들어가기
  3. 새로운 문법이나 기술 혹은 라이브러리는 공식문서를 먼저 보는 습관 들이기
  4. 문제 발생시 <<즉각>> 해결하면서 Trouble Shooting TIL 작성하기 (프로젝트 완성 후 작성하면 기억이 나지 않음)
  5. conflict와 맞서 싸워 이겨낼 것
  6. MVVM 컴포넌트 재사용 구조 설계와 초기 단계에서 많은 시뮬레이션으로 효율성 극대화
  7. API가 주는 데이터를 잘 다듬고 활용하기
  8. 다양한 아이디어 내보기
  9. 개발 막바지에 통합 작업 몰아서 하기보다 중간중간 기능연결 테스트 미리 진행

✍️ 이번주 회고

  • 실력이 좋은 팀원분들을 만나서 많이 배웠습니다.
  • 그리고 의지할 수 있어서 프로젝트 진행 하는 내내 든든하고 씩씩하게 진행 했습니다.
  • 코드를 깔끔하게 정리하지 못한 부분과 주석을 제대로 달지 못한 부분
  • 디테일한 부분을 신경쓰지 못해 다음부터 정리하는 습관을 들이도록 하겠습니다!
profile
iOS 개발 블로그

0개의 댓글