layer를 분리해서 개발 스프린트를 정하자

mtak·2022년 2월 22일
0

BE(Back End)가 뭐야?

  • Data를 driven하는 기술
  • 데이터베이스에 어떻게 잘 넣고 꺼낼까? 어떤 형식으로 저장할까? 고민하는 것

🤷‍♂️ 학생 관성의 대표적인 예시가 세상을 생성자가 아닌 소비자의 입장으로 보는 것이다.

tv, ott 등을 보면서 분석을 해 본 적 있어? 누가 보는지, 디비 구조는 어떻게 생겼는지, 영상 파일을 어떤식으로 저장하고 가져오는지 등을 분석해 봤나?

백엔드를 하려면 생산자 입장에서 생각해야돼!

💁 상상해보자. 은행에 손님들이 오고, 은행 업무를 보는 프로세스를 나눠볼래? 은행 창구는 vip용 창구와 일반 창구들로 나눠져 있어.

👩‍ 손님들이 vip인지 아닌지 구분하고 vip라면 vip창구에 사람이 있는지 확인하고 없으면 대기합니다. 손님이 vip가 아니라면 대기하다가 일반 창구에 빈 자리가 생기면 은행에 먼저 온 순서대로 들어가요!

🤷‍♂️ ??? 손님이 왔으면 일단 일열로 세워야지. 그리고 vip인지 아닌지 나눠서 일반 큐, vip큐에 집어넣어야지. 그리고 일반 큐에서 일반 창구들을 보면서 빈 자리를 체크해야지.

🤦‍♀️(또 소비자 입장에서 생각해버렸군...)

💁광고의 목적은 무엇일까? 정보를 노출 하는 거야.

여기서 우리는 다음과 같이 계층을 나눌 수 있어. 너희가 학생 관성으로 소비자의 접근방향으로 과제를 수행하려고 하니까 제곱수로 큰 사이즈의 layer에서 접근하게 되는거야. (그러니까 어렵지)
생산자의 접근방향으로 광고 소재 DB부터 차근차근 정규화 해 나가야 해.

아래 전체 layer에 보라색으로 칠한 것 모두 구조화해야 할 데이터들이지만 안의 광고소재 계층부터 layer별로 차근차근 가져가서 정규화 해야해.

💁 그럼 layer를 어떻게 끊을까?

  • 무엇을 [information] → title, content, url, file(ex. 소리, 이미지, 동영상))
  • 어디서
  • 어떻게
  • 누구에게
    😎 육하원칙 같지?

💁Data를 속성별로 나눠야 해. 이게 백엔드의 시작이야.


💁 Log(로그)는 서비스 계층이 아니고 관리 계층의 데이터야.
만약 네가 인스타를 하다가 게시물을 지웠는데 그게 원본 파일이였던거야!(사진이 사본이 없다는거지) instagram에 전화를 했어.

"저 게시물 삭제했는데 복구 해주세요"

휴지통용 파일서버에 접근해서 파일을 건져와 게시물을 복구하는 것은 관리자 계정으로 해야 하는거지? 어느 휴지통에 있는지 로그 데이터도 다 뒤져야할 것 아니야 ㅋㅋ
만약 관리자가 아닌 사용자가 직접 접근해서 직접 복원한다면 어떻게 될까? 이상한 데이터라도 넣으면 그 데이터베이스는 오염되는거야. (그때부터 garbage 데이터를 찾는 야근의 시작)
어때 관리 계층이랑 회원 계층을 분리해서 확장해야겠지?
회사에서도 관리 계층까지 안만들면 배포는 개뿔 서비스 시작도 못해.

💁 광고 관리 플랫폼에 한번 적용해보자!

💁 데이터는 크게 3가지 요소로 이루어져 있어.

뭐가 있는지 + 뭘 하는건지(action) + 누가 할건지

우리가 당근 마켓 같은데 회원가입을 해본다고 생각해보자!

[번외] 💁 광고 소재에는 다양한 타입의 데이터가 있어.

제목, 내용 같은 text 데이터도 있지만 동영상이나 이미지, 음악 타입의 데이터도 있단다. 시스템 아키텍쳐는 가장 심플하게 아래와 같아.

profile
노는게 젤 조아. 친구들 모여라!!

0개의 댓글