본문 바로가기

프로그래밍

좌충우돌 슬랙봇 개발 도전기 (나의 첫 토이 프로젝트...?)

누구나 코딩을 배우고 싶다는 마음은 가슴 한편 속에 있지만, 시작하기는 매우 어렵다.

명확한 동기가 없다면 무언가를 배운다는 건 정말 쉽지 않은 일이다.

 

나는 인공지능, 특히 딥러닝에 대해 공부하고 싶어서 파이썬을 4월부터 공부했다.

그리고 대략 4개월이 지난 지금, 나는 챗봇을 하나 개발하는 데에 성공했다! 

 

코딩 공부를 하면서 느낀 점은...

코딩을 공부해야겠다는 마음가짐 하나만으로는 이 공부를 지속하기 어렵다.

그러나 내가 실생활에서 과제나 업무를 효율적으로 수행하기 위한 프로그램을 만들기 위해 코딩을 배운다?

-> 이러면 내가 만들고 싶은 무언가가 있기 때문에 배우는 속도가 엄청나게 빨라지는 것 같다.

 

4월에 <혼자 공부하는 파이썬>이라는 개념서를 사서 처음부터 꼼꼼히 봤지만

사실 지금 다시 보면 기억 안 나는 자질구레한 개념들이 많다.

근데 <신경망 첫걸음>이라는 책을 공부할 때는 클래스와 메서드를 통해 신경망을 구축하는 코드를 보면서

"아, 이래서 클래스를 쓰는구나...왜 self를 쓰는지 알 것 같기도..." 하며 역으로 개념을 공부하는 과정이 더 효과적이었다.

 

이번에 약 2주 동안 슬랙봇을 만들 때도 마찬가지였다.

의대생과 젊은 의사들의 회고 모임을 이번에 공개적으로 처음 런칭하였고, 거기서 나는 운영진을 맡게 되었다.

그리고 어쩌다 보니(?) 커뮤니티를 관리하는 슬랙봇을 개발하는 역할을 맡게 되었다.

 

내가 구현할 기능은 처음엔 간단해 보였다. 매주 글이나 댓글을 달아야 하는데, 지각하거나 누락하면 보증금을 자동으로 차감하는 봇을 만들면 됐다.

근데 막상 코드를 만들어 보니, 생각보다 쉽지 않았다.

 

사실 지금까지의 공부는 책에 있는 코드를 따라 치기만 하면 됐었다.

근데 나만의 프로그램을 직접 만드는 건 '논리적 사고'를 요구한다.

그래서 나는 처음엔 무턱대고 덤비다가, 한발 물러서서 프로그램의 작동 과정을 스텝 by 스텝으로 접근해봤다.
코드를 올려도 되는지 잘 모르겠어서 일단 안 올리려고 한다...

 

그 외의 tmi는...

- 원래 대표님이 예전 모임에서 쓰시던 코드 일부가 있어서 활용했다.

- ChatGPT의 도움을 많이 받았다. 이게 양날의 검이 될 수도 있지만, 일단 결과물을 데드라인까지 만들어야 하는 상황에서 그런 걸 따질 겨를이 없었다.

- 구글링을 통해 SlackAPI를 연결하는 법(토큰 키 가져오기, scope 설정 등...)도 직접 해봤다. 예전에는 API가 뭔지 도통 감이 안 잡혔는데, 이번 기회를 통해서 어떤 느낌인지는 알게 된 것 같다.

 


사실 아직 실행을 해 보진 않았다. 다음주부터 본격적으로 모임 활동을 시작하므로 그 다음 주 목요일에 베타 테스트(?)를 해봐야 겠다. 이상한 점이 있다면 그때그때 또 코드를 고쳐 봐야지...

 

사실 대단한 걸 한 건 아니지만, 그래도 처음으로 뭔가를 만들어 봐서 기분이 좋았다! 

 

슬랙봇 코드의 일부...check_message_activity 메서드 코드가 젤 어려웠다...