본문 바로가기
반응형

사이드 프로젝트38

음악추천챗봇3.2 데이터 수집 및 처리-Track정보 어떤 데이터를 수집할 것인가? 이번엔 NoSQL에 저장할 데이터를 수집해볼 것이다. 그래서 일단 가장 간단하게 '노래정보'를 얻어보려고 한다. 이때 검색을 위해 Artist API를 쓸 수 있는데, 대신 아티스트ID로 검색할 수 있다. >> Artist API 레퍼런스 https://developer.spotify.com/documentation/web-api/reference/#endpoint-get-an-artist Aritist's Top Tracks 정보 request형식을 살펴보면 header : token을 가진 auth path파라미터: id 쿼리파라미터 : maket 주의해야할 점은 이전에 search api와 다르게 id는조금 특이하게 path파라미터가 있다. 그래서 직접 paramete.. 2021. 5. 31.
음악추천챗봇3.1 데이터 수집 및 처리 -Aritist정보 어떤 데이터를 수집할 것인가? 이에 대한 대답을 하기 위해서 어떤 정보를 나타낼것인지 어떤 데이터가 필요한지 정해야한다. 그래서 일단 가장 간단하게 '아티스트명'으로 검색한 '아티스트 정보'를 얻어보려고 한다. 이때 검색을 위해 search API를 쓰려고 한다. >> API 레퍼런스 https://developer.spotify.com/documentation/web-api/reference/#endpoint-search Aritist 정보 request형식을 살펴보면 header : token을 가진 auth 쿼리파라미터 : q와 type 이때 type에 해당하는 키워드는 앨범명, 아티스트명, 트랙명 등이 있다. 여러가지 타입으로 키워드가 일치하는 정보를 검색할 수 있는 것이다. API테스트 >>ht.. 2021. 5. 31.
음악추천 챗봇2. 음악데이터 파악하기 | Spotify API 이해 서버리스 음악추천 챗봇 서비스를 구현하기 위해 음악데이터가 필요하다. 데이터를 수집하기 위해 Spotify API를 사용하기로 했다. 이번엔 Spotify API의 구조를 알아보고, 어떤 api를 써서 어떤 데이터를 수집할 수 있을지 알아본다. 그리고 마지막에 효율적인 데이터파이프라인 구축을 위해 데이터가 새어나가는 오류를 막기 위한 처리를 수행하였다. API란? Application Programming Interface 즉 두개의 시스템에 서로 상호작용하기 위한 그러니까 데이터를 주고받기 위한 인터페이스다. 흔히 웹사이트는 http 프로토콜을 사용하는 rest api를 기반으로 구축되었다고 볼 수 있다. 웹을 통해 외부 서비스로부터 정보를 가져와서 뿌려주는 방식이기 때문이다. 어떻게 사용하는가? 리소.. 2021. 5. 27.
음악추천챗봇1. 카카오챗봇 설정 | 카카오 i 오픈빌더 API 이해 카카오톡에서 사용할 챗봇을만들기 위해서는 아래와 같은 작업을 진행할 것이다. 1. 카카오 채널 생성 2. 카카오에서 제공해주는 카카오i 오픈빌더 사용신청 3. 챗봇기획 - 시나리오 생성 - 블록작성 - 엔터티 설정 4. 봇을 채널에 연결 카카오채널 생성 카카오채널관리자 센터 바로가기 : https://center-pf.kakao.com/ 나는 "오늘의 음악 추천"을 컨셉으로 오.음.추 라는 채널을 생성했다. 카카오 i 오픈빌더? 카카오톡 채널(플러스친구) 프리미어리그봇으로 해당 플러스친구에서 채팅 화면에서 특정 메시지를 입력하면 메시지를 분석해 특정 메시지를 리턴해주는 서비스. 내부 UI는 일반 말풍선만 있는게 아니라 이미지도 있고, 조그만 말풍선 UI도 있다. 나는 뉴스봇이라는 카카오톡 플러스친구를 사.. 2021. 5. 27.
음악추천 챗봇0. 서비스기획과 아키텍쳐 설계(Serverless) 목표 이번 프로젝트의 목표는 데이터파이프라인 구축을 실습해보고 경험해보는 것이다. 늘 이야기만 들어봐서 이론적으로만 찾아보고 혼자 공부해봤지 2021.03.10 - 데이터파이프라인(datapipeline)이란? 데이터파이프라인(datapipeline)이란? 데이터엔지니어의 주요업무 중 하나, 데이터파이프라인 개발 특히 이때 데이터는 대용량데이터, 실시간데이터 등등 다양한 데이터이다. 데이터파이프라인을 통해 어디에서든지 데이터를 편하 pearlluck.tistory.com 직접 구축하고 직접 경험해본 적은 없었기 때문에 꼭 한번 해보고 싶은 프로젝트이다. 그리고 이왕이면 aws를 사용한 서버리스 아키텍쳐기반이였으면 좋겠따. 이전에 한번 해봤지만 람다와 api gateway를 사용해서 개발하는게 딱 내스타일.. 2021. 5. 25.
aws whats'new 뉴스레터 업그레이드4 | 향후 SQS 변경예정 이메일 전송테스트 앞서 구독하려는 이메일을 mongodb에 저장하는 작업까지 마쳤다. 그리고 코드를 조금 보기좋게 수정한 뒤, 잠깐 테스트를 해봤다. 한번에 여러메일에 전송하도록 테스트까지 완료했다. 테스트 상황 아래의 웹에 입력창을 통해 2개의 메일이 구독한다고 신청했다! 구독하기로 한 메일이 db에 저장된다. : ~@kakao.com, ~@naver.com 메일전송 : 11:30분에 메일을 보내는 서버를 구동시켰다. 동시에 메일이 전송된다. 그런데 왠지 구독자가 많아지게 되면(벌써부터 상상), 뭔가 비효율적일것 같은 생각이 들었다. 예를 들어, 스팸메일로 걸러지게 된다면 어쩌지, 메일이 여러개 보내지다가 터지면 어쩌지 그래서 새로운 서비스도 써볼겸 언젠가 SQS로 바꿔볼까 한다. 2021. 5. 14.
aws whats'new 뉴스레터 업그레이드3 | Flask웹 aws배포(DB)+Cron 아아ㅏㅏㅏㅏ거의 다 썼는데 날라갔다. 아놔. 2021.05.12 - aws whats'new 뉴스레터 업그레이드3 | Flask웹 aws배포(Route53) 2021.05.12 - aws whats'new 뉴스레터 업그레이드3 | Flask웹 aws배포(ELB) 생각보다 오래걸렸다. 별것도 아닌데...그리고 기록하던 중에 다 날라가버리는 바람에..하.. AWS데이터베이스 써보기? 사실 조금 막막했다. 지금까지 테스트환경 즉 개발환경의 내 로컬PC에서는 Mongodb를 사용했다. 그런데 이걸 어떻게 운영환경이랑 연결하지? 지금 개발한 앱들은 ec2에 있는데 어떻게 db에 접속을 해야하지? 2021.04.16 - AWS 뉴스메일 자동화 | python에서 mongoDB 사용하기 AWS 뉴스메일 자동화 | p.. 2021. 5. 13.
aws whats'new 뉴스레터 업그레이드3 | Flask웹 aws배포(ELB) 2021.05.12 - aws whats'new 뉴스레터 업그레이드3 | Flask웹 aws배포 aws whats'new 뉴스레터 업그레이드3 | Flask웹 aws배포 잠깐, 생각해보니 2개의 프로그램이 시간차를 두고 진행이 되어야 하는 거잖아? 언제든지 구독이메일을 받을수 있도록 웹프로그램은 계속 켜져있고, 그렇게 내 서버에 메일을 저장해두고 있다 pearlluck.tistory.com 다 끝났다고 생각했는데,...다시 돌아가네.. 다시 이전에 문제점부터 생각해보면 2가지가 있었다. 1. ip주소가 바뀐다. 2. 도메인이 필요하다. 그리고 지금까지 한 일은 1. 고정ip를 만들기 위해서 eip를 할당하고, ec2에 연결했다. 2. 가비에서 도메인을 샀다. 3. route53의 호스트존에 가비아에서 발.. 2021. 5. 12.
aws whats'new 뉴스레터 업그레이드3 | Flask웹 aws배포(Route53) 잠깐, 생각해보니 2개의 프로그램이 시간차를 두고 진행이 되어야 하는 거잖아? 언제든지 구독이메일을 받을수 있도록 웹프로그램은 계속 켜져있고, 그렇게 내 서버에 메일을 저장해두고 있다가 매주 화요일 오전10시가 되면, 이제 메일전송 서버가 동작되는거니까! 동시에 진행되는 구조, 하나의 flow는 아니다! Flask웹 aws배포 그래서 일단 웹개발은 어느정도 완성이 되었다고 생각이 들어서 지금까지 만든 웹을 aws에 배포하려고 한다. 구글링해보니 배포를 하는 방법은 몇가지가 있었다. 1. ec2에서 git으로 clone하기 2. beanstalk사용하기 +CI/CD 공부해보기 일단 AWS인프라를 PUBLIC하게 구성해보았다. 1. VPC 생성 : test-vpc 2. IGW 생성 3. igw를 vpc에 a.. 2021. 5. 12.
aws whats'new 뉴스레터 업그레이드2 | 구독이메일 mongoDB 저장 이번엔 flask웹으로 입력받은 이메일들을 mongodb에 저장해둘 것이다. 사실 이메일만 저장하기 떄문에 굳이 큰 db는 필요가 없긴하다. 하지만, mongoDB CRUD도 배워볼겸 선택했다. 그리고 이미 AWS document들을 mongodb에 저장해놨다. 그래서 추가로 email을 저장할 새로운 collection만 생성했다. html에서 입력받은 데이터를 백엔드의 python으로 넘겨주기 위해서 몇가지 수정사항이 필요했다. 1.html에서 넘겨주기 name추가 웹페이지에 input창이 있는데 그 input한 내용을 넘겨줄거라고 form action을 추가한다. 그리고 input 하는 태그의 이름을 email로 지정하도록 수정했다. 여기에서 조금 헤멜 뻔 했다.....button이랑 input s.. 2021. 5. 11.
728x90

$(document).ready(function() { var $toc = $("#toc"); $toc.toc({content: ".tt_article_useless_p_margin", headings: "h2,h3,h4"}); });