Skip to content
··2분 읽기

광고맨이 코드맨으로? 나의 Python 모험

코드를 전혀 모르던 상태에서 나만의 챗봇을 만들고 450개 이상의 블로그 글을 자동화하기까지—Python을 배우는 것이 어떻게 몰랐던 문을 열어주었는지 소개합니다.

안녕하세요, 여러분! 오늘은 조금 다르지만 매우 관련 있는 주제에 대해 이야기하고 싶습니다—Google의 IT Automation with Python 과정입니다. AI와 기술이 산업을 재편하는 세상에서, 분야에 상관없이 전문가로서 발맞추는 것이 중요합니다. 시작해 볼까요!

왜 이 과정인가?

"왜 경험 많은 광고 전문가가 Python과 IT 자동화의 세계에 뛰어들까?"라고 궁금해하실 수 있습니다. 답은 매혹적인 AI의 세계, 특히 대규모 언어 모델(LLM)에 있습니다. 저는 항상 생성형 AI 애플리케이션에 흥미를 느꼈고 OpenAI, Google Cloud 등의 API를 사용하여 무언가를 만들고 싶었습니다.

하지만 문제는 — 코딩을 전혀 몰랐습니다. ChatGPT와 작업하면서, 간단한 코드를 생성하는 데 뛰어난 이 기계와 함께라도, 제 지식의 한계가 있다는 것을 깨달았습니다. 기계에게 무엇을 하라고 요청해야 하는지조차 몰랐습니다 :P 그래서 초보자 친화적인 과정이 필요한 넓은 맥락을 제공해 줄 수 있다고 결정했습니다.

여정과 도전

풀타임 직장, 가족, 추가 약속의 균형을 맞추는 것은 쉬운 일이 아닙니다. 하지만 무엇을 아세요? 가족의 지원과 늦은 밤 공부 세션 덕분에 이 Google IT Automation with Python 과정을 완료할 수 있었습니다. 막히면? ChatGPT가 도와주어 여정을 비교적 순탄하게 만들어 주었습니다. 완료 배지는 여기에서 확인하실 수 있습니다.

실용적 응용

이제 핵심적인 부분으로 넘어가겠습니다—이 새로 습득한 기술을 어떻게 활용했을까요? 우선, 운영 체제와 가상 인스턴스와 상호작용하기 위해 명령줄 인터페이스를 사용하는 데 더 능숙해졌습니다. 블로그 호스팅을 Google Cloud Platform(GCP)의 가상 인스턴스로 마이그레이션하여 모든 패키지가 최신 상태인지 확인했습니다. IP 주소 범위와 같은 잠재적 공격 표면을 제한하기 위해 GCP 기본 방화벽 규칙을 약간 변경하고 가상 인스턴스의 기본 RDP 규칙을 변경했습니다.

블로그 데이터 정리 및 준비

배운 것의 가장 흥미로운 응용 중 하나는 블로그 데이터를 정리하고 준비하는 것입니다. 450개 이상의 글이 있으니, 관리할 데이터가 상당합니다! 이러한 작업을 자동화하는 Python 스크립트를 작성하여 생활이 훨씬 편해졌습니다.

예를 들어, WP_XML_to_Clean_HTML.py라는 Python 스크립트를 사용하여 블로그 글의 HTML 콘텐츠를 정리합니다. 이 스크립트는 BeautifulSoup 라이브러리를 사용하여 불필요한 태그를 제거하고 텍스트를 포맷합니다. 다음은 일부 코드입니다:

# Function to clean HTML content
def clean_html(html_content):
    # Initialize BeautifulSoup object
    soup = BeautifulSoup(html_content, 'html.parser')

    # Remove script and style tags
    for script_or_style in soup(["script", "style"]):
        script_or_style.extract()

    # ... (rest of the code)

메타데이터 생성

또 다른 스크립트인 Generate_JSON_Lines_Metadata.py는 각 HTML 파일에 대한 메타데이터를 생성합니다. 이것은 LLM 챗봇을 훈련하는 데 특히 유용합니다. 이 스크립트는 hashlib 라이브러리를 사용하여 고유 ID를 생성하고 메타데이터를 JSON Lines 파일에 작성합니다. 작동 방식은 다음과 같습니다:

# Function to generate a hashed ID
def generate_id(title):
    hashed = hashlib.sha256(title.encode()).hexdigest()
    return hashed[:63]

# ... (rest of the code)

이것은 몇 가지 예에 불과하지만, 블로그를 관리하고 다른 프로젝트를 위한 데이터를 준비하는 데 매우 도움이 되었습니다. 코드는 chatGPT가 작성했습니다.

전체 코드는 GitHub 저장소를 방문하세요

OpenAI API를 사용한 나만의 챗봇

네, 약 5개월 후에 챗봇 버전 0.1을 완성했습니다. 여기에서 확인하실 수 있습니다. 더 많은 맥락을 이해하고 싶으시다면, "코딩 경험 없이 나만의 챗봇을 만든 방법: 배운 교훈" 글을 읽어보세요.

더 넓은 함의

이것이 저에게 무엇을 의미할까요? 이러한 기술은 직업에서 자동화를 위한 새로운 길을 열어주었습니다. 단조로운 작업을 자동화하여 더 전략적인 업무를 위한 시간을 확보하는 것을 상상해 보세요. 그것이 IT 자동화의 힘입니다!

왜 관심을 가져야 하나요?

"그건 당신에게 좋은 거지만, 왜 제가 관심을 가져야 하나요?"라고 생각하실 수 있습니다. 40세 광고 전문가도 배우고 적응할 수 있다면, 여러분도 할 수 있습니다. 세상이 빠르게 변하고 있으며, 기술 발전에 대한 최신 정보를 유지하는 것은 더 이상 선택이 아니라 필수입니다.

결론

요약하면, 이 과정은 저에게 변혁적인 경험이었습니다. 직업과 취미 모두에서 기술을 더 잘 이해하고 활용할 수 있는 기술을 갖추게 해주었습니다. 핵심 교훈은: 40세 광고 전문가가 Python을 배우고 무언가를 만들 수 있다면, 대부분의 사람도 할 수 있다고 믿습니다. 시간이 걸리지만, 가능합니다.

Python이나 프로그래밍 언어를 배워보신 적이 있으신가요? 여러분의 경험을 듣고 싶습니다 — 특히 고군분투하는 부분요, 사람들이 충분히 이야기하지 않는 부분이니까요 :)

감사합니다,

Chandler

추신: 전체 Python 코드를 확인하고 싶으시면, 제 Github 저장소를 방문하세요. chatGPT가 생성한 코드가 좋은지 아닌지 알려주세요.

계속 읽기

나의 여정
연결
언어
환경설정