Python과 ChatGPT API를 활용한 자동화 로봇 개발

9_Python과 ChatGPT API를 이용한 블로그 자동화 프로그램 개발

atomicdev 2024. 8. 15. 16:22
728x90

강의 9: 프로그램 테스트 및 배포 - Jupyter Notebook에서 실행하기

이번 강의에서는 Jupyter Notebook 환경에서 티스토리 블로그 자동화 프로그램을 테스트하고 배포하는 방법을 학습합니다. 전반적인 프로그램 기능은 8장까지 완료가 되었기 때문에 9장의 내용은 개념 이해 정도로 진행해도 좋을거 같습니다.


1. 프로그램 테스트 방법

프로그램을 배포하기 전에 다양한 시나리오에서 제대로 작동하는지 테스트하는 것이 중요합니다. 아래는 이를 위한 테스트 방법입니다.

테스트 시나리오

  • 공감 및 댓글 기능 테스트: 특정 날짜 이후의 다양한 글에 대해 공감 클릭과 댓글 작성 기능을 테스트합니다.
  • 엣지 케이스 테스트: 글이 하나도 없는 경우나, 이미 공감 및 댓글이 작성된 글에 대해 재실행하는 경우를 테스트합니다.
# 필요한 라이브러리 임포트
import time
import logging

# 로그 설정
logging.basicConfig(filename='tistory_automation.log', level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')

def log_message(message):
    logging.info(message)
    print(message)

def test_process_posts(access_token, blog_name, post_ids):
    """테스트 목적으로 여러 글에 대해 공감 클릭과 댓글 작성 기능을 반복적으로 실행"""
    for post_id in post_ids:
        try:
            # 공감 클릭
            like_post(access_token, blog_name, post_id)
            log_message(f"Liked post {post_id}")

            # 댓글 생성 및 작성
            prompt = f"Test comment on post with ID {post_id}."
            comment_content = generate_comment_content(prompt)
            log_message(f"Generated Comment: {comment_content}")
            post_comment(access_token, blog_name, post_id, comment_content)
        except Exception as e:
            logging.error(f"Failed to process post {post_id}: {e}")

# 테스트 글 ID 목록
test_post_ids = ['POST_ID_1', 'POST_ID_2', 'POST_ID_3']

# 테스트 실행
test_process_posts(access_token, blog_name, test_post_ids)
 

코드 설명

  • test_process_posts: 테스트 목적으로 여러 글에 대해 공감 클릭과 댓글 작성 기능을 반복적으로 실행하는 함수입니다.
  • log_message: 프로그램의 동작을 로그로 기록하고 콘솔에 출력합니다.

2. 로그 기록 및 오류 처리 방법

프로그램이 실행될 때 발생하는 중요한 정보를 기록하고, 오류가 발생했을 때 이를 처리하는 방법을 구현합니다.

로그 기록

# 로그 기록 예시
log_message("Starting the automated process...")
 

오류 처리

 
try:
    # 공감 클릭
    like_post(access_token, blog_name, post_id)
except Exception as e:
    logging.error(f"Failed to like post {post_id}: {e}")

코드 설명

  • logging.error: 오류가 발생했을 때 해당 오류 메시지를 기록합니다.
  • 로그는 tistory_automation.log 파일에 기록됩니다.

3. 코드 관리 및 GitHub 저장소에 업로드

GitHub을 통해 코드 관리와 협업 환경을 마련합니다.

GitHub 저장소 생성 및 코드 업로드

# Git 초기화
!git init

# 모든 파일을 추가
!git add .

# 커밋 생성
!git commit -m "Initial commit for Tistory automation project"

# GitHub 원격 저장소에 푸시
!git remote add origin https://github.com/yourusername/tistory-automation.git
!git push -u origin master
 

코드 설명

  • git init: 로컬 Git 저장소를 초기화합니다.
  • git push: 로컬 커밋을 GitHub 원격 저장소에 푸시합니다.

4. 실습: 프로그램을 여러 번 실행하여 정상적으로 동작하는지 확인

이제 프로그램을 여러 번 실행하여 모든 기능이 정상적으로 동작하는지 확인합니다.

테스트 및 배포 프로세스

  1. 프로그램 실행 및 테스트: 여러 번 실행하여 모든 기능이 정상적으로 동작하는지 확인합니다.
  2. GitHub에 코드 업로드: 작성한 코드를 GitHub에 업로드하여 버전 관리 및 협업 환경을 마련합니다.

이 강의를 통해 수강자는 티스토리 블로그 자동화 프로그램을 성공적으로 테스트하고, 실제 환경에서 실행할 수 있도록 배포하는 방법을 이해하고 실습할 수 있게 됩니다. 이제 완성된 프로그램을 안정적으로 운영할 수 있는 능력을 갖추게 됩니다.

728x90