# 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 씀 몽고 비정량 데이터 로그 같은거 할 때 유연한 구조 변경 기술 스택은 유동적으로 선택 꼭 들어가야할 거 같은 기능 웹은 애매 앱은 처음에 나온 화면에서??? 못들엇엉.ㅜ 유저 셋팅 쪽 내가 좋아요 추가 내가 뭔가 한것 로그를 언제 전송 온라인인 경우 즉시 보냄 앱이 인터넷이 붙어 있는 경우 오프라인인 경우 쌓아놨다가 보냄 -> 코어데이터의 의미 다운로드한 음악에 한해서만 가능 시스템어떻게 설계할지 일 어떻게 나눠야할지