나와 친구가 운영중인 비개모(비전공자 개발자 모임)에서 시작한 8주 모각코 프로젝트인 비개모각코가 어느덧 4주차에 이르렀다.
내 프로젝트명은 "ㅇㅇ초등학교 급식 챗봇 만들기"!!!
노션에 페이지들을 만들어 매주 모두가 회고를 남기기로 했는데, 어제 중간발표도 한 겸 지금껏 썼던 회고들을 올려본다.
1주차(4.20)
(오늘 Sprint Seoul에 오느라 모각코 첫 시간에 참여하지 못했습니다.ㅠㅠ)
전 초등학교 급식을 알려주는 카카오톡 챗봇을 만들겁니다. 급식은 한 달 혹은 1주에 한 번 정도 초등학교 웹사이트에서 파이썬 크롤러로 긁어올 거예요. 코드가 간단할 것 같아 서버를 따로 띄우는 대신 AWS Lambda와 API Gateway를 사용해 서버리스 아키텍처를 구현하고자 합니다. DB는 AWS DynamoDB를 고민중입니다. 얼마 전 회사에서 처음 써봤는데 간편하고 좋았어요.
이렇게 만든 API는 카카오 오픈빌더에서 챗봇을 구현하는 데 사용됩니다. 간단한 API를 만들어 테스트해봤는데 잘 되더라고요!
2주차(4.27)
오늘 프로젝트 계획서를 작성했습니다. 원래 계획서 같은 것 없이 바로 코딩을 시작하려 했으나, 이번 주에 마이크로소프트웨어 396호를 읽고 문서화의 중요성을 깨달았어요! 그래서 곧바로 이번 프로젝트에 적용해보았습니다. 확실히 계획서를 쓰고 아키텍처를 그려보니 내가 써야할 것, 공부해야할 것 등이 잡히는 느낌이에요.
아래는 draw.io라는 사이트에서 그린 아키텍처입니다.
3주차(5.4)
전 오늘 초등학교 웹사이트에서 급식 정보를 크롤링했습니다. 원래는 웹을 띄울 필요 없이 html을 긁어오는 BeautifulSoup를 이용하려 했으나, 달력에서 해당 날짜를 눌러야만 급식이 나와 브라우저를 직접 동작할 수 있는 selenium으로 변경했습니다. 그리고 이에 더해 회사에서 알게 된 로그 관리 툴인 LogDNA(오픈소스)를 사용하여 성공/실패 시 로그를 찍도록 했습니다.
4주차(5.11)
저는 오늘 크롤링한 급식 정보들을 저장할 DB를 선정하고 세팅하는 작업을 했습니다. DB는 AWS ElastiCache와 DynamoDB 중 고민하다가 DynamoDB를 선택했습니다. 이유는 다음과 같습니다.
1. DynamoDB를 회사에서 써본 적 있어서
2. ElastiCache를 이용할만큼 처리량이 많지 않을 것 같아서
AWS에서 DynamoDB 테이블을 생성한 뒤(급식 메뉴를 저장할 것이기 때문에 기본 파티션 키는 date로 함), DynamoDB Full Access 권한을 가진 IAM을 생성했습니다. 이 IAM 계정으로 프로젝트에서 DynamoDB를 연결하여 크롤링하는 작업을 마쳤습니다.
개인 프로젝트, 시작만 많이 해봤지 제대로 끝낸 게 없어 이번엔 정말 무슨 일이 있어도 끝내고 말리라 다짐했다.
'일상 > 일상' 카테고리의 다른 글
백수 생활 보고서 (1-2주차) (2) | 2019.07.15 |
---|---|
모각코를 운영해보고 싶은 사람들을 위한 조언 (3) | 2019.06.18 |
Hacktoberfest 티셔츠 왔다. (4) | 2019.02.13 |
2019년 목표(feat. 만다라트) (6) | 2019.02.13 |
2018년 회고 (2) | 2019.02.13 |
댓글