[스파르타 코딩클럽 8기] 스파르타 코딩클럽 후기 & 회고

이홍희·2020년 7월 4일
0
post-thumbnail

1. 프로젝트 작동 영상

YES LIBRARY 작동 영상

2. 취지 & 설명

YES LIBRARY(http://yeslibrary.shop/)는 신촌에 위치한 3개 대학(연대, 이대, 서강대) 도서관에서 단행본 도서를 통합 검색할 수 있는 서비스입니다. 이 서비스는 기존에 도서 검색을 할 때 학교마다 도서관 홈페이지에 들어가 검색해야했던 번거로움을 없애고 여러 학교 도서관의 도서 보유 현황과 대출 현황을 한번에 확인할 수 있도록 했습니다. 이를 통해 소속 학교 도서관에 대한 검색 결과를 얻을 수 있을 뿐만 아니라 자신이 빌리고 싶은 책이 자기 학교 도서관에는 없거나 대출 중일 때 검색 결과에서 한번에 파악한 인접 학교 도서관의 도서 보유 현황을 바탕으로 주변 학교 지인들에게 편하게 대출을 부탁하거나 상호대차를 신청할 수도 있을 것입니다.

3. 기술설명

  1. Selenium으로 검색창에서 입력받은 키워드를 기반으로 3개 대학 도서관 홈페이지에서 검색하고 도서 정보와 대출 현황을 크롤링한다.
  2. 여러 도서관 페이지를 동시에 크롤링 하기 위해 파이썬 Multiprocessing 패키지를 활용했다.(Process 객체, Manager, JSON)
  3. 입력받은 키워드는 MongoDB에 저장하고 DB에서 최근에 입력된 키워드 4개를 가져와 메인 검색창에서 최근 검색어를 보여준다.
  4. 카카오링크 API를 활용해서 검색 결과 페이지에서 카카오톡 공유하기 버튼을 누르면 그 링크를 카카오톡 친구에게 공유할 수 있도록 한다.
  5. 현재는 도서관마다 최대 2권씩 보여주도록 설정하였지만 이는 유동적으로 조절할 수 있으며 검색 결과가 없을 때는 검색 결과가 없습니다 메시지를 보여준다.

4. 어려웠던 점 & 극복방법

처음에는 간단한 서비스라고 생각했지만 크롤링 과정에서 생각치도 못하게 막혔던 부분이 많았다. 예를 들면 표 크롤링한다고 Pandas로 한창 하다가 엎고, Selenium이 뜻대로 안 움직여줘서 계속 고쳐주고. 또 검색 결과를 조금이라도 빨리 얻고 싶어서 Multiprocessing을 도입했는데 그 과정도 쉽지는 않았다😂

이렇게 여러 여러 어려움이 있었지만 튜터님의 도움과 구글에 존재하는 무수한 능력자 분들의 도움으로 헤쳐 나갈 수 있었다. 막막한 순간들이 많았지만 이렇게 저렇게 시도하다보니 결국 대부분의 문제를 해결할 수 있었다는 점에서 앞으로 마주할 여러 문제에서도 근성있게 부딪혀 봐야겠다고 생각했다.

5. 후기 & 배운 것

매번 코드를 작성, 수정하고 나면 테스트하기 위해 검색어를 입력하고 검색 버튼을 눌렀다. 그때면 늘상 기도하는 마음으로 긴장하며 그 결과를 마주했던 것 같다. 대부분 뜻대로 움직이지 않았지만 가끔씩 내가 의도한 대로 움직였을 때 느꼈던 기쁘고 뿌듯한 감정덕분에 코딩을 이어갈 수 있었다. 그런 과정을 반복하다 보니 간단한 서비스이고 예쁘지도 않은 구성이지만 그래도 내 새끼같은 내 프로젝트가 완성되었다.

혼자서 파이썬, C언어 공부할 때도 재미있었지만 그때는 이걸로 무얼 할 수 있을까 의구심이 있었다면, 이번 스파르타 코딩클럽 수업을 통해 레고조각으로 작은 성을 만들어 보듯이 하나의 프로젝트를 완성하며 전반적인 흐름을 어렴풋이나마 알게 되었다고 생각한다. 아직은 갈 길이 멀지만 재미있고 알차게 배웠다!

profile
개발꿈나무 무럭무럭 자라는 중!

0개의 댓글