데이터를 운반하는게 백엔드의 역할인데
결국 백엔드 시스템 하나가 하나의 큰 덩어리로 보았을때 인풋과 아웃풋으로 이루어 져 있는거 같음.
그때 그 인풋을 누가 담당하느냐!! 하는게 있음.
인풋이 유저들이 만들어내는 데이터들만으로 운영되는게
쇼핑몰, sns, 배달플랫폼... 기타 등등... 솔직히 많은 서비스들이 유저들이 만들어내는 데이터만으로도 운영된다고 생각함.
근데 이거는 내가 "유저수"를 끌어모으지 못한 상태에서 "연습용 사이드프로젝트"를 계획하느라 생긴 일인데,
데이터를 인터넷을 통해서 가져온다면??? 이라는 생각을 한거임.
인터넷을 통해서 데이터를 가져오려면 또 두가지 방법이 있음.
1. 외부에서 데이터를 가져가라고 내놓은 api를 사용한다.
예시로는 날씨 데이터가 있을 수 있고, 게임들 전적검색에 쓰이는 api가 있을 수 있음.
카카오톡 같은데에서도 api를 제공해주는걸로 알고 있음.
2. 크롤링한다.
크롤링하려면 데이터를 인식해서 가져와야함. 머신러닝이나 알고리즘이 중요하게 작용할거 같음.
그리고, 유저들이 만들어내는 데이터는 유저들이 다시 아웃풋으로 가져가기위해,
즉 백엔드 서비스 전체가 하나의 Repository 가 되는거라면
크롤링이나 api로 가져온 데이터들은 데이터를 가공해서 해석하는 능력도 필요함.
심지어 유저들이 만들어내는 데이터를 기반으로 데이터를 가공하고 해석하는 작업도 필요함.
결론이 뭐냐면.... 백엔드만으론 아무것도 할 수가 없다....
되게 초라해지는 기분이야.
사이드프로젝트를 기획하기 전에 크게 크게 분석을 해본거야.
서비스라는 인터페이스를 만들어본거라고.
그 결과가
UserData backend(UserData userData) {};
Statistics backend(ExternalApiData externalApiData) {};
Statistics backend(CrawledData crawledData) {};
Statistics backend(UserData userData) {};
이렇게 네가지로 나뉘는거 같음.
어떻게 이게 전부일수가 있지....
sns 같은거 할거 아니면 파이썬이 필수야....
댓글 0