-
프로젝트 이야기 1 - 와금이 이야기회고 2022. 10. 19. 16:02
프로젝트 이야기 1 - 와금이 이야기
렛츠서울 프로젝트를 진행한 우리 팀의 이름은 와그미다(WAGMI, We are gonna make it이라는 멋진 의미).
이 멋진 이름은 프로젝트 초반에 정윤님이 제안해주셔서 만장일치로 정해졌다. 벌써 두 달 전 일이라 구체적인 기억은 벌써 사라졌지만 첫 미팅날 엄청 두근두근했던 기억이 난다. 어떤 일들이 우리 앞에 있을까! 마치 모험을 떠나는 기분이었다.하지만 너무나 기대감에 부풀고 두근거렸던 걸까. 첫날부터 출석을 까먹었다.😨
프로젝트가 시작된다는 생각에 동요하기도 했고, 부트캠프의 출석은 원래 다른 방식으로 하고 있었기 때문에 시원하게 까먹은 것이다. 그런데 나만 그런게 아니라 다들 까먹고 말았다...나는 이미 이전에 한 번 까먹고 출석을 놓친 적이 있었기 때문에 총 두 번의 결석이 만들어진 상태였다. 결석이 세 번 쌓이면 수료가 안되었던가 수료후 혜택이 없었던가 하여튼간에 패널티가 주어지는 규칙이 있었기 때문에, 이래서는 안되겠다는 생각이 들었다. 어떻게 하지? 하고 생각 후 5초만에 알람봇을 만들기로 결심했다.
사실 평소에 디코 봇을 만들어보고 싶은 마음을 고이 간직하고 있기도 했다.😚과정
먼저 어떤 것을 원하는지 생각을 해봤다.
- 매일 아침/저녁 출석체크 시간에 맞춰 알려줬으면
- 가능하면 QR을 전해줬으면
- 가능하면 체크까지 알아서 해줬으면
- 최대한 간단하고 빠르게 완성
일단 3번은 어려울 수 있겠다는 생각이 들었다. 이전에 자동출석봇을 만들어보니, 봇으로 로그인 시키자고 내 계정의 보안 수준을 낮춰야 하는 그런 상황이 있었다. 3번 희망사항도 마찬가지일 거란 느낌이 들었다.
그 다음은 뭘로 만들어야 하는지 찾아봤다.
JDA
라는 Java용 디스코드 봇 라이브러리가 있었다.- 아니면 아무 웹클라이언트 라이브러리.
내가 필요한 기능은 매우 간단한데(웹 요청), JDA라는 라이브러리를 쓰면 기능을 다양하게 확장할 순 있지만 그럼 JDA를 사용하기 위해 공부하는 시간이 더 필요했다. 다른걸 더 붙이면 재밌겠지만 현재의 희망사항에 집중하기로 했다.
그러고 나니RestTemplate
을 쓰거나HttpUrlConnetion
로 대상이 좁혀졌다. 하지만RestTemplate
는 바로 탈락했다. 왜냐면AWS lambda
에 올려서 사용하려고 했는데, 단지RestTemplate
를 쓰자고 Spring을 싣기엔 빌드 결과물이 너무 무거워졌다. 아무 것도 안하고 빌드만 해도 10메가가 넘었다.
안되겠다, 최대한 가볍게. 그래서 JDK에 기본으로 들어있는HttpUrlConnection
을 사용하기로 했다. 좋았어! 😎
결과
사실 봇이 어떻게 돌아가는지 몰랐어서 헤맸지, 코딩은 매우 간단했다.
Discord의 image embed 기능을 사용하려면 JDA를 사용해야만 한다는 것을 깨닫고 5분 정도 멘붕이 왔다가, 이미지 링크를 전하면 알아서 embed 형식으로 이미지를 보여주는 디스코드의 특성이 떠올라서 금방 해결됐다.
한 줄의 메시지로 보낼 수는 없었지만(이미지와 텍스트를 5개의 메시지로 나눠서 전송했다) 100줄 남짓한 간단한 코딩으로 필요한 기능을 모두 구현할 수 있었다.
다만 람다에 올리진 못했다. 뭔가 응답값 오류를 일으켰는데, 람다 인스턴스의 로그를 볼 줄 몰라서(사실 람다도 그 날 처음 써본 것이다...ㅋㅋㅋ) 해결할 수가 없었다(람다 조만간 꼭 활용해보고 말겠다....).
그래서 나만의 작은 클라우드에 올려서 crontab에 등록해놓고 사용했다.
우리팀의 마스코트니까 이름은 '와금이'로 부르기로 했다.그 결과는!
캬-이 맛에 배포합니다?! 😆
작은 기능에도 칭찬을 아끼지 않는 좋은 팀원들... 팀장을 춤추게 하는 것이다. 🤸♀️🤸♂️정말로 좋았다.
평소에 봇 만들어보고 싶기도 했고, 필요한 기능이니깐 만들어봐야지~ 하고 가볍게 만든 거였는데.
평소에 개그 욕심이 있는 편은 전혀 아닌데 다들 소소하게 재밌어하는 피드백을 받아보니깐 기분이 정말 좋았다. '웃겨서' 보다는 '피드백이 와서' 좋았던 것 같다.
사용자의 응답을 바로 받을 수 있다는 요런 면때문에 B2C의 개발 맛이 진하다고(?) 하는 건가? 라는 생각이 들었다.하여튼 나쁘지 않은 시작이었다.
앞으로의 프로젝트가 순조롭게 진행될 것 같은 생각이 들었다.
그렇게... 순탄하고 행복한 프로젝트의 시작이 되는 줄로만 알았는데....
지독한 코로나에 걸려버린 것이다...다음 화에 계속...
'회고' 카테고리의 다른 글
"2주만에(한달만에) 코테 준비 가능한가요?"에 대한 조언(w/1월 회고) (10) 2023.02.22 2022년 회고 (3) 2023.01.05 프로젝트 이야기 2 - 첫 프로젝트에 대한 감상, 도움말 (2) 2022.10.26 백엔드 부트캠프 학습 파트를 마치면서 (7) 2022.08.18 백엔드 부트캠프, 절반의 회고 with 코드스테이츠 (0) 2022.07.20 학습 스케줄과 컨디션 관리에 대한 생각...인데 이제 스터디를 곁들인 (0) 2022.07.09