재입고 알림 봇 만들기-1 개요, 개발환경 만들기

전에 올렸던 재입고 알림 봇 만들기에 상세한 설명을 원하시는 분이 많아서 좀 더 자세히 작성해 올립니다. 몇 개로 나눠서 올릴 계획입니다.

개요

품절 상태인 온라인 마켓의 상품이 구매가능한 상태가 되었을 때 메신저로 알림이 오도록 하는 것이 프로그램의 목표입니다.
프로그램은 대략 이런 기술을 사용해 구성합니다.

  • 스크래핑 : 웹 페이지를 읽고, 구매 가능한 상태인지 체크합니다.
  • 메신저(봇) : 구매 가능한 상태가 되었을 때 사용자에게 알림을 보내는 역할을 합니다.

개발환경

  • 파이썬 : 프로그래밍 언어입니다. 배우기 쉬워서 코딩 교육에도 많이 사용됩니다. 다양한 오픈소스 라이브러리가 있어 여러가지 용도로 활용하기 아주 좋습니다. 스크래핑도 쉽게 만들 수 있습니다.
  • 아나콘다 : 파이썬의 개발환경을 관리하기 위한 툴입니다. 파이썬을 다운로드 받아서 그냥 사용해도 아무런 문제가 없습니다. 하지만 여러가지 용도로 활용하다 보면 각각 개발환경을 만들고 싶을 수 있습니다. 파이썬으로 웹 사이트를 만들 때, 지금처럼 스크래핑을 만들 때 다른 버전의 파이썬을 사용하거나 다른 구성의 라이브러리를 사용할 수 있게 해줍니다. 많이 사용하는 용도로 미리 구성된 패키지를 한 번에 다운로드 받을 수 있는 것도 큰 장점입니다.

실행 환경

이 부분은 옵션입니다. 개발환경(PC)에서 프로그램을 실행해도 문제는 없습니다. 다만 PC를 계속 켜두는게 좋은 생각은 아니기 때문에 저전력 컴퓨터인 NAS와 같은 곳에서 실행되도록 하는 편이 좋습니다. 프로그램의 특성상 주기적으로 체크하기 위해서 계속 실행될 필요가 있습니다. 전력을 많이 잡아먹는 PC 보다는 이미 항상 켜져있는 NAS 같은 곳에서 프로그램이 실행되면 더욱 좋을 것입니다. 시놀로지 NAS 기준으로 보면 파이썬을 직접 실행할 수도 있지만 NAS의 상태를 변경하는 것은 그렇게 좋은 생각이 아닙니다. 독립된 실행 환경을 만들어 주는 것이 보다 낫습니다. 이런 용도에 적합한 것은 docker와 같은 컨테이너 기술입니다.

  • Docker : 대표적인 컨테이너 입니다. 운영체제에 영향을 최소화하고 독립된 실행 환경을 만들 수 있도록 해줍니다.

개발환경 만들기

아나콘다 설치

파이썬을 개발하기 위해 아나콘다가 꼭 필요한 것은 아니지만 여러가지 장점이 많습니다. 파이썬 설치를 아나콘다 설치로 대체합니다.

  1. Python 3.7 버전으로 다운로드 합니다.
  2. 설치합니다. 기본 선택으로 진행합니다.
  3. 메뉴에 이런게 추가됩니다.
  4. Anaconda Prompt (Anaconda3) 로 들어가서 아래 명령을 실행해 파이썬 설치를 확인합니다. C:\Users\...>python --version

아나콘다를 설치하면 파이썬 개발에 쓸 수 있는 여러 툴들도 함께 설치됩니다. 개발환경과 라이브러리를 관리할 수 있는 Anaconda Navigator, 프로그램 편집기인 Spyder와 Jupyter Notebook 등이 있습니다.

실제 프로그래밍은 다음 포스트에서 진행하겠습니다.

실행환경 만들기

앞으로 개발할 프로그램을 일반 PC나 노트북에서 실행해도 문제는 없습니다. 다만 항시 켜놓는 컴퓨터(NAS 등)를 사용하거나 전력 소비가 적은 라즈베리 파이 같은 곳에서 실행하는 것이 보다 적당합니다. 여기서는 시놀로지 NAS에서 설치하는 것으로 진행했습니다.

Docker/Miniconda 설치

  1. 시놀로지 DSM 에서 패키지 센터에 들어갑니다.
  2. Docker를 검색해 설치합니다.
  3. 설치된 Docker 를 열어서 레지스트리 메뉴에 들어가 miniconda를 검색합니다. continuumio/miniconda3 를 더블클릭 해서 설치합니다.

  4. 이미지 탭에 들어가서 설치된 miniconda를 실행합니다. 더블클릭 하거나 실행 버튼을 눌러주면 됩니다. 다이얼로그가 나오는데 대략 그냥 기본으로 두고 시작해도 됩니다.

  5. 컨테이너 탭에 들어가서 실행 중인 miniconda를 찾습니다. 더블클릭 하거나 세부 사항 버튼을 눌러 상세 화면으로 들어갑니다.

  6. 터미널 탭에 들어갑니다. 쉘이 나옵니다. 아래 명령을 입력해 파이썬과 miniconda의 설치 상태를 확인합니다.
    # conda --version # python --version

  7. 이로써 파이썬 실행 환경을 갖춘 독립적인 컴퓨터(컨테이너)를 만들었습니다.

여기까지 재입고 알림봇을 만들기 위한 준비를 마쳤습니다. 다음으로는 프로그래밍을 진행하겠습니다.

재입고 알림 봇 만들기-1 개요, 개발환경 만들기”의 7개의 생각

    • samsee 글쓴이답글

      네 감사합니다. 보시고 필요하신 부분 있으면 댓글 또 부탁드립니다.

  1. 아세정 답글

    이런 매뉴얼 만드는 것이 파이썬 설치화면까지 캡쳐헤서 올리시는 게 결코 쉬운 일이 아닐 텐데 정말 노고가 대단하십니다.. 덕분에 docker 입문 겸으로 해서 쓸만한 걸 만들어 보려고 합니다. 감사합니다.

    • samsee 글쓴이답글

      감사합니다. 도움되는 걸 많이 찾으셨으면 좋겠네요.

  2. 김동구 답글

    http://localhost:8888/하면 notebook에 접속되야 하는데 안되는 것 같습니다.
    터미널에서 별도로 실행해봐도..
    docker pull continuumio/miniconda3
    docker run -i -t continuumio/miniconda3 /bin/bash

    어디를 봐야 할까요?

    • samsee 글쓴이답글

      우선 miniconda docker에는 Jupyter Notebook이 포함되어 있지 않습니다. notebook이 포함된 docker 이미지는 dockerhub에서 jupyter 로 검색해보시면 나올거예요. 대표적으로는 https://hub.docker.com/r/jupyter/datascience-notebook 이 있습니다.
      그리고 도커 실행시 포트를 연결해줘야 합니다.
      docker run -p 8888:8888 이미지명
      해주시면 될거예요. 올려주신 실행 커맨드는 쉘 접속시에 사용하는 커맨드 입니다.
      http://blog.samstdio.com/synology-docker-jupyter/
      이 글 참고해주세요.

  3. 사고파 답글

    안녕하세요, 너무 가지고 싶은 제품이 있는데 오매불망 기다리기만 하는 것도 좀 그러니 ^^
    얼마 전에 코딩을 처음 입문하기도 했고, 파이썬이 궁금했는데 선생님의 게시물을 보고
    따라 만들어 보려고 합니다. 다만 사이트의 sold out, order 부분이 좀 다른 것 같기도 하고
    재고 판매 부분은 사이트에서 새로 다시 올릴 수도 있어서 지켜볼 필요는 있을 것 같습니다.
    꼭 구매에 성공하고 싶네요. 파이썬은 참 신기한 것 같습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다