본문 바로가기
반응형

사이드 프로젝트/뉴스구독 웹서비스18

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.
aws whats'new 뉴스레터 업그레이드1| Flask웹 개발 웹은 Flask로 도전해보기로 했다. 디자인은 부트스트랩을 참고했다. 컬러랑 글 몇개 좀 수정하고, Flask템플릿 얹기 개발 프론트단을 이렇게 하는게 맞나 싶어서 조금 헷갈릴뻔도 했지만 성공! app.py는 flask웹 시작하는 코드. 외부접근허용까지 걸어두었다. from flask import Flask,render_template app = Flask(__name__) @app.route('/') def index(): return render_template("index.html") if __name__ == '__main__': app.run(host='0.0.0.0') 아, 그리고 중간에 뻘짓좀 했다..jinja2.exceptions.TemplateNotFound.html 오류 더보기 rend.. 2021. 5. 11.
aws whats'new 뉴스레터 업그레이드0 | 구독신청 웹페이지 기획 2021.04.20 - AWS What's new 뉴스레터4 | 매주 화요일마다 메일이 전송됩니다~ 2021.05.04 - AWS What's new 뉴스레터5 | 작업스케쥴이 안돌아갔네?시작거부 저렇게 나만 사용할 수 있는 뉴스레터 서비스를 만들었는데, 이걸 조금더 확장하고 싶었다. 사실 별것도 아닌 서비스이지만 뭔가 접속로그나, 로그데이터들을 보고 싶은 마음이 더 컸다. 참고했던 글에서 Elastic Stack를 사용해서 로그 페이지를 직접 만들고 보는것이 가장 해보고 싶었다. 그래서 많은 사람들이 구독을 신청할 수 있는 웹 페이지를 만들고, 거기에서 메일을 받아서 저장하는 구조를 추가해서 업그레이드를 하려고 한다. 이분의 기술블로그 구독서비스를 참고했다. 출처 taetaetae.github.io/2.. 2021. 5. 10.
AWS What's new 뉴스레터5 | 작업스케쥴이 안돌아갔네?시작거부 2021.04.16 - AWS What's new 뉴스레터1 | MongoDB를 써볼까?! 2021.04.18 - AWS What's new 뉴스레터2 | 이메일 전송 사전준비 및 이해 2021.04.18 - AWS What's new 뉴스레터3 | 크롤링데이터를 이메일로 전송하기 2021.04.20 - AWS What's new 뉴스레터4 | 매주 화요일마다 메일이 전송됩니다~ 한동안 잊고 있었다. 생각해보니 매주 메일이 와야하는데 안오고 있었다. 단 한번도 크론이 실행되지 않았다는 것! 이상해서 작업스케쥴러 히스토리를 봤다. 윈도우 작업스케쥴러로 매주 화요일마다 이벤트를 걸어놨었따. 하지만 마지막실행결과에는 '운영자 또는 관리자가 요청을 거부했다'는 메세지가 남아있다. 마지막실행시간을 보면 매주 실행.. 2021. 5. 4.
AWS What's new 뉴스레터4 | 매주 화요일마다 메일이 전송됩니다~ ▼▼ AWS 뉴스메일 자동화 프로그램 개발일지 ▼▼ 2021.04.16 - AWS What's new 뉴스레터1 | MongoDB를 써볼까?! 2021.04.18 - AWS What's new 뉴스레터2 | 이메일 전송 사전준비 및 이해 2021.04.18 - AWS What's new 뉴스레터3 | 크롤링데이터를 이메일로 전송하기 2021.04.20 - AWS What's new 뉴스레터4 | 매주 화요일마다 메일이 전송됩니다~ (현재글) 이제 지금까지 얼추 파이썬 코드가 마무리 되었다. 크롤링해서, 저장하고, 메일을 보내기까지.. 이제 이 뉴스레터를 매주 월요일마다 전송할 수 있도록 이 작업을 자동화하려고 한다. 실제로 aws였다면 lambda에 코드를 넣고,cloudwatch로 cron을 돌렸을텐데.. 2021. 4. 20.
AWS What's new 뉴스레터3 | 크롤링데이터를 이메일로 전송하기 어제는 이메일로 전송할 수 있는지만 테스트해봤다. 이젠 이를 바탕으로 내 데이터를 보낼 것이다. 내 '데이터'는 먼저 코드상에서 dict list형식으로 만들어져있다. 그래서 그대로 메일을 보내보면 이렇게 된다. 하지만 우리는 조금더 이쁘게 보기좋게 만들어야한다. 만약 title만 보낸다면? 즉 메일에 들어갈 html body에 단순히 title 내용을 넣은것이다. 결국 관건은 메일에 보낼 body를 어떻게 구성할 것인가!! 이다. 혹시 테이블처럼 한번 보내면 그래도 시각적이고 깔끔하지 않을까? 해서 dataframe형태로 변경해보았다. import pandas as pd df = pd.DataFrame(document_list) 그리고 메일에 보낼 html형식으로 다시 바꾸었다. 이때 link를 클릭할.. 2021. 4. 18.
728x90