Skip to content

[2023‐11‐10] 팀 회고, 개인 회고

주재현 edited this page Nov 13, 2023 · 4 revisions

팀 회고, 개인 회고

팀회고

진행 상황

  • 아이디어 기획
    • 주요 기능 도출
    • 백로그 작성
    • 디자인
  • 그라운드룰, 코딩 컨벤션 설정
  • 레포지토리 설정
    • 이슈, PR 템플릿 작성
    • 브랜치 룰 등록
  • 팀, 개인 목표 설정

프로젝트 소개

  • 이미지의 위치 정보를 기반으로 여행을 기록하고 공유할 수 있는 플랫폼
  • 여행 기록은 특정 장소에 대한 사진, 설명의 집합 → 지도를 기반으로 여행 흔적을 서로 공유하면 어떨까?
  • 처음 여행을 가는 사람은 어디에 좋은 관광지가 있을지? 다른 사람들은 여행을 어떻게 갔는지?를 알기 힘듬
    • 스냅포인트 형태(핀)로 하나의 장소에 여러 사람들의 기록을 볼 수 있고, 원한다면 게시글을 추적해 볼 수 있다.
    • 게시글은 여러 스냅포인트와 글로 이루어져 있으며, 스냅포인트만 미리 보거나 글 형태로 자세히 볼 수있다.
  • 작성자와 독자 사이에 댓글, 좋아요, 구독 등의 Interaction 을 통해 일종의 여행 특화 SNS 플랫폼으로의 발전이 목표

주요 기능 ( 디자인과 함께 )

  • 기획
    • 지도 api
    • 지도 표시
    • 스냅핀 등록
      • 미리보기 제공
    • 게시물
      • 작성, 수정 및 삭제
      • 작성된 게시물 확인

백로그 소개

그라운드 룰 소개

협업 중 겪은 어려움

  • 팀원별 구현 방식이 달라서 하나의 디자인 패턴으로 통일할 필요가 있습니다.

  • 리뷰어님 조언

    현재 상황의 조언

    데이터베이스에 대한 의존성을 최소로 가져가는 것이 좋다.

    • 에러를 살펴보기 위해 코드, 데이터베이스 둘 다 봐야 한다.
    • 서버 Instance는 증설이 쉬운데, DB Instance는 증설이 어렵다.
    💡 데이터베이스 제약 조건 및 조인을 없애고, 서버 코드 단에서 구현하자

    핀에 대한 순서는 order 속성을 이용하면 된다.

    할 수 있는 기술적인 도전?

    **Instance 를 별도로 구현해, 이미지/동영상을 따로 처리한다.**

    • Nest.js에서 동작하는 Service Worker를 활용하는 것이 좋다.
    • API 서버에서 요청을 받아서, Instance에 요청을 넘기는 방식으로 진행한다. (Instance와 API 서버 통신을 위해 HTTP 요청, 비동기 Message 방식?)
    • 영상 화질을 480P, 720P로 미리 구워놓기
    • 이미지 썸네일을 추출하고 저장하기

    여러 Instance에서 충돌을 방지할 수 있도록 Cache 전략을 반영한다.

    • Redis 등의 메모리 DB 활용해서 여러 인스턴스가 동일한 Cache 사용할 수 있도록 구현한다.
    • 이중 Cache 전략? 각 Instance CacheRedis Cache를 같이 활용한다.

    클로바 스튜디오 API를 활용해 게시글의 내용을 요약한다.

    다음 주까지 해야 할 숙제

    • 배포 파이프라인? 전략 준비하기

    Android

    기술적 도전

    • 지도 API와 멀티미디어 처리
    • 게시글에 이미지 순서 저장하기
    • 서버에서 받은 게시글 데이터에서 순서 저장하기
    • 핀 사이 경로를 연결하는 것이 가장 어려울 것이다
    • 이미지 캐싱 / 동영상 캐싱

    작업을 하는 방법

    쉬운 것이나 할 줄 아는 것들을 먼저 작업하고, 어려운 것을 나중에 하는 것이 좋다.

    • 같이 작업할 때는 PR과 Merge를 자주해야 한다
    • 오프라인 상태나 예시 데이터를 이용해서 작업하고, 나중에 API로 데이터를 받아오도록 적용
    • UI 작업이 오래 걸리기 때문에 UI부터 작업하는 것을 추천
    • 3명이서 페어 프로그래밍을 하거나 UI를 작게 나눠서 같이 작업하는 방법이 있다
    • 스냅핀이 화면에 보이도록 지도를 조정하는 것은 일단 빼고, 추후에 생각

    게시글 화면

    • 글 쓰기를 누르면 이미지를 하나 올리고 URL을 받아와서 글에 적용한다
    • recycler view를 이용해서 드래그로 글-이미지 순서를 바꾸는 것이 가능하다
    • recycler view를 사용하면 포커싱 이슈를 해결해야 한다

    이미지 라이브러리

    • glide, picasso, Coil, fresco
    • 안드로이드니까 webp를 사용해도 된다. 용량이 가장 작다.

해결 방안

  • 텍스트 사이에 있는 이미지의 순서 문제
    • 이미지와 텍스트를 블록 단위로 저장해서 순서대로 전송하는 방법으로 개선을 했습니다.

개인 회고

J081_양희범

  • 어렴풋이 생각하고 있던 아이디어가 있었는데, 이걸 설명하고 다른 사람들에게 제안하는 것과는 확연히 다르다고 느꼈습니다.
  • 주장을 펼칠 때 논리적으로 이유를 들어 말하는 점을 보강해야할 것 같습니다.
  • 주재현님과 원승빈님께서 프로젝트 관리에 대해 너무 잘 진행해주셨습니다. 부스트캠프에서 CS 지식 위주로 학습 했는데, 이번 그룹 프로젝트에서 애자일 등 많이 배워갈 수 있도록 노력해야겠습니다.

J150-주재현

느낀점

  • 생각보다 기획하는 부분에 시간이 많이 들어가 좀 힘들었습니다..
  • 모든 결정사항에는 이유가 있어야해서 많이 고민을 했던것 같습니다.
  • 같은 단어를 말하더라도 서로 다른 생각을 하는 경우가 있어 공통으로 사용하는 단어를 정하는것이 중요하다고 느꼈습니다.
  • 어떤 기능을 사용해야할지 헷갈리고 테스크에 시간이 얼마나 걸릴지 정하는 부분에서도 고민이 많았던것 같습니다.

K030_이정건

이번 주는 아무래도 첫 주라서 함께 정해야 할 것들이 많았다. 아이디어 기획부터, 그라운드 룰이나 코딩 컨벤션 등 함께 프로젝트를 진행하는데 필요한 것들을 먼저 정하고, 효율적인 협업을 위해 마일스톤과 이슈를 생성하고 이를 깃허브 저장소의 프로젝트를 이용하여 정리해두었다.

이정도로 기획하고 계획을 세워 프로젝트를 진행한 경험이 없었고, 또 백엔드와 협업하여 프로젝트를 진행해 본 경험도 없었기 때문에 이번 주는 처음 접해보는 것들이 매우 많았다. 하지만 경험있는 팀원들이 잘 이끌어주시는 덕에 나름대로 잘 진행되고 있는 것 같다(?).

이번 주에 했던 활동 중 앞으로 개발해야 할 것들과 직접적으로 관련있는 활동은 아무래도 개발을 진행할 때 사용하게될 라이브러리에 대한 비교와 선택 이유를 정리한 것이라고 생각한다. 특정 기능을 구현할 때 사용하게 될 여러 라이브러리들을 찾아보며 각자의 장·단점을 비교하고, 최종적으로 해당 라이브러리를 선택한 이유를 정리하여 기록해 두었는데, 이 활동을 진행하면서 여러 라이브러리에 대해 다시 한 번 공부할 수 있어서 좋은 경험이었던 것 같다.

피어 세션 시간에 서로의 디자인을 공유하는 시간을 가졌는데, 희범님이 해주신 디자인을 보고 다른 캠퍼분들이 감탄을 하셨습니다. 좋은 디자인 뽑아주신 희범님 다시 한 번 감사드립니다. 🫡

K022_안언수

  • 한 일
    • 주로 기획을 했습니다.
    • 백로그 작성을 하고, 마일스톤과 이슈를 생성했습니다.
    • github project에 칸반을 생성하고 Issue와 연동을 했습니다.
    • 의존성 주입과 직렬화 관련으로 라이브러리를 조사 및 비교했습니다.
  • 좋았던 점
    • 기획 정리를 대부분 마쳐서 다음 주부터는 프로젝트를 진행할 수 있을 것 같습니다.
  • 아쉬웠던 점
    • 다음 주부터 바로 개발을 해야 하지만 아직 레포지토리 관련으로 학습이 더 필요한 상태입니다.
    • 기술 스택 같은 것들은 더 조사해야 합니다.

K025_원승빈

이론으로만 배웠던 것들을 실제 프로젝트를 진행하며 적용하는 경험을 했습니다.

생각했던 것보다 준비해야 할 것들이 많았습니다.

모든 활동에 적극적으로 참여해 서로 참여하는 분위기를 만들고, 개별의 생각보다 팀이라는 이름의 하나의 생각을 만들어 더 좋은 결과를 이끌어 낼 수 있게 노력할 것입니다.

🚩SnapPoint🚩

Android 기술적 도전

Backend 기술적 도전

🤖기술 공유🤖

Android

Backend

📖회의록📖

스크럼
팀회고, 개인회고
Clone this wiki locally