본문 바로가기
하루하루/1000개의 메모

[다시 1000개의 메모 2주차] 비전공자도 OK. 나만의 도서관 책 반납 여부 조회 봇 개발하기

by 오송인 2026. 1. 9.

👋 삶의 문제를 해결하는 논리적 도구로서의 코딩

 

지난 2년 정도 틈틈이 AI와 코딩을 접해보니, 이것이 단순한 기술이 아니라 '삶의 문제를 해결하는 논리적인 도구'라는 걸 깨달았습니다. 심리학이 사람의 마음을 이해하고 돕는다면, 코딩은 내 일상의 불편함을 기술로 해소해주더군요.

 

오늘은 제가 공부를 겸해 직접 만든 '도서관 검색 & 알림 봇' 이야기를 해보려 합니다.

 

 

😫 문제의 시작: "검색은 되는데... 너무 귀찮아!"

 

저는 시립 도서관을 자주 이용합니다. 요즘은 도서관 통합 사이트가 잘 되어 있어서 시내 여러 도서관의 장서를 한 번에 검색할 수 있죠. 기능 자체는 훌륭합니다.

 

하지만 '접근성'과 '타이밍'이 문제였습니다.

  1. 보고 싶은 책이 생길 때마다 사이트에 접속하고 로그인하는 과정이 번거롭습니다.
  2. 인기 있는 책(예: 코스모스)은 늘 '대출 중'입니다.
  3. 가장 큰 문제: "언제 반납되지?" 하며 매일 사이트에 들어가 확인하다가, 깜빡한 사이에 다른 사람이 채가버립니다.

 

*"내가 매번 확인할 필요 없이, 책이 반납되면 알아서 나한테 알려주면 안 되나?"*

 

이 작은 게으름이 저를 키보드 앞으로 이끌었습니다.

 

💡 해결책: 나만을 위한 '텔레그램 봇'

그래서 만들었습니다. 제가 매일 쓰는 메신저인 '텔레그램'에서 친구에게 카톡 하듯 물어보면 답해주는 봇입니다.

 

기능은 심플합니다.

  1. 1초 컷 검색: 채팅창에 /s 책제목만 치면, 시내 모든 도서관을 뒤져서 대출 가능한 곳을 보여줍니다.
  2. 자동 잠복근무(모니터링): 빌리고 싶은 책이 모두 대출 중이라면? 봇이 주기적으로 확인하다가, 책이 반납되는 순간 저에게 알림을 보냅니다.

 

⚠️ 기술적 난관: "데이터가... 과거에서 왔다고?"

 

개발은 생성형 AI(Claude)와 함께 진행했습니다. 제가 기획을 하고 AI가 코드를 짜주는 식이었죠. 그런데 개발 도중 한계에 직면했습니다.

 

제가 사용한 '정보나루(Data4Library)' API의 특성 때문이었습니다.

 

⛔ 정보나루 API의 한계
이 API는 도서관의 실시간 데이터를 보여주지 않습니다.
데이터 수집 시점으로부터 최소 하루 전(D-1) 데이터를 바탕으로 결과를 알려줍니다.

 

 

즉, 봇이 "대출 가능해요!"라고 해서 갔는데, 오늘 아침에 누군가 빌려갔을 수도 있다는 뜻입니다.

 

 

🔧 타협과 보완: 완벽하지 않아도 괜찮아

 

하지만 포기하기엔 아까웠습니다.

 

"봇은 '1차 필터' 역할만 시키자."

  1. 봇이 "대출 가능"이라고 띄워줄 때, 실제 도서관 홈페이지의 검색 결과로 연결되는 링크(URL)를 같이 생성해줍니다.
  2. 저는 봇의 알림을 받고 -> 링크를 클릭해서 -> 최종적으로 실시간 현황을 확인하고 도서관으로 출발합니다.

 

이렇게 하니 매일 사이트에 들어가서 검색어를 입력하는 수고는 사라지고, 텔레그램 채팅창에 한 줄 명령어만 입력하면 되는 시스템이 완성되었습니다.

 

📝 마치며: 코딩, 누구나 할 수 있습니다

 

완벽한 자동화는 아니지만, 삶의 질이 약간 올라갔습니다.

 

상담을 하다 보면 문제 정의 자체가 모호할 때가 많은 불확실성을 견디며, 한치 앞도 잘 보이지 않는 뿌연 안개 속을 내담자와 함께 한 걸음씩 조심스럽게 걸어야 할 때가 있습니다.

 

초심자의 눈에서 코딩은 정반대로 느껴집니다. 문제가 명확하고 문제 풀이의 과정도 너무나 명확합니다. 그래서 더 매력적으로 느껴집니다.

 

저는 바이브 코딩의 진짜 가치가 일상의 소소한 문제를 해결하는 데 있다고 생각해요. - 출처

 

 

바쁜 일상 속에서 새로운 것을 배우는 게 쉽지는 않습니다. 하지만 일상의 소소한 문제 해결이 주는 쾌감은 새로운 기술을 배우는 데 따르는 수고를 상쇄하고도 남는 것 같습니다.

 

 

📎 기술 스택 & 참고

  • Language: Python 3.14
  • Library: python-telegram-bot, requests
  • Data: 정보나루(Data4Library) API
  • Limitation: 데이터 업데이트 주기로 인한 1일 지연 발생 (실시간 확인용 링크 생성으로 보완)
  • Infra: GitHub Actions (24시간 자동화)