오몰내알 데엔

프로젝트/알라딘 중고책 프로젝트

알라딘 중고책 프로젝트 (6) - 프로젝트 결과 & 회고

지난 포스팅 - 알라딘 중고책 프로젝트 (5) - superset 프로젝트 코드 - https://github.com/kgw7401/used_book_project 이제 프로젝트의 최종 결과물을 살펴보고, 지금까지 달려온 과정을 회고하면서 부족한 부분은 무엇인지, 다음 프로젝트에서 보완할 수 있는 점은 무엇이 있는지 살펴보려고 한다. 프로젝트 결과물 프로젝트의 최종 결과물이 어떤지 한 번 보도록 하자. 어떤 방식으로 프로젝트 결과물을 게시할까 고민하다가 전체적인 모습을 보여주는 것이 좋겠다는 생각에 시연 영상을 보여주는 방식을 선택했다. 대시보드는 크게 아래와 같은 차트를 가지고 있다. (차트 이름, 차트 종류) 전체 중고책 수(big_number_total) 필터(filter_box) 카테고리별 중고책..

프로젝트/알라딘 중고책 프로젝트

알라딘 중고책 프로젝트 (5) - superset

저번 포스팅 - 알라딘 중고책 프로젝트 (4) - RDS, EC2 구축하기 서비스를 위한 인프라는 모두 구축했고, 데이터도 적재했으니 이것들을 이용해서 이제 시각화를 해볼 차례이다. 시각화를 위한 도구는 무엇으로 할까 고민하다 오픈소스에 사용법도 간단한 Superset을 최종으로 선택했다. 각설하고 본격적으로 슈퍼셋을 설치하고 실제 시각화하는 과정까지 이야기해 보도록 하겠다. Superset 설치 우선 슈퍼셋을 어디에 설치할지가 고민이었다. 첫번째 후보는 로컬이었는데, 컴퓨터에 쓸 데 없는(?) 프로그램이 설치되는 것을 좋아하지 않아 탈락하였다. 결국 EC2에 설치하기로 하였는데, 선택한 가장 큰 이유는 일회용으로 사용할 수 있다는 것이었다. 사실 이 부분은 도커로 설치하면 똑같이 일회성으로 사용할 수 ..

프로젝트/알라딘 중고책 프로젝트

알라딘 중고책 프로젝트 (4) - RDS, EC2 구축하기

저번 포스팅 - 알라딘 중고책 프로젝트 (3) - 데이터 적재하기 | 코드 완성 이번 포스팅에서는 본격적으로 코드가 돌아갈 서버(EC2)와 DB(RDS)를 구성했던 과정을 작성하려 한다. 생각보다 오류가 많았어서 ㅠㅠ 이 과정에서 내가 했던 삽질도 상세하게 적어보려고 한다. 먼저 RDS부터 시작해보자!🚌 RDS 구축하기 데이터베이스 생성 어떤 걸 먼저 구축할까 고민하다 일단 DB에 데이터가 잘 적재되는지 테스트하는게 먼저일 것 같아서 RDS를 먼저 구축하기로 결정하였다. 사실 RDS DB를 생성하는건 그리 어렵지 않아서 생략할까 하다가 그래도 내가 했던 과정을 자세하게 밟아나가면 나 또한 큰 공부가 되지 않을까 하는 생각에 DB 생성부터 상세하게 글을 작성하기로 하였다. 우선 RDS는 PostgreSQL..

프로젝트/알라딘 중고책 프로젝트

알라딘 중고책 프로젝트 (3) - 데이터 적재하기 | 코드 완성

저번 포스팅 - 알라딘 중고책 프로젝트 (2) - 데이터 추출하기 중복될 수 있는 데이터를 적재하는 방법 데이터를 추출했으니 이제 추출한 데이터를 DB에 적재해야 한다. 그런데 여기서 주의해야 할 점이 한 가지 있었다! 이 프로젝트에서는 새로 들어온 중고책 데이터를 사용한다. 하지만 얼마의 주기를 가지고 매번 어느정도의 데이터가 생성되는지는 알 수 있는 방법이 없기 때문에 데이터가 중복될 가능성이 있다. 조금 더 쉽게 설명해보도록 하자. 내가 지금 1000개의 데이터를 추출한다고 가정하자. 그러면 DB에는 1000개의 데이터가 적재될 것이다. 시간이 지나고 6시간 뒤 다시 1000개의 데이터를 추출하고 적재해보자. 그러면 DB에는 2000개의 데이터가 존재할까? 정답은 아닐 수 있다이다. 만약 6시간 동..

프로젝트/알라딘 중고책 프로젝트

알라딘 중고책 프로젝트 (2) - 데이터 추출하기

저번 포스팅 -알라딘 중고책 프로젝트 (1) - 알라딘 API 살펴보기 앞서 알라딘 API를 사용하는 방법을 간단하게 알아보았다. 이제 이 API를 이용하여 본격적으로 데이터를 추출하는 과정을 진행해보려 한다. 알라딘 API는 다른 API 보다 사용하기가 훨씬 간편하다. 엑세스 토큰이 필요하다던가(TTBKey가 있긴 하지만...) 헤더값을 보낸다거나 하는 귀찮은 작업이 필요없다. 각설하고 바로 데이터 추출 코드로 가보자! 데이터 추출 import requests import json book_lists = [] for i in range(1, 11): url = f"http://www.aladin.co.kr/ttb/api/ItemList.aspx?ttbkey={TTBKey}&QueryType=ItemNe..

프로젝트/알라딘 중고책 프로젝트

알라딘 중고책 프로젝트 (1) - 알라딘 API 살펴보기

저번 포스팅 - 알라딘 중고책 프로젝트 (0) - 프로젝트 개요 알라딘 API 본격적으로 프로젝트를 시작하기 전에 내가 사용할 알라딘 API에 대해서 알아보려고 한다. 우리나라 서점 중 유일하게 Open API를 제공하고 있고, 생각보다 다양한 데이터를 받을 수 있다. 알라딘 오픈 API 블로그로 들어가면 대략적인 사용방법과 매뉴얼이 제공된다. OPEN API 이용안내로 들어가면 API 이용절차가 다음과 같이 상세하게 나와있다. 알라딘 API를 이용하려면 먼저 TTB Key를 발급받아야 하는데, 안내문에도 나와있듯이 발급까지 대략 1~2일 정도가 걸리고, 하루에 쿼리가 5000건으로 제한된다. 나 같은 경우는 발급은 하루가 안 걸렸던 것 같고, 쿼리도 하루에 2번 밖에(많아야 4번) 안 날리기 때문에 충..

프로젝트/알라딘 중고책 프로젝트

알라딘 중고책 프로젝트 (0) - 프로젝트 개요

목표 앞으로 데이터 엔지니어가 되기 위해서 개인 프로젝트를 하나씩 진행해보려 한다! 다양한 주제로 프로젝트를 해볼 계획이고, 해당 내용을 진행 순서에 맞춰 하나씩 연재(?)해보려 한다. 물론 나도 엄청나게 부족하고 프로젝트를 진행하면서 엄청난 삽질을 하겠지만 그러한 과정들을 공유하면서 나처럼 데이터 엔지니어가 되려는 많은 분들께 조금이나마 도움이 되보려고 한다. 👍👍👍 대망의 첫번째 프로젝트는 알라딘 api를 이용하여 중고책 매물 현황을 시각화하려고 한다. 굉장히 단순한 구조의 프로젝트이지만 전체적인 데이터 파이프라인을 구축하고, 그 속에서 발생하는 여러 문제들을 해결하면서 데이터 엔지니어링 프로젝트에 첫 발걸음을 내딛어보려고 한다. 아키텍처 우선 내가 그려본 대략적인 아키텍처는 위와 같다. 새로 올라온..

오몰내알
'프로젝트/알라딘 중고책 프로젝트' 카테고리의 글 목록