HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
[준일팀] 15주차 커피챗

[준일팀] 15주차 커피챗

날짜
‣
태그
데브코스 4기
데브코스 2차팀

📜 프로젝트 문서

🏠
혼콕 HONKOK
FEDC4_HONKOK_JunilHwang
prgrms-fe-devcourse • Updated Oct 20, 2023
 

💻 프로젝트 컨셉 및 목표

사용자를 정확히 타겟팅을 하는게 좋은 것 같아요! 몇 번 서비스를 만들어보니까 처음에는 대상을 확실하게 정하고 그 사람들에게 우리가 제공해줄 수 있는게 무엇인가를 고민해보는 경험이 무척 중요하다고 느끼는 중입니다 ㅎㅎ
“이 프로젝트를 통해서 우리가 달성하고 싶은 목표”
  • 팀의 목표
    • 기능을 완벽하게 구현하자
    • 모두 다 구현 하고 싶다 (건우님)
  • 개인의 목표
 
지금 당장 명확한 목표가 없다면, 고민을 시작해보자.
  • 단순히 프로젝트를 잘 만드는 것 말고,
 
“학습적인 목표”
ex) 컴포넌트 다운 컴포넌트를 만들어보자 ex) 테스트 코드를 작성해보자 ex) 스토리북으로 다양한 컴포넌트를 테스트할 수 있도록 해보자. ( 예를들어 컴포넌트 10종에 대해 테스트를 한다거나)
 
이 프로젝트를 수행 했을 때, 나는 “어떤” 상태가 되고 싶은지.
 

✅ 프로젝트 구조 및 설계

API Client

github.com
https://github.com/prgrms-fe-devcourse/FEDC4_HONKOK_JunilHwang/blob/001a1153e876e06dbd8d0aea6fef805306847c0f/src/api/apiClient.ts#L5-L18
  • API Client가 여러개일수도 있다는 가정. 지금은 한 개의 apiClient를 만들어서 사용 하는데, 범용적인 이름과는 무관하게, 특정 API를 가르키고 있다. 사용하는 입장에서 조금은 헷갈릴 수 있지 않을까.
 

의존 하는 방향이 한 방향으로만 (단방향) 흐르도록 하기

  • index를 적극적으로 활용하기
    • Video preview
  • import를 보고, 현재 클래스나 현재 함수나 현재 파일이 어떤 패키지나 폴더에 의존적인지 한 눈에 파악하기
  • 계층이 한 방향으로 흐르도록 만들어주기
  • 양방향 의존 하지 않기
 

비슷한 관심사들끼리 묶어주기

  • 비슷한 성질의 일을 한다고 해서, 한 곳에다가 파일을 몰아놓지 말기
    • github.com
      https://github.com/prgrms-fe-devcourse/FEDC4_HONKOK_JunilHwang/blob/001a1153e876e06dbd8d0aea6fef805306847c0f/src/constants/path.ts#L5-L5
    • 모든 상수를 한 곳에 모아놓지 않기.
    • 상수의 스코프를 생각하기.
    • 이 상수가 어떤 영역에서 쓰이는가.
    • 해당 영역에다가 위치시키면 더 좋지 않을까.
 

🛠️ 기술 스택 및 협업툴

혼콕 프로젝트 타임라인
  • 노션에서 한 번에 볼 수 있도록 하기
  • github project 활용 하는 것 → 좋은 방법 이라고 생각. github에서 보기에도 쉽고
 
  • 각 티켓에 대한 사용자 스토리
  • 스토리에 대한 티켓을 만들고
  • 해당 티켓에 대한 서브 티켓 같은 것들을 만들어서 관리 해주면 어떨까?
  • 노션과 깃허브를 계속 왔다갔다 하면서 볼 때 컨텍스트 스위칭이 자주 발생하다보니, 한 곳에 몰아놓고 확인하면 어떨까?
 
  • nextjs 안 쓰는 이유? → 가볍게 하기 위해서
  • 배포 → vercel에 할 예정
  • 스토리북도 배포해서 관리해보자 → 크로마틱 활용
    • Automatically review, test, and document Storybook
      Chromatic automates visual & interaction tests for Storybook. Connect CI/CD and Figma workflows to streamline stakeholder sign-off. Generate versioned component docs.
      Automatically review, test, and document Storybook
      https://www.chromatic.com/
      Automatically review, test, and document Storybook
    • develop에 머지 되면 자동으로 크로마틱에 배포되도록 만들어보기
    • 내가 만든 컴포넌트가 추가되고, 스토리가 추가되면, 다른 팀원들도 그걸 확인해볼 수 있도록 해보자.
    • 어떤 식으로 내가 만든 컴포넌트를 활용할 수 있는지.
    • 스토리북에다 기능을 만들다보면 사이드 이펙트에 대한 고민도 하게 되고
    • 자연스럽게 어떤게 좋은 컴포넌트인지 고민을 하게 된다.
 

🗓️ 일정 산정 및 관리 방법

  • “스프린트 기간” 만 정해놓고, 정확히 어떤 기능을 언제까지 할 것인지를 명시한 곳이 없다.
  • 어떤 기능에 대한 우선순위 정도는 있는데, 어떤 순서로 작업을 할 것인지와 해당 작업이 얼마나 걸릴 것인지 등도 필요하지 않을까?
  • 예상 일정과, 실제 일정에 대한 비교도 해보자.
    • A라는 기능이 1일 정도 걸릴 것 같았는데
    • 실제로 해보니까 2일 정도 걸렸다.
    • 이 차이가 왜 발생 했고, 다음에는 어떻게 하면 더 개발 시간을 단축할 수 있을까?
  • 경험치를 쌓아가는 것
    • 기능 개발을 할 때 어떤 점들을 고려해야 좋은지. 일정 산정에 대한 연습을 하다 보면 부가적인 일들이나 어려운 난이도가 될 법한 일들에 대한 고민을 자연스럽게 하게 된다.
  • 병렬로 할 수 있는 것들
  • 직렬로 해야만 하는 것들
  • 블록킹 작업이 될 것 같은 것들
    • B라는 작업을 하기 위해선 A를 먼저 끝내야 되는데, A에서 뭔가 문제가 생겨서 B가 진행이 안 되고 있네 → 블록킹
    • API가 먼저 만들어져야 내가 뭔가 작업을 할 수 있을 것 같은데, API 없이 개발 하는게 되나?
      • 답은, 가능 하긴 하다.
    • API가 분명히 존재했었는데, 어떤 이상한 사람이 한번에 10000개의 요청을 날려서 서버가 터져버렸네… 어떡하지? 나 작업해야 되는데?
    • 어떤식으로 우리가 블록킹 상황에 대해 대응할 것인가
  • 필수 요구사항과 선택 요구사항
    • 이 기능은 꼭 필요해!
    • 이 기능은 있으면 좋은데, 없어도 사실 무방할 것 같아.
 

👥 협업 방식

소통을 디자인하는 리더, 퍼실리테이터 - Naver SmartStudio Blog
Naver SmartStudio Blog 인사이트 - 소통을 디자인하는 리더, 퍼실리테이터 "소통을 디자인하는 리더, 퍼실리테이터" 책을 읽고 팀에 적용하고 싶은 내용을 요약했습니다. 퍼실리테이션의 프로세스 4단계와, 회의에서 소통과 협력이 활발하게 일어나도록 하는 실전스킬 7가지를 소개합니다.
소통을 디자인하는 리더, 퍼실리테이터 - Naver SmartStudio Blog
https://smartstudio.tech/facilitator/
소통을 디자인하는 리더, 퍼실리테이터 - Naver SmartStudio Blog
  • 목적을 달성하기 위한 수단이 적절한가?
  • 우리의 목적은 무엇인가?
  • “커뮤니케이션을 할 때 목적이 중요하다”
    • 회의를 왜 해야 되지?
    • 우리가 이 회의를 통해서 얻어가고자 하는게 뭐지?
    • 회의가 끝났을 때 어떤 산출물이 나와야 하지?
    • 회의를 시작하기전에 어떤 것들을 우리가 준비해야 하지?
    • 회의 시간을 어떻게 줄일 수 있지?
    • 어떻게 우리가 조금 더 발언을 잘 하게 만들 수 있지?
    • 회의가 끝난 다음에 어떤 액션을 취해야 되지?
    • 그 액션이 정상적으로 되었음을 언제 체크해야 되지?
  • 결국에는 회의를 하거나 커뮤니케이션을 할 때 어떤 것들을 내가 준비해놓고 전달해야 좋을까?
    • 어떤 말을 해야 조금 더 진정성이 있을까?
    • 어떤 도구가 있으면 조금 더 잘 전달할 수 있을까?
 
  • 공부는 혼자 할 수 있지만, 커뮤니케이션은 혼자 불가능하다.
  • 어떻게 우리가 커뮤니케이션을 해야 좋은지에 대해서는 프로그래머스를 하는 동안 계속, 지속적으로, 항상 생각해보면 좋다.
 

💡 기타