순도 100% 뇌피셜로 네이버웹툰 백엔드 살펴보기 | 코드스테이츠 PMB 13기

2022. 8. 2. 00:57

W6D1

네이버웹툰의 플로우 차트를 만들어보고
흐름별로 UI, 클라이언트, 서버, DB의 작동방식을 생각해봅시다.

 

 

 

콘텐츠 기업에 관심이 많다고 했으면서 그동안 카카오페이지나 리디는 뜯어봤으면서 정작 네이버웹툰을 살펴본 적이 없다는 걸 깨달았다. 그래서 이번 과제로 네이버웹툰을 선택하게 되었다. 클라이언트 서버 뭐 이런 내용들은 수능 지문에서나 봤다. 사실 전에도 몇 번 읽은 적은 있었는데 그때마다 머리가 지식을 튕겨냈다. ERP시스템 첫 수업에서도 듣고 그대로 도망쳤는데 여기서 또 만날줄이야. N번째 읽으니 뭔 소리인지는 알 것 같은데 일단 모르는 것에 가깝다. 모른다는 소리를 참 길게도 한다.

 

전에 IT서비스 학술대회에서 네이버 인공지능 기술에 대한 발표를 들은 적이 있었다. 최적화를 위해 서버(DB)를 어쩌고 저쩌고 여러 개 분산시켜서 관리한다는 내용을 들은 게 기억난다. 물론 내용은 전혀 이해 못하고 PT 자료 예쁘다는 생각만 하면서 고개만 열심히 끄덕임. 아무튼 하고싶은 말은, 서버와 테이터베이스의 관리 방법은 기술 수준에 따라 상이하다는 점이다. 아직까지 PM이 어디까지 이해하면 되는 건지 감은 안 오지만 제대로 알려면 각 잡고 서버, DB 담당 동료들을 괴롭혀가며 공부해야 할 것이라는 생각이 들었다.

 

 


 

  유저 플로우 차트:  
  앱 접속, 회원가입, 콘텐츠 감상, 쿠키 충전까지  

 

유저 플로우 차트를 간단하게 만들어보았다. 만들고 보니 좀 이상한 구석도 있었지만..일단 대략적인 흐름을 나타내는 데에는 문제가 없는 듯하다.

 

 
 
흐름별로 클라이언트, 서버, DB가 어떤 상호작용을 할 것인지 대략적으로(뇌피셜로) 적어보았다. 어떤 정보를 요청할 것인가를 위주로 적어보았다. 반쯤 정신 놓으면서 적다보니 오히려 술술 적히는 기적.
 
 

 


 

  확대 이미지  

 

잘 안 보일 것 같아서 부분 캡쳐한 이미지를 첨부해보았다. 내용은 정말 뭐 별 거 없다. 어떤 정보를 요청할 것인지를 위주로 적었다. (적었나...?)

 

1번 이미지: 앱 접속부터 작품 선택까지

 


 

2번 이미지: 작품 조회 및 콘텐츠 감상까지

 


 

3번 이미지: 콘텐츠 감상부터 유저 참여까지

 


 

4번 이미지: 다음화 감상 여부

 


 

5번 이미지: 다음화 감상 여부부터 쿠키 충전까지

 

 


 

  조사하며 신기했던 점  

 

사용자가 앱을 설치하면 앱 그 자체에 저장되는 캐시가 따로 있는 걸까? 이게 왜 궁금해졌냐면, 로그인 전후로 사용 기록이 유지되는 정보가 있고 조회가 불가능한 정보가 따로 존재했기 때문이다. 아래 사진에서 볼 수 있듯이 관심웹툰 정보는 로그인을 해야 확인할 수 있다. 그런데 최근 본 카테고리 내에서 '그동안 내가 본 웹툰'의 데이터는 로그인을 하지 않아도 조회 가능하다. 여기서 놀란 부분 두 가지는 첫번째, '아니 그러면 내가 앱을 통해 사용한 정보는 앱 안에 저장되는 건가?!' 였고  나머지 하나는 '아니 그동안 한 번이라도 조회해본 웹툰이 655개나 된다고..?' 였다. 후자가 더 놀라움. 반면 '지금 볼' 카테고리의 웹툰 정보는 로그인을 해야 조회할 수 있다. 사용자 정보와 함께 묶여서 관리되는 데이터라서 그런 것 같다는 생각이 들었다.

 

 

또 눈에 띄었던 기능으로는 '읽음 정보 동기화'가 있다. 나는 저걸 한 적이 없는데..기능이 런칭되었을 때 팝업창으로 허가 요청을 했었나보다. 덕분에 핸드폰과 패드에 조회 정보를 일관되게 유지할 수 있다. 근데 더 신기한 점은 조회 기록이 로그아웃 상태일 때도 유지된다는 점이었다. (내가 두 눈으로 똑똑히 봤슈! 분명 회색 그대로였슈!)

 

 

 

 


 

  과제를 마무리하며  

 

 

사실 과제 구상할때까지만 하더라도 어떤 데이터가 어떤 프로세스를 거쳐 어느 위치에 저장되고 호출되는지 전혀 관심 없었다.  그런데 글을 작성하고 생각을 정리해보니 호기심이 스멀스멀 생겼다. 도대체 왜 저 데이터는 로그인 전후로 유지되는거지? 어떤 데이터만 중앙 서버에 저장되는 거지? 서버와 DB는 매 요청때마다 상호작용 하는 건가? 서버가 자체적으로 저장하는 데이터는 없나? 등등..

 

 

 

 

BELATED ARTICLES

more