---
# System prepended metadata

title: 11월 18일 수요일 회의록

---

# 11월 18일 수요일 회의록

## 멘토님께 할 질문

### 공통


- 이벤트 수집 검증(옵셔널)
    - 검증 방식이 A/B Test면 layout이 다른 2개의 web/app을 각각 만들어야 하는가?
    - 아니면 '검증'이 테스트 코드를 작성하라는 뜻인가?
    - A/B 테스트를 기존 바이브 앱과 우리가 만든 앱으로 하는지 아니면 우리가 만든 앱을 두가지 버전으로 해서 테스트하는지?
- VIBE의 사용자 이벤트 수집의 목적이 무엇인지? 
    - UI / UX 향상? 마켓팅? 사용자의 음악 선호도 파악?
    - 페이지에 오래 머물게 하기 위한 분석도구인지, 유저 플로우를 파악할 수 있게 한 도구인지(UX) 등 해당 서비스의 목적에 따라 수집해야 하는 로그 데이터가 상이.

- 미니 바이브 기획 시 필수적으로 들어가야 하는 기능이 있는지?
    - 이벤트 수집에서 중요하게 생각하는 이벤트가 있는지?
- 서버에게 보내주는 데이터에 어느 정도 분석(?)이 되어 있어야 하는 것인지
    - ex. 단순 화면 전환 이벤트 + timestamp 정보만 보내기 vs 뒤로가기인지, 다음화면 이동인지 구분해서 수집?
    - 어느정도 데이터 분석을 고려해서 수집? vs 기계처럼 (가능한 많은 데이터) 로그 수집?
- 사용자 관점에서 이벤트 정의 or 컴포넌트 관점 이벤트 정의
    - 검색버튼 클릭 -> 검색창 띄우기 이벤트 or 검색이벤트
    - 플레이 리스트에 추가하는 버튼을 클릭했다면, 단순히 <식별자가 abc인 버튼을 클릭했다> 라고 저장하면 되는지 아니면 <플레이 리스트에 곡을 추가하는 이벤트가 발생했다> 라고 저장하면 되는지
    - 만약 사용자관점의 이벤트 정의라면 현재 바이브웹 기준으로만 생각하면 될지?(프로모션 등 바뀔 수 있는 부분에 대해서..?)
    - "버튼 클릭"이라는 이벤트는 본질적으로 같은데 이 데이터를 날것으로 저장해야 하는지 ,또는 어느 정도 해석이나 분석을 가미해서 저장해야 하는지
- 무엇인가 추가할 때
    - 추가 이벤트가 발생했고 어떤 것을 추가했는지로 정의
    - ex. 앨범/플레이리스트/믹스테잎 등 각각 다른이벤트로 분리 vs 하나의 곡 리스트 추가 이벤트
- 화면별로 발생할 수 있는 이벤트에 대해 생각해 보라고 하셨는데, 그러면 이벤트를 화면 별로 상세히 나눠야 하는 건가요?
    - a화면에서 발생한 플레이리스트 추가 이벤트와 b화면에서 발생한 플레이리스트를 각 다른 이름의 이벤트로 db에 추가 vs 둘 다 플레이리스트 추가 혹은 버튼 클릭으로 명명한 후 파라미터만 다르게 설정하기
- 스크롤, hover도 이벤트로 봐야하는지?
- 데이터 수집 이후의 통계도 처리해야 할까요?
- 데이터를 서버에 전송하는 시기는 언제인가요 만약 서버 요청시 데이터를 보내는거라면 CoreData는 언제 사용할까요?
    => 온라인인 경우 즉시 보냄 / 오프라인인 경우 쌓아놨다가 보냄 (다운로드한 음악에 한해서만 가능)

### iOS
- iOS는 로컬DB(CoreData)를 사용하는데, 로컬에 수집한 이벤트 정보를 언제 서버로 보내면 되는지?
- SwiftUI + Combine을 선택(아닌 필수)요구 사항으로 쓰신 이유가 있는지

### Web
- 웹 기술스택
    - Next.js
    - 명세서에는 MySQL이라고 명시되어 있는데 mongoDB 사용이 더 좋다고 들었음
    - react + redux

- 이벤트가 발생할 때마다 서버에 전송 vs 어느 정도 모아뒀다가 전송

--- 


### 킥오프
- 볼 수 있는 화면 다 봤는지? 
- 화면을 구현해야하는데 바이브의 디자인 배제하고, 앱의 플레이리스트 화면아이콘만 있는 거를 구현하려면 재량으로 비슷한 아이콘 사용. 
- 재생 자체를 구현하진 않음. 진행하면서 재생할 수 있는 방안 줄 지도 모름. - 백엔드 에서 데이터 내려줘야 하는데 더미 데이터를 넣어야 함. 
    - 이미지 유알엘 써도 무관
- 어떻게 효율적으로 구성, 디자인 요소 넣을 필요 없지만 인터렉션(스크롤, 클릭 시 동작) 따라해보면서 학습. 현업에서는 인터렉션과 네비게이션을 이런식으로 한다 ..
- 방향 좋다. 아키텍처 설계
- 서버에 어떤 데이터 저장? 
    - 화면마다 탭마다 인터렉티브한 요소마다 식별자 갖고 있어야 함. 관심 있는 컴포넌트만 식별자를 넣는다.매길 수 있는 규칙 만들면 좋겠다.
- 이벤트 이름
    - 코드화 되어야 함. 너저분한 텍스트 노노 
- 어떤 트랙을 어느 플레이리스트에 추가? 파라미터 필요
- identifier params
- 프로모션 제외
- A/B 테스트 옵셔널
- 클라이언트
- 검증이란 ? 오늘 크롱님 강의 내용, 자동화
- 마우스 오버ㅓ 이벤트에 대해서도 수집을 하나요?
    - 오버는 수집하지 않음
    - 스크롤도 일단은 안해도 될 듯 함(의미가 있을것도 같은데... )



mysql 나머지는 보통 RDBMS 씀
몽고 비정량 데이터 로그 같은거 할 때
유연한 구조 변경

기술 스택은 유동적으로 선택
꼭 들어가야할 거 같은 기능
웹은 애매
앱은 처음에 나온 화면에서??? 못들엇엉.ㅜ
유저 셋팅 쪽
내가 좋아요 추가 
내가 뭔가 한것

로그를 언제 전송
온라인인 경우 즉시 보냄
앱이 인터넷이 붙어 있는 경우

오프라인인 경우 쌓아놨다가 보냄 -> 코어데이터의 의미
다운로드한 음악에 한해서만 가능 

시스템어떻게 설계할지 일 어떻게 나눠야할지 

