본문 바로가기

telegram4

3. 텔레그램 & AWS 서비스 연동하기 - 3) DynamoDB를 이용한 전체 공지 이번 시간에는 Telegram의 전체 공지 기능을 구현해보겠습니다. Telegram에는 전체 공지 기능이 없습니다. 그래서 챗봇을 쓰는 모든 유저에게 메세지를 전송하기 위해선 별도의 공간에 채팅방 ID를 저장하고, 이 ID별로 메세지를 전송해야만 합니다. 그 과정을 하나씩 소개드리겠습니다. 1. ID 등록 저희의 챗봇을 사용하는 사용자들의 채팅방 ID (chat_id)를 저장해야만 합니다. 저장소는 DynamoDB를 선택합니다. 복잡한 트랜잭션이 필요하지 않으며 JSON 형태로 저장하기 쉽고 고성능의 저장소 AWS의 MongoDB 정도로 보시면 됩니다. 비용은 아래 보시는것처럼 개인이 쓰기에 충분한 양입니다.(참고: Amazon DynamoDB 프리티어로 시작하기) DynamoDB 생성 서비스에서 Dyn.. 2018. 6. 23.
2. 텔레그램 & AWS 서비스 연동하기 - 2) TravisCI와 S3를 이용하여 정적 데이터 관리하기 최근에 많은 Github 저장소에서 유용한 정보들을 제공하고 있습니다. 국내에는 다음과 같은 좋은 저장소들이 있는데요. 국내 개발 블로그 모음 개발 관련 밋업, 세미나 모음 기술 면접 모음 개발자 회고 모음 주니어 개발자 채용 정보 본인이 이런 데이터를 모으고, 이를 Bot으로 안내해주는 서비스를 만든다고 가정하시면 어디에다 이 정보들을 관리할지가 고민일 수 있습니다. 일반적인 웹 서비스처럼 생각한다면 데이터베이스에 저장해서 사용할수 있습니다. 하지만 이처럼 변경요소가 거의 없고, 조회만 대부분인 상황에서 데이터베이스를 쓰기엔 비용이나 시간이 너무 아깝습니다. 그래서 많은 저장소 운영자분들이 json 파일로 정보를 관리하십니다. 예를 들어 제가 운영 중인 주니어 개발자 채용 정보의 경우 채용 정보를 db.. 2018. 6. 15.
1. 텔레그램 & AWS 서비스 연동하기 - 1) 텔레그램 봇과 AWS Lambda & AWS Gateway 연동 주니어 개발자 채용 정보 텔레그램 Bot을 만들었습니다. 그 과정을 다른 분들도 따라할 수 있게 시리즈로 진행할 예정입니다. 전체적인 구조는 다음과 같습니다.이 구조를 하나씩 구현해나가겠습니다. 1-1. Telegram Bot 생성 BotFather에서 새로운 봇을 생성합니다. /newbot을 입력해서 새로운 봇 생성을 시작합니다. AwsTelegramTravis 라는 이름의 봇을 생성합니다. 본인이 원하시는 봇 이름을 입력하면 됩니다. 방금전에 생성한 AwsTelegramTravis 봇이 @AwsTelegramTravis_bot 이란 username을 갖도록 합니다. 앞에는 꼭 @를 붙여야 합니다. 마지막엔 꼭 bot이 붙어야 합니다. 마지막 메세지에 포함된 token 값은 어딘가에 꼭 저장해놓으셔야 .. 2018. 6. 12.
Gradle + SpringBoot + Travis CI + Coveralls + 텔레그램 연동하기 최근에 개인프로젝트를 진행하면 무조건 진행하는 것이 바로 CI 연동입니다. 지속적으로 통합 빌드/테스트가 된다는게 개인 프로젝트에서는 정말 큰 도움이 됩니다. 개인프로젝트에서 CI연동을 하면 다음과 같은 작업이 자동화됩니다. 하나의 기능을 수정 혹은 추가 후 Git Push -> Travis CI에서 통합 빌드 및 테스트 -> Coverall에서 테스트 커버리지 관리 -> 텔레그램으로 CI 결과 알람 물론 여기서 AWS CodeDeploy나 다른 CD 툴을 사용한면 배포까지 자동화 시킬수 있습니다. 관련된 내용은 스프링부트로 웹 서비스 출시하기 - 6. TravisCI & AWS CodeDeploy로 배포 자동화 구축하기를 참고해보세요! 앞서 스프링부트로 웹 서비스 출시하기 시리즈에서 CI/CD 환경을 .. 2018. 3. 10.