"매일 아침, 관광업계 뉴스가 이메일로 도착합니다. 코딩은 AI가 다 했고요."
이 글을 쓰게 된 이유
저는 10년 정도 스타트업 기자로 일했고, 지금은 스타트업에서 콘텐츠를 만들고 있어요.
코딩이요? 고딩 때 HTML / 자바 스크립트를 배우긴했는데, 이미 25년 전 이야기라 기억이 전혀 없습니다.
그런 제가 1주일 전, 매일 아침 자동으로 관광/OTA 업계 뉴스를 수집해서 이메일로 보내주는 시스템을 만들었어요. 진짜로요.

비결이요? 바이브 코딩(Vibe Coding) 입니다.
AI한테 "이거 만들어줘"라고 말하면, AI가 코드를 짜주는 방식이에요. 저는 그냥 뭘 원하는지만 설명하면 됐죠. 마치 유능한 개발자 친구한테 부탁하는 것처럼요.
중요한 건, 이게 "한 번에 뚝딱" 완성된 게 아니라는 거예요.
첫날 기본 버전을 만들고, 1주일 동안 매일 아침 도착하는 뉴스를 보면서 "어? 이건 좀 별로네", "이 기능 있으면 좋겠다" 싶은 걸 Claude한테 말하고, 조금씩 고쳐나갔어요. 마치 요리하면서 간을 보고 소금 넣고, 다시 맛보고 후추 넣는 것처럼요.
이 글에서는 제가 뉴스 스크래퍼를 만든 전 과정을 낱낱이 공개합니다. 첫날부터 1주일 후 완성까지, 어떻게 점진적으로 발전시켜 나갔는지 보여드릴게요.
1.1 코딩의 새로운 시대
"코딩을 몰라도 프로그램을 만들 수 있다고?"
네, 가능해요. 2024년부터 완전히 새로운 시대가 열렸거든요.
전통적인 코딩은 이랬어요:
프로그래밍 언어를 배운다 (최소 몇 개월)
문법을 외운다 (for, if, while...)
에러가 나면 구글링해서 해결한다 (몇 시간씩)
코드 한 줄 한 줄 직접 타이핑한다
바이브 코딩은 이래요:
AI한테 "이거 만들어줘"라고 말한다
AI가 코드를 짜준다
에러가 나면 "이거 에러 나는데?"라고 말한다
AI가 고쳐준다
끝
농담 아니에요. 진짜 이렇게 됩니다. 물론 아직은 디버깅이 잘 안된다고 하시는 전문가분들은 많던데..저는 아직 초보라 거기까지는 ㅎㅎ
"바이브 코딩"이라는 이름은 Andrej Karpathy(전 테슬라 AI 총괄)가 만들었어요.
그의 말을 빌리자면: "코드를 읽지 않는다. 그냥 'vibe'를 느끼면서 AI한테 맡긴다. 에러가 나면 에러 메시지를 복사해서 AI한테 던져준다. 보통 해결된다."
사실 말만 듣고 언젠가는 해봐야지 했는데, 회사에 들어오니 일을 하게 되더군요 ㅋㅋㅋ
근데 해보니까 진짜 되더라고요. 😱
제가 만든 건 "매일 아침 관광/OTA 업계 뉴스를 자동으로 이메일로 받아보는 시스템" 이에요.
왜 만들었냐고요?
전 직장이자 지금도 홍보를 도와 드리고 있는 온다(ONDA) 업무를 할 때, 매일 아침 뉴스 클리핑을 했어요. 네이버 뉴스에서 '야놀자', '여기어때', '아고다' 같은 키워드를 검색하고, 관련 기사를 하나하나 확인하고, 중요한 것들을 정리해서 팀에 공유하는 거죠.
매일 30분~1시간씩 걸렸어요. 반복적이고 지루한 작업이었죠. "이거 자동화하면 좋겠다"라는 생각은 늘 있었는데, 코딩을 몰라서 포기했었어요. 개발자분들도 워낙 바쁘셔서 이걸 해주실 여유가 없었죠.
그런데 바이브 코딩을 알고 나서? 첫날 30분 만에 기본 버전이 돌아갔고, 1주일간 매일 조금씩 다듬어서 완성했습니다.
완성된 시스템이 하는 일:
매일 아침 8시에 자동으로 실행됨
네이버 및 구글에서 관광/OTA 관련 기사를 수집
중복 기사는 자동으로 제거
회사별로 균형 있게 선별 (야놀자만 여러개 나오는 거 방지)
정치 기사는 필터링
최신 기사 우선 정렬
이메일로 깔끔하게 전송
코딩 경험 없이 이걸 만들 수 있다! 지금부터 그 방법을 알려드릴게요.
바이브 코딩을 시작하려면 몇 가지 도구가 필요해요. "설치"라는 말만 들어도 막막하시죠? 걱정 마세요. 하나씩 천천히 따라오시면 됩니다.
2.1 Visual Studio Code (VS Code) 설치
VS Code가 뭔가요?
"코드를 작성하는 메모장의 고급 버전"이라고 생각하시면 돼요.
메모장으로도 코드를 쓸 수 있긴 한데, VS Code를 쓰면:
코드가 예쁘게 색칠돼서 읽기 편함
오타를 자동으로 잡아줌
AI(Claude)와 바로 대화할 수 있음
설치 방법: https://code.visualstudio.com 에 접속
파란색 "Download" 버튼 클릭 (여러분 컴퓨터에 맞는 버전이 자동으로 선택돼요)
다운로드된 파일 실행
"다음", "다음", "설치" 계속 클릭 (기본 설정 그대로 두셔도 됩니다)
완료!
(두둥! 비개발자에게 두려움을 주는 비주얼)
처음 실행하면 영어로 된 화면이 나와요. 당황하지 마세요. 왼쪽에 파일 목록, 가운데에 코드 작성 공간, 아래에 터미널이 있어요. 이 정도만 알면 됩니다.
2.2 Node.js 설치
Node.js가 뭔가요?
"컴퓨터가 JavaScript를 이해하게 해주는 통역사"라고 생각하면 돼요.
Claude CLI(잠시 후 설치할 거예요)가 JavaScript로 만들어져 있어서, Node.js가 있어야 작동해요. 왜 필요한지 이해 안 되셔도 괜찮아요. 그냥 설치하시면 됩니다. 😊 저도 잘 모릅니다 ㅋㅋㅋ
설치 방법: https://nodejs.org 에 접속
**"LTS"**라고 적힌 초록색 버튼 클릭 (왼쪽 버튼이에요. "안정적인 버전"이라는 뜻)
다운로드된 파일 실행
"다음", "다음", "설치" 계속 클릭
완료!
설치 확인 방법:
VS Code를 열고, 상단 메뉴에서 터미널 > 새 터미널을 클릭하세요. (또는 키보드에서 Ctrl + ~를 누르세요)
🖥️ 잠깐, 터미널이 뭔가요?
이 글에서 "터미널"이라는 단어가 계속 나올 거예요. 처음 들으시면 뭔가 해커들이 쓰는 무서운 거 같죠? 😅 터미널은 "컴퓨터랑 글자로 대화하는 창"이에요.
(아씨 이거 뭐야..무서워)
우리가 보통 컴퓨터를 쓸 때는 마우스로 클릭하잖아요. 폴더 더블클릭해서 열고, 프로그램 아이콘 클릭해서 실행하고요.
터미널은 그걸 글자로 하는 거예요.
예를 들어:
마우스로: 폴더 더블클릭 → 파일 보임
터미널로: ls 입력하고 Enter → 파일 목록이 글자로 쭉 나옴
마우스로: 프로그램 아이콘 더블클릭
터미널로: python scraper.py 입력하고 Enter
"왜 굳이 이렇게 불편하게 해요?"
개발자들이 쓰는 도구들은 대부분 아이콘이 없어요. 클릭할 게 없죠. 그래서 터미널로 명령어를 입력해서 실행해야 해요.
근데 걱정 마세요! 바이브 코딩에서는 Claude가 명령어를 알려주거나 대신 실행해줘요. 여러분은 그냥 복사해서 붙여넣기만 하면 됩니다.
VS Code에서 터미널 여는 법:
상단 메뉴: 터미널 > 새 터미널
또는 단축키: Ctrl + ~ (물결 키, 숫자 1 왼쪽에 있어요)
아래쪽에 검은 창이 뜨면 그게 터미널이에요. 거기에 명령어를 입력하고 Enter를 누르면 실행됩니다.
아래쪽에 검은 화면이 나타나면, 거기에 이렇게 입력하고 Enter를 누르세요:
node --version
v20.x.x 같은 숫자가 나오면 성공이에요!
2.3 Python 설치
Python이 뭔가요?
"웹 스크래핑에 가장 많이 쓰는 프로그래밍 언어"예요.
우리가 만들 뉴스 스크래퍼가 Python으로 작동해요. Claude가 Python 코드를 짜줄 건데, 그걸 실행하려면 Python이 설치되어 있어야 해요.
설치 방법:
https://python.org 에 접속
"Downloads" 메뉴에서 노란색 버튼 클릭
다운로드된 파일 실행
⚠️ 중요! 설치 화면 맨 아래에 "Add Python to PATH" 체크박스가 있어요. 반드시 체크하세요! (이거 안 하면 나중에 골치 아파요)
"Install Now" 클릭
완료!
설치 확인 방법:
VS Code 터미널에서 이렇게 입력:
python --version
Python 3.x.x 같은 숫자가 나오면 성공! (Mac 사용자는 python3 --version으로 해보세요)
2.4 Claude CLI 설치
Claude CLI가 뭔가요?
드디어 핵심이에요! 🎉
"터미널에서 Claude AI와 대화하는 도구"예요.
ChatGPT 웹사이트 아시죠? 브라우저에서 AI한테 질문하고 답변 받는 거요. Claude CLI는 그걸 VS Code 안에서 할 수 있게 해줘요.
근데 왜 굳이 VS Code 안에서 해야 하냐고요?
핵심 차이점:
ChatGPT 웹사이트: AI가 코드를 "보여주기만" 함. 복사해서 붙여넣기 해야 함.
Claude CLI: AI가 코드를 직접 만들어서 저장해줌. 파일도 만들고, 실행도 해줌.
즉, Claude CLI를 쓰면 AI가 진짜 "개발자처럼" 일해주는 거예요. 물론 AI에게 작업을 많이 시키기때문에 무료 사용으로는 거의 바이브 코딩이 불가능해요.
저는 회사에서 제일 비싼 MAX 계정을 열어 주셨는데요. 아직은 무리 없이 쓰는데, 제 동료들은 토큰을 다 써서 잠시 쉬기도 하시더라고요.
자 암튼, 설치 방법 제대로 설명 들어갑니다!
설치 방법:
VS Code 터미널을 열고 (Ctrl + ~), 이렇게 입력:
npm install -g @anthropic-ai/claude-code
(npm은 Node.js를 설치할 때 같이 설치된 도구예요. "앱스토어" 같은 거라고 생각하시면 돼요)
(요렇게 터미널에 입력. 과거 도스를 써본 사람들은 익숙하지만...)
설치가 완료되면 이렇게 입력해서 확인:
claude --version
버전 번호가 나오면 성공!
Anthropic 계정 연결:
터미널에서 claude를 입력하고 Enter를 누르면, 처음에 로그인하라고 나와요.
브라우저가 열리면서 Anthropic 로그인 페이지가 뜸
계정이 없으면 만들기 (무료)
로그인하면 자동으로 연결됨
2.5 VS Code에서 Claude 사용하기
자, 이제 모든 준비가 끝났어요!
VS Code 터미널에서 claude를 입력하면:
claude
Claude가 VS Code 안에서 실행되면서, 여러분의 입력을 기다려요.

꿀팁: Claude Code Focus Input 쓰기 🍯
사실 저는 터미널보다 더 쉬운 방법을 쓰고 있어요.
VS Code에 Claude Code 확장 프로그램을 설치하면, Ctrl + Escape 단축키로 Claude와 바로 대화할 수 있는 입력창이 나와요.
이게 왜 좋냐면요:
일반 터미널 방식:
터미널 열기
claude 입력해서 Claude 시작
대화하기
코드 수정하면 터미널에서 확인
Focus Input 방식:
Ctrl + Escape 누르기 바로 대화하기 끝!
이렇게 비 개발자들에게 훨씬 마음 편한 화면이 나와요.
화면 전환 없이 코딩하면서 바로바로 Claude한테 물어볼 수 있어서 훨씬 편해요.
설치 방법:
VS Code 왼쪽 사이드바에서 확장(Extensions) 아이콘 클릭 (네모 4개 모양)
검색창에 "Claude Code" 입력
설치 버튼 클릭
이제 Ctrl + Escape로 바로 사용 가능!
이 글에서는 터미널 방식으로 설명하지만, Focus Input이 더 편하니까 익숙해지시면 그걸로 쓰세요. 😊
3.1 프로젝트 폴더 만들기
본격적으로 시작하기 전에, 작업할 폴더를 만들어야 해요.
바탕화면이나 원하는 곳에 새 폴더를 만드세요. 이름은 onda-news-scraper로 할게요.
VS Code에서 파일 > 폴더 열기를 선택하고, 방금 만든 폴더를 선택
터미널을 열고 (Ctrl + ~) claude 입력 (앞서 claude code focus input)으로 쓰면 이 과정 필요 없음
이제 진짜 시작이에요!
3.2 첫 번째 요청
저는 Claude한테 이렇게 말했어요:
네이버 뉴스에서 관광/OTA 관련 기사를 긁어오는 Python 스크립트를 만들어줘. 검색할 키워드: - 야놀자 - 여기어때 - 아고다 - 익스피디아 - 에어비앤비 - 호텔스닷컴 - 트립닷컴 - 스테이폴리오 - 마이리얼트립
각 키워드별로 최신 뉴스 5개씩 가져와줘. 결과는 제목, 링크, 발행일, 언론사 정보를 포함해줘.
그랬더니 Claude가 이렇게 대답했어요:
네, 네이버 뉴스에서 관광/OTA 관련 기사를 수집하는 Python 스크립트를 만들어드릴게요. 필요한 라이브러리를 먼저 설치하고, 스크립트를 작성하겠습니다. [파일 생성 중: requirements.txt] [파일 생성 중: onda_news_scraper.py]
뭔 말인지는 잘 모르겠지만 몇 초 만에 파일 두 개가 뚝딱 만들어졌어요.
VS Code 왼쪽 파일 목록에서 확인할 수 있었죠.
Claude가 만든 코드가 뭔지 이해할 필요 없어요. 그냥 "아, 뭔가 만들어졌구나" 하시면 됩니다 ㅋㅋㅋ
3.3 테스트 해보기
Claude가 이렇게 말했어요:
스크립트를 실행하기 전에 필요한 라이브러리를 설치해야 해요. 터미널에서 이 명령어를 실행하세요: pip install -r requirements.txt
시키는 대로 했어요: pip install -r requirements.txt
(뭔가 줄줄줄 설치되는 게 보여요. 기다리세요.)
설치가 끝나면:
python onda_news_scraper.py
Enter를 누르면...
[야놀자] 검색 중... ✓ 5개 기사 수집 완료
[여기어때] 검색 중... ✓ 5개 기사 수집 완료
...
=== 수집 결과 === 총 45개 기사 수집 완료!
[야놀자] 야놀자, 상반기 영업이익 흑자 전환 https://news.naver.com/... 발행일: 2024-12-20 | 한국경제
[여기어때] 여기어때, 연말 프로모션 시작
... "와, 진짜 되네!" 순간이었어요. 😱
코드 한 줄 안 쓰고, 그냥 말로 설명했을 뿐인데 진짜 작동하는 프로그램이 만들어진 거예요.
첫날 기본 버전이 완성됐어요.
근데 실제로 써보니 아쉬운 점들이 하나둘 보이더라고요.
바이브 코딩의 진짜 매력은 여기서 나와요.
전통적인 개발이었다면 "이 기능 추가하려면 코드 어디를 고쳐야 하지?" 하면서 몇 시간씩 삽질했을 거예요.
근데 바이브 코딩은? "이거 좀 바꿔줘"라고 말하면 바꿔줍니다.
1주일 동안 매일 아침 뉴스 이메일을 받아보면서, 불편한 점을 하나씩 고쳐나간 과정을 보여드릴게요.
4.1 [Day 2] 이메일로 받아보기
터미널에서 뉴스 목록을 보는 건 좀 불편했어요. 매일 아침 이메일로 받아보면 좋겠다 싶었죠.
Claude한테 이렇게 말했어요:
이거 결과를 이메일로 보내주는 기능 추가해줘. Gmail로 보내고 싶어.
Claude가 대답했어요:
Gmail로 이메일을 보내려면 "앱 비밀번호"가 필요해요. Gmail 계정 설정에서 앱 비밀번호를 만드는 방법을 알려드릴게요.
Google 계정으로 로그인
보안 > 2단계 인증 활성화 (이미 했으면 스킵)
보안 > 앱 비밀번호 > 새 앱 비밀번호 생성
16자리 비밀번호가 나오면 복사해두세요
[코드 수정 중...] [파일 생성: .env.example]
Claude가 코드도 수정하고, .env 파일 템플릿도 만들어줬어요. 거기에 이메일 주소랑 앱 비밀번호를 넣으면 끝!
테스트로 실행했더니:
✉️ 이메일 전송 완료: your-email@gmail.com
진짜 이메일이 왔어요! 😍
4.2 [Day 3] 중복 기사 제거
며칠 써보니 문제가 생겼어요. 어제 본 기사가 오늘 또 나오는 거예요.
어제 본 기사가 또 나오는데, 이미 본 기사는 제외해줘.
Claude:
스크랩 히스토리 기능을 추가할게요. 수집한 기사 URL을 저장해두고, 다음에 실행할 때 중복 체크하는 방식이에요. [파일 수정 중: onda_news_scraper.py] [파일 생성: scrape_history.json]
이제 한번 본 기사는 다시 안 나와요. 👍
4.3 [Day 4] 회사별 중요도 설정
또 다른 문제가 있었어요. NOL 기사만 10개가 나오는 날이 있었거든요. 야놀자가 뉴스에 많이 나오니까 당연한 건데, 다른 회사 소식도 보고 싶잖아요.
(하...이러면 나가린데...)
야놀자 기사만 너무 많이 나오는데, 회사마다 최대 3개씩만 보여주고, 다양한 회사 기사가 골고루 나오게 해줘.
Claude:
회사별 다양성 필터를 추가할게요. 각 회사당 최대 3개 기사만 포함하고, 나머지는 점수가 높아도 제외하는 방식이에요. [파일 수정 중...]
이제 야놀자 3개, 여기어때 3개, 아고다 3개... 이런 식으로 균형 있게 나와요.
4.4 [Day 5] 정치 기사 필터링
어느 날 이런 기사가 나왔어요: "OO 장관, 야놀자 방문해 OO 발언"
음... 이건 OTA 업계 뉴스라기보다 정치 뉴스에 가깝잖아요?
정치인 개인 이슈나 정치 관련 기사는 제외해줘. 국토부 장관이나 관광부 장관 관련 기사 중에서도 정책 발표가 아니라 정치적 발언이면 빼줘.
Claude:
정치 기사 필터를 추가할게요. 특정 키워드가 포함된 기사를 제외하는 방식이에요. 필터링할 키워드 예시: - 국정감사, 청문회, 탄핵, 대선, 총선 - 여당, 야당, 민주당, 국민의힘 - OO 장관 발언, OO 의원 주장 [파일 수정 중...]
이제 업계 뉴스의 중요도가 올라 갔어요 🎯
4.5 [Day 6] 오래된 기사 페널티
마지막 문제. 3일 전 기사가 1위로 나올 때가 있었어요.
뉴스는 신선도가 생명이잖아요. 오늘 기사가 더 중요하게 나와야 하는데...
오래된 기사는 순위를 낮춰줘. 오늘 기사가 가장 높은 점수를 받고, 하루 지날 때마다 점수가 10%씩 감소하게 해줘.
Claude:
시간 기반 점수 조정 기능을 추가할게요. 기존 점수 계산: - 네이버 뉴스 정렬 순서 기반 새로운 점수 계산: - 기존 점수 × 시간 가중치 - 시간 가중치 = 0.9 ^ (경과일수) - 오늘: 1.0 - 어제: 0.9 - 그제: 0.81 - 3일 전: 0.73 [파일 수정 중...]
이제 그나마 최신 기사가 나오긴 하더이다!
Part 5: Git으로 작업 기록 남기기 (이거 진짜 중요해요!)
여기까지 따라오셨으면 기본 스크래퍼는 완성이에요.
그런데 제가 1주일간 작업하면서 가장 잘한 일이 뭔지 아세요? 바로 Git을 쓴 것이에요.
5.1 Git이 뭔가요?
Git은 "코드의 타임머신" 이에요.
게임 할 때 세이브 포인트 만들어두잖아요? 보스전 앞에서 저장해두면, 죽어도 거기서 다시 시작할 수 있죠. Git이 바로 그거예요.
코드의 세이브 포인트를 만들어주는 도구.
Git의 핵심 개념:
커밋(commit): "지금 상태 저장!" - 스냅샷을 찍는 것
푸시(push): 로컬 저장소를 GitHub 서버에 업로드하는 것
풀(pull): GitHub에서 최신 코드를 가져오는 것
저장소(repository): 프로젝트가 저장되는 공간 (줄여서 "레포")
5.2 왜 Git을 써야 하나요?
"어차피 내 컴퓨터에 파일 있는데, 왜 귀찮게 Git을 써야 해요?"
저도 처음엔 그렇게 생각했어요. 근데 1주일 작업하면서 Git이 없었으면 진짜 큰일 날 뻔한 순간이 여러 번 있었어요.
3일차에 "회사별 필터링" 기능을 추가하다가, 뭔가 잘못 건드려서 스크래퍼가 아예 안 돌아갔어요. 에러가 막 나는데 뭘 잘못 건드렸는지 모르겠더라고요.
Git이 없었다면? 처음부터 다시 만들어야 했을 거예요.
Git이 있으니까? git checkout . 한 방에 어제 잘 돌아가던 버전으로 복구. 5초 만에 해결. 😮💨
매일 조금씩 고치다 보니, "어제 뭘 수정했더라?" 헷갈릴 때가 있어요.
Git의 커밋 히스토리를 보면:
12/20: 정치 기사 필터링 추가 12/19: 회사별 최대 3개 제한 12/18: 중복 기사 제거 기능 12/17: 이메일 발송 기능 추가 12/16: 첫 버전 완성
이렇게 작업 일지가 자동으로 남아요. 나중에 "그때 그 기능 어떻게 만들었더라?" 할 때 찾아보기도 편하고요.
GitHub에 올려두면 내 컴퓨터가 불이 나도 코드는 안전해요.
새 컴퓨터에서 git clone만 하면 바로 복구되거든요.
제 스크래퍼 GitHub 주소 알려드리면, 여러분도 제 코드를 그대로 받아서 쓸 수 있어요. 카톡으로 파일 보내고 그럴 필요 없이 링크 하나면 끝.
5.3 제가 작업한 방식: "매일 커밋"
저는 1주일간 이렇게 작업했어요:
매일 아침:
어제 만든 스크래퍼가 보낸 뉴스 이메일 확인
"어? 이건 좀 별로네" 싶은 거 메모
Claude한테 수정 요청
테스트해서 잘 되면 커밋
왜 매일 커밋했냐고요?
작은 단위로 자주 저장해야 문제가 생겼을 때 되돌리기 쉬워요.
❌ 안 좋은 예: 1주일 동안 작업하고 마지막에 한 번 커밋 → 문제 생기면 1주일 치 작업 전체가 날아감
✅ 좋은 예: 기능 하나 추가할 때마다 커밋 → 문제 생기면 그 기능만 되돌리면 됨
이건 바이브 코딩의 핵심 원칙이기도 해요. "작게 만들고, 자주 테스트하고, 잘 되면 저장"
5.4 GitHub 계정 만들기
"Sign up" 클릭해서 계정 생성 (무료)
로그인 후 오른쪽 위 "+" 버튼 > "New repository"
Repository name: onda-news-scraper
"Create repository" 클릭
5.5 Git 설치하기
Windows:
"Download for Windows" 클릭
설치 (기본 옵션 그대로 OK)
Mac: 터미널에서 git --version 입력하면 자동 설치 안내가 나와요.
설치 확인:
git --version
버전 번호가 나오면 성공!
5.6 내 코드 올리기
Claude한테 이렇게 말하면 끝이에요:
이 프로젝트를 git에 올려줘. GitHub 주소: https://github.com/내아이디/onda-news-scraper
커밋 메시지는 "첫 버전: 기본 뉴스 스크래퍼 완성"으로 해줘.
Claude가 알아서:
git파일들 추가 (git add .) 커밋 메시지 작성 (git commit -m "...") GitHub에 푸시 (git push)
다 해줘요.
5.7 매일 커밋하는 습관
새 기능을 추가할 때마다 이렇게 말하세요:
잘 되네! 이거 커밋해줘.
메시지는 "기능 추가: 중복 기사 제거"로.
그러면 Claude가:
git add . git commit -m "기능 추가: 중복 기사 제거" git push
자동으로 해줘요.
꿀팁: 커밋 메시지는 나중에 봤을 때 "이게 뭐였지?" 알 수 있게 구체적으로 쓰세요.
❌ "수정함", "업데이트" "fix"
✅ "버그 수정: 야놀자 키워드 검색 안 되던 문제", "기능 추가: 3일 이상 된 기사 점수 감소"
5.8 제 실제 커밋 히스토리 참고로 제 실제 작업 기록이에요:
Day 7: 자동화 완성 - GitHub Actions 설정 Day 6: 시간 가중치 추가 - 오래된 기사 순위 낮춤 Day 5: 정치 기사 필터링 키워드 추가 Day 4: 회사별 최대 3개 제한 Day 3: 중복 기사 히스토리 기능 Day 2: 이메일 발송 기능 + HTML 템플릿 Day 1: 첫 버전 - 기본 스크래핑 완성
이렇게 차곡차곡 쌓여가는 거 보면 뿌듯해요. "내가 이만큼 만들었구나!" 하는 느낌이 있거든요. 😊
드디어 마지막 날이에요! 🎉
지금까지 만든 스크래퍼는 수동으로 실행해야 해요.
python onda_news_scraper.py를 터미널에 입력해야 돌아가죠.
근데 매일 아침 컴퓨터 켜고 명령어 치기 귀찮잖아요?
GitHub Actions를 쓰면 "매일 아침 8시에 자동 실행"을 설정할 수 있어요.
6.1 매일 자동 실행
Claude한테 이렇게 말했어요:
이 스크래퍼를 매일 아침 8시에 자동으로 실행하고 싶어. GitHub Actions로 설정해줘.
Claude:
GitHub Actions 워크플로우를 만들어드릴게요. [파일 생성: .github/workflows/daily-scrape.yml] 이 파일이 하는 일: - 매일 한국 시간 오전 8시에 자동 실행 - Python 환경 세팅 - 필요한 라이브러리 설치 - 스크래퍼 실행 - 이메일 전송
GitHub에 push하면 바로 활성화돼요.
GitHub 저장소의 Settings > Secrets에서 이메일 비밀번호만 등록하면 끝!
6.2 1주일 여정의 완성!
이제 진짜 끝이에요.
Day 1부터 Day 7까지, 1주일간의 결과물:
✅ Day 1: 기본 스크래퍼 완성
✅ Day 2: 이메일 발송 기능
✅ Day 3: 중복 기사 자동 제거
✅ Day 4: 회사별 균형 있는 기사 선별
✅ Day 5: 정치 기사 필터링
✅ Day 6: 최신 기사 우선 정렬
✅ Day 7: 매일 아침 8시 자동 실행
코딩 지식 없이, 매일 30분씩, 1주일 만에 이 모든 걸 만들었어요.
AI한테 "이거 좀 불편해", "이 기능 추가해줘"라고 말하기만 했을 뿐인데요.
제가 삽질하면서 배운 것들을 공유할게요.
7.1 효과적인 요청 방법
❌ "뉴스 스크래퍼 만들어줘"
✅ "네이버 뉴스에서 '야놀자' 키워드로 검색해서 최신 뉴스 5개를 가져오는 Python 스크립트 만들어줘"
에러가 났을 때 직접 해결하려고 하지 마세요. 에러 메시지를 그대로 복사해서 Claude한테 던지세요.
이 에러가 나는데: ModuleNotFoundError: No module named 'requests' 어떻게 해결해?
3. "이게 뭐야?" 물어봐도 됨
Claude가 만든 코드가 뭔지 궁금하면 물어보세요.
방금 만든 코드에서 'requests.get()' 이게 뭐하는 거야?
친절하게 설명해줘요.
7.2 흔한 실수와 해결법
설치가 안 될 때:
PATH 문제인 경우가 많아요
Python 설치할 때 "Add to PATH" 체크 안 했으면 다시 설치
VS Code 껐다가 다시 켜보기
코드가 에러 날 때:
에러 메시지 전체를 Claude한테 복붙
"이 에러 해결해줘"라고 하면 됨
Claude가 이해 못할 때:
더 구체적으로 설명
예시를 들어주기
"내가 원하는 건 A가 아니라 B야"라고 정정
마무리: 컴퓨터만 있으면 프로그래머가 되는 시대
이 글을 시작할 때 말씀드렸죠. 저는 코딩을 1도 몰랐다고요.
HTML 태그 하나 제대로 못 쳤고, for 문이 뭔지도 몰랐어요. "변수"라는 단어만 들어도 머리가 아팠죠.
그런 제가 1주일 만에 실용적인 뉴스 자동화 시스템을 만들었어요.
하루에 30분씩, 매일 아침 뉴스 이메일을 받아보면서 "이건 좀 별로네" 싶은 걸 Claude한테 말하고, 조금씩 고쳐나갔을 뿐이에요.
바이브 코딩의 핵심은 이거예요:
"한 번에 완벽하게 만들려고 하지 마세요. 일단 만들고, 써보고, 고치세요. 그 과정을 AI가 도와줍니다."
코드 문법? 몰라도 돼요. 알고리즘? 몰라도 돼요. 디버깅? AI가 해줘요.
여러분이 해야 할 건 딱 두 가지예요:
"이런 거 만들고 싶어"라고 말하는 것
"이건 좀 별로네, 이렇게 바꿔줘"라고 피드백하는 것
그리고 Git으로 매일 저장해두면, 망해도 되돌릴 수 있으니까 맘 편하게 실험할 수 있어요.
물론 한계는 있어요. 비프로그래머가 복잡한 시스템이나 대규모 서비스는 아직 어려워요.
하지만 개인용 도구? 업무 자동화? 간단한 웹사이트? 충분히 가능해요.
그리고 가장 중요한 건...
시작이 반이다.
이 글을 읽고 "나중에 해봐야지"라고 생각하시면 영영 안 하게 돼요.
지금 바로 VS Code 설치하세요. Node.js 설치하세요. Claude CLI 설치하세요. 그리고 Claude한테 물어보세요.
"뭔가 만들고 싶은데, 뭐부터 시작하면 돼?"
AI가 답해줄 거예요. 😊
📚 참고 자료 Claude CLI 공식 문서: https://docs.anthropic.com/claude-code bkamp 커뮤니티: https://bkamp.ai (바이브 코딩 입문자들의 놀이터!)
이 글이 도움이 됐다면, 주변에 "나도 뭔가 만들어보고 싶은데..." 하는 분한테 공유해주세요! 질문이 있으시면 bkamp 커뮤니티의 리들(Riddle)에서 물어보세요. 바이브 코더들이 친절하게 답해드려요. 🙌
댓글을 작성하려면 로그인이 필요합니다.
"매일 아침, 관광업계 뉴스가 이메일로 도착합니다. 코딩은 AI가 다 했고요."
이 글을 쓰게 된 이유
저는 10년 정도 스타트업 기자로 일했고, 지금은 스타트업에서 콘텐츠를 만들고 있어요.
코딩이요? 고딩 때 HTML / 자바 스크립트를 배우긴했는데, 이미 25년 전 이야기라 기억이 전혀 없습니다.
그런 제가 1주일 전, 매일 아침 자동으로 관광/OTA 업계 뉴스를 수집해서 이메일로 보내주는 시스템을 만들었어요. 진짜로요.

비결이요? 바이브 코딩(Vibe Coding) 입니다.
AI한테 "이거 만들어줘"라고 말하면, AI가 코드를 짜주는 방식이에요. 저는 그냥 뭘 원하는지만 설명하면 됐죠. 마치 유능한 개발자 친구한테 부탁하는 것처럼요.
중요한 건, 이게 "한 번에 뚝딱" 완성된 게 아니라는 거예요.
첫날 기본 버전을 만들고, 1주일 동안 매일 아침 도착하는 뉴스를 보면서 "어? 이건 좀 별로네", "이 기능 있으면 좋겠다" 싶은 걸 Claude한테 말하고, 조금씩 고쳐나갔어요. 마치 요리하면서 간을 보고 소금 넣고, 다시 맛보고 후추 넣는 것처럼요.
이 글에서는 제가 뉴스 스크래퍼를 만든 전 과정을 낱낱이 공개합니다. 첫날부터 1주일 후 완성까지, 어떻게 점진적으로 발전시켜 나갔는지 보여드릴게요.
1.1 코딩의 새로운 시대
"코딩을 몰라도 프로그램을 만들 수 있다고?"
네, 가능해요. 2024년부터 완전히 새로운 시대가 열렸거든요.
전통적인 코딩은 이랬어요:
프로그래밍 언어를 배운다 (최소 몇 개월)
문법을 외운다 (for, if, while...)
에러가 나면 구글링해서 해결한다 (몇 시간씩)
코드 한 줄 한 줄 직접 타이핑한다
바이브 코딩은 이래요:
AI한테 "이거 만들어줘"라고 말한다
AI가 코드를 짜준다
에러가 나면 "이거 에러 나는데?"라고 말한다
AI가 고쳐준다
끝
농담 아니에요. 진짜 이렇게 됩니다. 물론 아직은 디버깅이 잘 안된다고 하시는 전문가분들은 많던데..저는 아직 초보라 거기까지는 ㅎㅎ
"바이브 코딩"이라는 이름은 Andrej Karpathy(전 테슬라 AI 총괄)가 만들었어요.
그의 말을 빌리자면: "코드를 읽지 않는다. 그냥 'vibe'를 느끼면서 AI한테 맡긴다. 에러가 나면 에러 메시지를 복사해서 AI한테 던져준다. 보통 해결된다."
사실 말만 듣고 언젠가는 해봐야지 했는데, 회사에 들어오니 일을 하게 되더군요 ㅋㅋㅋ
근데 해보니까 진짜 되더라고요. 😱
제가 만든 건 "매일 아침 관광/OTA 업계 뉴스를 자동으로 이메일로 받아보는 시스템" 이에요.
왜 만들었냐고요?
전 직장이자 지금도 홍보를 도와 드리고 있는 온다(ONDA) 업무를 할 때, 매일 아침 뉴스 클리핑을 했어요. 네이버 뉴스에서 '야놀자', '여기어때', '아고다' 같은 키워드를 검색하고, 관련 기사를 하나하나 확인하고, 중요한 것들을 정리해서 팀에 공유하는 거죠.
매일 30분~1시간씩 걸렸어요. 반복적이고 지루한 작업이었죠. "이거 자동화하면 좋겠다"라는 생각은 늘 있었는데, 코딩을 몰라서 포기했었어요. 개발자분들도 워낙 바쁘셔서 이걸 해주실 여유가 없었죠.
그런데 바이브 코딩을 알고 나서? 첫날 30분 만에 기본 버전이 돌아갔고, 1주일간 매일 조금씩 다듬어서 완성했습니다.
완성된 시스템이 하는 일:
매일 아침 8시에 자동으로 실행됨
네이버 및 구글에서 관광/OTA 관련 기사를 수집
중복 기사는 자동으로 제거
회사별로 균형 있게 선별 (야놀자만 여러개 나오는 거 방지)
정치 기사는 필터링
최신 기사 우선 정렬
이메일로 깔끔하게 전송
코딩 경험 없이 이걸 만들 수 있다! 지금부터 그 방법을 알려드릴게요.
바이브 코딩을 시작하려면 몇 가지 도구가 필요해요. "설치"라는 말만 들어도 막막하시죠? 걱정 마세요. 하나씩 천천히 따라오시면 됩니다.
2.1 Visual Studio Code (VS Code) 설치
VS Code가 뭔가요?
"코드를 작성하는 메모장의 고급 버전"이라고 생각하시면 돼요.
메모장으로도 코드를 쓸 수 있긴 한데, VS Code를 쓰면:
코드가 예쁘게 색칠돼서 읽기 편함
오타를 자동으로 잡아줌
AI(Claude)와 바로 대화할 수 있음
설치 방법: https://code.visualstudio.com 에 접속
파란색 "Download" 버튼 클릭 (여러분 컴퓨터에 맞는 버전이 자동으로 선택돼요)
다운로드된 파일 실행
"다음", "다음", "설치" 계속 클릭 (기본 설정 그대로 두셔도 됩니다)
완료!
(두둥! 비개발자에게 두려움을 주는 비주얼)
처음 실행하면 영어로 된 화면이 나와요. 당황하지 마세요. 왼쪽에 파일 목록, 가운데에 코드 작성 공간, 아래에 터미널이 있어요. 이 정도만 알면 됩니다.
2.2 Node.js 설치
Node.js가 뭔가요?
"컴퓨터가 JavaScript를 이해하게 해주는 통역사"라고 생각하면 돼요.
Claude CLI(잠시 후 설치할 거예요)가 JavaScript로 만들어져 있어서, Node.js가 있어야 작동해요. 왜 필요한지 이해 안 되셔도 괜찮아요. 그냥 설치하시면 됩니다. 😊 저도 잘 모릅니다 ㅋㅋㅋ
설치 방법: https://nodejs.org 에 접속
**"LTS"**라고 적힌 초록색 버튼 클릭 (왼쪽 버튼이에요. "안정적인 버전"이라는 뜻)
다운로드된 파일 실행
"다음", "다음", "설치" 계속 클릭
완료!
설치 확인 방법:
VS Code를 열고, 상단 메뉴에서 터미널 > 새 터미널을 클릭하세요. (또는 키보드에서 Ctrl + ~를 누르세요)
🖥️ 잠깐, 터미널이 뭔가요?
이 글에서 "터미널"이라는 단어가 계속 나올 거예요. 처음 들으시면 뭔가 해커들이 쓰는 무서운 거 같죠? 😅 터미널은 "컴퓨터랑 글자로 대화하는 창"이에요.
(아씨 이거 뭐야..무서워)
우리가 보통 컴퓨터를 쓸 때는 마우스로 클릭하잖아요. 폴더 더블클릭해서 열고, 프로그램 아이콘 클릭해서 실행하고요.
터미널은 그걸 글자로 하는 거예요.
예를 들어:
마우스로: 폴더 더블클릭 → 파일 보임
터미널로: ls 입력하고 Enter → 파일 목록이 글자로 쭉 나옴
마우스로: 프로그램 아이콘 더블클릭
터미널로: python scraper.py 입력하고 Enter
"왜 굳이 이렇게 불편하게 해요?"
개발자들이 쓰는 도구들은 대부분 아이콘이 없어요. 클릭할 게 없죠. 그래서 터미널로 명령어를 입력해서 실행해야 해요.
근데 걱정 마세요! 바이브 코딩에서는 Claude가 명령어를 알려주거나 대신 실행해줘요. 여러분은 그냥 복사해서 붙여넣기만 하면 됩니다.
VS Code에서 터미널 여는 법:
상단 메뉴: 터미널 > 새 터미널
또는 단축키: Ctrl + ~ (물결 키, 숫자 1 왼쪽에 있어요)
아래쪽에 검은 창이 뜨면 그게 터미널이에요. 거기에 명령어를 입력하고 Enter를 누르면 실행됩니다.
아래쪽에 검은 화면이 나타나면, 거기에 이렇게 입력하고 Enter를 누르세요:
node --version
v20.x.x 같은 숫자가 나오면 성공이에요!
2.3 Python 설치
Python이 뭔가요?
"웹 스크래핑에 가장 많이 쓰는 프로그래밍 언어"예요.
우리가 만들 뉴스 스크래퍼가 Python으로 작동해요. Claude가 Python 코드를 짜줄 건데, 그걸 실행하려면 Python이 설치되어 있어야 해요.
설치 방법:
https://python.org 에 접속
"Downloads" 메뉴에서 노란색 버튼 클릭
다운로드된 파일 실행
⚠️ 중요! 설치 화면 맨 아래에 "Add Python to PATH" 체크박스가 있어요. 반드시 체크하세요! (이거 안 하면 나중에 골치 아파요)
"Install Now" 클릭
완료!
설치 확인 방법:
VS Code 터미널에서 이렇게 입력:
python --version
Python 3.x.x 같은 숫자가 나오면 성공! (Mac 사용자는 python3 --version으로 해보세요)
2.4 Claude CLI 설치
Claude CLI가 뭔가요?
드디어 핵심이에요! 🎉
"터미널에서 Claude AI와 대화하는 도구"예요.
ChatGPT 웹사이트 아시죠? 브라우저에서 AI한테 질문하고 답변 받는 거요. Claude CLI는 그걸 VS Code 안에서 할 수 있게 해줘요.
근데 왜 굳이 VS Code 안에서 해야 하냐고요?
핵심 차이점:
ChatGPT 웹사이트: AI가 코드를 "보여주기만" 함. 복사해서 붙여넣기 해야 함.
Claude CLI: AI가 코드를 직접 만들어서 저장해줌. 파일도 만들고, 실행도 해줌.
즉, Claude CLI를 쓰면 AI가 진짜 "개발자처럼" 일해주는 거예요. 물론 AI에게 작업을 많이 시키기때문에 무료 사용으로는 거의 바이브 코딩이 불가능해요.
저는 회사에서 제일 비싼 MAX 계정을 열어 주셨는데요. 아직은 무리 없이 쓰는데, 제 동료들은 토큰을 다 써서 잠시 쉬기도 하시더라고요.
자 암튼, 설치 방법 제대로 설명 들어갑니다!
설치 방법:
VS Code 터미널을 열고 (Ctrl + ~), 이렇게 입력:
npm install -g @anthropic-ai/claude-code
(npm은 Node.js를 설치할 때 같이 설치된 도구예요. "앱스토어" 같은 거라고 생각하시면 돼요)
(요렇게 터미널에 입력. 과거 도스를 써본 사람들은 익숙하지만...)
설치가 완료되면 이렇게 입력해서 확인:
claude --version
버전 번호가 나오면 성공!
Anthropic 계정 연결:
터미널에서 claude를 입력하고 Enter를 누르면, 처음에 로그인하라고 나와요.
브라우저가 열리면서 Anthropic 로그인 페이지가 뜸
계정이 없으면 만들기 (무료)
로그인하면 자동으로 연결됨
2.5 VS Code에서 Claude 사용하기
자, 이제 모든 준비가 끝났어요!
VS Code 터미널에서 claude를 입력하면:
claude
Claude가 VS Code 안에서 실행되면서, 여러분의 입력을 기다려요.

꿀팁: Claude Code Focus Input 쓰기 🍯
사실 저는 터미널보다 더 쉬운 방법을 쓰고 있어요.
VS Code에 Claude Code 확장 프로그램을 설치하면, Ctrl + Escape 단축키로 Claude와 바로 대화할 수 있는 입력창이 나와요.
이게 왜 좋냐면요:
일반 터미널 방식:
터미널 열기
claude 입력해서 Claude 시작
대화하기
코드 수정하면 터미널에서 확인
Focus Input 방식:
Ctrl + Escape 누르기 바로 대화하기 끝!
이렇게 비 개발자들에게 훨씬 마음 편한 화면이 나와요.
화면 전환 없이 코딩하면서 바로바로 Claude한테 물어볼 수 있어서 훨씬 편해요.
설치 방법:
VS Code 왼쪽 사이드바에서 확장(Extensions) 아이콘 클릭 (네모 4개 모양)
검색창에 "Claude Code" 입력
설치 버튼 클릭
이제 Ctrl + Escape로 바로 사용 가능!
이 글에서는 터미널 방식으로 설명하지만, Focus Input이 더 편하니까 익숙해지시면 그걸로 쓰세요. 😊
3.1 프로젝트 폴더 만들기
본격적으로 시작하기 전에, 작업할 폴더를 만들어야 해요.
바탕화면이나 원하는 곳에 새 폴더를 만드세요. 이름은 onda-news-scraper로 할게요.
VS Code에서 파일 > 폴더 열기를 선택하고, 방금 만든 폴더를 선택
터미널을 열고 (Ctrl + ~) claude 입력 (앞서 claude code focus input)으로 쓰면 이 과정 필요 없음
이제 진짜 시작이에요!
3.2 첫 번째 요청
저는 Claude한테 이렇게 말했어요:
네이버 뉴스에서 관광/OTA 관련 기사를 긁어오는 Python 스크립트를 만들어줘. 검색할 키워드: - 야놀자 - 여기어때 - 아고다 - 익스피디아 - 에어비앤비 - 호텔스닷컴 - 트립닷컴 - 스테이폴리오 - 마이리얼트립
각 키워드별로 최신 뉴스 5개씩 가져와줘. 결과는 제목, 링크, 발행일, 언론사 정보를 포함해줘.
그랬더니 Claude가 이렇게 대답했어요:
네, 네이버 뉴스에서 관광/OTA 관련 기사를 수집하는 Python 스크립트를 만들어드릴게요. 필요한 라이브러리를 먼저 설치하고, 스크립트를 작성하겠습니다. [파일 생성 중: requirements.txt] [파일 생성 중: onda_news_scraper.py]
뭔 말인지는 잘 모르겠지만 몇 초 만에 파일 두 개가 뚝딱 만들어졌어요.
VS Code 왼쪽 파일 목록에서 확인할 수 있었죠.
Claude가 만든 코드가 뭔지 이해할 필요 없어요. 그냥 "아, 뭔가 만들어졌구나" 하시면 됩니다 ㅋㅋㅋ
3.3 테스트 해보기
Claude가 이렇게 말했어요:
스크립트를 실행하기 전에 필요한 라이브러리를 설치해야 해요. 터미널에서 이 명령어를 실행하세요: pip install -r requirements.txt
시키는 대로 했어요: pip install -r requirements.txt
(뭔가 줄줄줄 설치되는 게 보여요. 기다리세요.)
설치가 끝나면:
python onda_news_scraper.py
Enter를 누르면...
[야놀자] 검색 중... ✓ 5개 기사 수집 완료
[여기어때] 검색 중... ✓ 5개 기사 수집 완료
...
=== 수집 결과 === 총 45개 기사 수집 완료!
[야놀자] 야놀자, 상반기 영업이익 흑자 전환 https://news.naver.com/... 발행일: 2024-12-20 | 한국경제
[여기어때] 여기어때, 연말 프로모션 시작
... "와, 진짜 되네!" 순간이었어요. 😱
코드 한 줄 안 쓰고, 그냥 말로 설명했을 뿐인데 진짜 작동하는 프로그램이 만들어진 거예요.
첫날 기본 버전이 완성됐어요.
근데 실제로 써보니 아쉬운 점들이 하나둘 보이더라고요.
바이브 코딩의 진짜 매력은 여기서 나와요.
전통적인 개발이었다면 "이 기능 추가하려면 코드 어디를 고쳐야 하지?" 하면서 몇 시간씩 삽질했을 거예요.
근데 바이브 코딩은? "이거 좀 바꿔줘"라고 말하면 바꿔줍니다.
1주일 동안 매일 아침 뉴스 이메일을 받아보면서, 불편한 점을 하나씩 고쳐나간 과정을 보여드릴게요.
4.1 [Day 2] 이메일로 받아보기
터미널에서 뉴스 목록을 보는 건 좀 불편했어요. 매일 아침 이메일로 받아보면 좋겠다 싶었죠.
Claude한테 이렇게 말했어요:
이거 결과를 이메일로 보내주는 기능 추가해줘. Gmail로 보내고 싶어.
Claude가 대답했어요:
Gmail로 이메일을 보내려면 "앱 비밀번호"가 필요해요. Gmail 계정 설정에서 앱 비밀번호를 만드는 방법을 알려드릴게요.
Google 계정으로 로그인
보안 > 2단계 인증 활성화 (이미 했으면 스킵)
보안 > 앱 비밀번호 > 새 앱 비밀번호 생성
16자리 비밀번호가 나오면 복사해두세요
[코드 수정 중...] [파일 생성: .env.example]
Claude가 코드도 수정하고, .env 파일 템플릿도 만들어줬어요. 거기에 이메일 주소랑 앱 비밀번호를 넣으면 끝!
테스트로 실행했더니:
✉️ 이메일 전송 완료: your-email@gmail.com
진짜 이메일이 왔어요! 😍
4.2 [Day 3] 중복 기사 제거
며칠 써보니 문제가 생겼어요. 어제 본 기사가 오늘 또 나오는 거예요.
어제 본 기사가 또 나오는데, 이미 본 기사는 제외해줘.
Claude:
스크랩 히스토리 기능을 추가할게요. 수집한 기사 URL을 저장해두고, 다음에 실행할 때 중복 체크하는 방식이에요. [파일 수정 중: onda_news_scraper.py] [파일 생성: scrape_history.json]
이제 한번 본 기사는 다시 안 나와요. 👍
4.3 [Day 4] 회사별 중요도 설정
또 다른 문제가 있었어요. NOL 기사만 10개가 나오는 날이 있었거든요. 야놀자가 뉴스에 많이 나오니까 당연한 건데, 다른 회사 소식도 보고 싶잖아요.
(하...이러면 나가린데...)
야놀자 기사만 너무 많이 나오는데, 회사마다 최대 3개씩만 보여주고, 다양한 회사 기사가 골고루 나오게 해줘.
Claude:
회사별 다양성 필터를 추가할게요. 각 회사당 최대 3개 기사만 포함하고, 나머지는 점수가 높아도 제외하는 방식이에요. [파일 수정 중...]
이제 야놀자 3개, 여기어때 3개, 아고다 3개... 이런 식으로 균형 있게 나와요.
4.4 [Day 5] 정치 기사 필터링
어느 날 이런 기사가 나왔어요: "OO 장관, 야놀자 방문해 OO 발언"
음... 이건 OTA 업계 뉴스라기보다 정치 뉴스에 가깝잖아요?
정치인 개인 이슈나 정치 관련 기사는 제외해줘. 국토부 장관이나 관광부 장관 관련 기사 중에서도 정책 발표가 아니라 정치적 발언이면 빼줘.
Claude:
정치 기사 필터를 추가할게요. 특정 키워드가 포함된 기사를 제외하는 방식이에요. 필터링할 키워드 예시: - 국정감사, 청문회, 탄핵, 대선, 총선 - 여당, 야당, 민주당, 국민의힘 - OO 장관 발언, OO 의원 주장 [파일 수정 중...]
이제 업계 뉴스의 중요도가 올라 갔어요 🎯
4.5 [Day 6] 오래된 기사 페널티
마지막 문제. 3일 전 기사가 1위로 나올 때가 있었어요.
뉴스는 신선도가 생명이잖아요. 오늘 기사가 더 중요하게 나와야 하는데...
오래된 기사는 순위를 낮춰줘. 오늘 기사가 가장 높은 점수를 받고, 하루 지날 때마다 점수가 10%씩 감소하게 해줘.
Claude:
시간 기반 점수 조정 기능을 추가할게요. 기존 점수 계산: - 네이버 뉴스 정렬 순서 기반 새로운 점수 계산: - 기존 점수 × 시간 가중치 - 시간 가중치 = 0.9 ^ (경과일수) - 오늘: 1.0 - 어제: 0.9 - 그제: 0.81 - 3일 전: 0.73 [파일 수정 중...]
이제 그나마 최신 기사가 나오긴 하더이다!
Part 5: Git으로 작업 기록 남기기 (이거 진짜 중요해요!)
여기까지 따라오셨으면 기본 스크래퍼는 완성이에요.
그런데 제가 1주일간 작업하면서 가장 잘한 일이 뭔지 아세요? 바로 Git을 쓴 것이에요.
5.1 Git이 뭔가요?
Git은 "코드의 타임머신" 이에요.
게임 할 때 세이브 포인트 만들어두잖아요? 보스전 앞에서 저장해두면, 죽어도 거기서 다시 시작할 수 있죠. Git이 바로 그거예요.
코드의 세이브 포인트를 만들어주는 도구.
Git의 핵심 개념:
커밋(commit): "지금 상태 저장!" - 스냅샷을 찍는 것
푸시(push): 로컬 저장소를 GitHub 서버에 업로드하는 것
풀(pull): GitHub에서 최신 코드를 가져오는 것
저장소(repository): 프로젝트가 저장되는 공간 (줄여서 "레포")
5.2 왜 Git을 써야 하나요?
"어차피 내 컴퓨터에 파일 있는데, 왜 귀찮게 Git을 써야 해요?"
저도 처음엔 그렇게 생각했어요. 근데 1주일 작업하면서 Git이 없었으면 진짜 큰일 날 뻔한 순간이 여러 번 있었어요.
3일차에 "회사별 필터링" 기능을 추가하다가, 뭔가 잘못 건드려서 스크래퍼가 아예 안 돌아갔어요. 에러가 막 나는데 뭘 잘못 건드렸는지 모르겠더라고요.
Git이 없었다면? 처음부터 다시 만들어야 했을 거예요.
Git이 있으니까? git checkout . 한 방에 어제 잘 돌아가던 버전으로 복구. 5초 만에 해결. 😮💨
매일 조금씩 고치다 보니, "어제 뭘 수정했더라?" 헷갈릴 때가 있어요.
Git의 커밋 히스토리를 보면:
12/20: 정치 기사 필터링 추가 12/19: 회사별 최대 3개 제한 12/18: 중복 기사 제거 기능 12/17: 이메일 발송 기능 추가 12/16: 첫 버전 완성
이렇게 작업 일지가 자동으로 남아요. 나중에 "그때 그 기능 어떻게 만들었더라?" 할 때 찾아보기도 편하고요.
GitHub에 올려두면 내 컴퓨터가 불이 나도 코드는 안전해요.
새 컴퓨터에서 git clone만 하면 바로 복구되거든요.
제 스크래퍼 GitHub 주소 알려드리면, 여러분도 제 코드를 그대로 받아서 쓸 수 있어요. 카톡으로 파일 보내고 그럴 필요 없이 링크 하나면 끝.
5.3 제가 작업한 방식: "매일 커밋"
저는 1주일간 이렇게 작업했어요:
매일 아침:
어제 만든 스크래퍼가 보낸 뉴스 이메일 확인
"어? 이건 좀 별로네" 싶은 거 메모
Claude한테 수정 요청
테스트해서 잘 되면 커밋
왜 매일 커밋했냐고요?
작은 단위로 자주 저장해야 문제가 생겼을 때 되돌리기 쉬워요.
❌ 안 좋은 예: 1주일 동안 작업하고 마지막에 한 번 커밋 → 문제 생기면 1주일 치 작업 전체가 날아감
✅ 좋은 예: 기능 하나 추가할 때마다 커밋 → 문제 생기면 그 기능만 되돌리면 됨
이건 바이브 코딩의 핵심 원칙이기도 해요. "작게 만들고, 자주 테스트하고, 잘 되면 저장"
5.4 GitHub 계정 만들기
"Sign up" 클릭해서 계정 생성 (무료)
로그인 후 오른쪽 위 "+" 버튼 > "New repository"
Repository name: onda-news-scraper
"Create repository" 클릭
5.5 Git 설치하기
Windows:
"Download for Windows" 클릭
설치 (기본 옵션 그대로 OK)
Mac: 터미널에서 git --version 입력하면 자동 설치 안내가 나와요.
설치 확인:
git --version
버전 번호가 나오면 성공!
5.6 내 코드 올리기
Claude한테 이렇게 말하면 끝이에요:
이 프로젝트를 git에 올려줘. GitHub 주소: https://github.com/내아이디/onda-news-scraper
커밋 메시지는 "첫 버전: 기본 뉴스 스크래퍼 완성"으로 해줘.
Claude가 알아서:
git파일들 추가 (git add .) 커밋 메시지 작성 (git commit -m "...") GitHub에 푸시 (git push)
다 해줘요.
5.7 매일 커밋하는 습관
새 기능을 추가할 때마다 이렇게 말하세요:
잘 되네! 이거 커밋해줘.
메시지는 "기능 추가: 중복 기사 제거"로.
그러면 Claude가:
git add . git commit -m "기능 추가: 중복 기사 제거" git push
자동으로 해줘요.
꿀팁: 커밋 메시지는 나중에 봤을 때 "이게 뭐였지?" 알 수 있게 구체적으로 쓰세요.
❌ "수정함", "업데이트" "fix"
✅ "버그 수정: 야놀자 키워드 검색 안 되던 문제", "기능 추가: 3일 이상 된 기사 점수 감소"
5.8 제 실제 커밋 히스토리 참고로 제 실제 작업 기록이에요:
Day 7: 자동화 완성 - GitHub Actions 설정 Day 6: 시간 가중치 추가 - 오래된 기사 순위 낮춤 Day 5: 정치 기사 필터링 키워드 추가 Day 4: 회사별 최대 3개 제한 Day 3: 중복 기사 히스토리 기능 Day 2: 이메일 발송 기능 + HTML 템플릿 Day 1: 첫 버전 - 기본 스크래핑 완성
이렇게 차곡차곡 쌓여가는 거 보면 뿌듯해요. "내가 이만큼 만들었구나!" 하는 느낌이 있거든요. 😊
드디어 마지막 날이에요! 🎉
지금까지 만든 스크래퍼는 수동으로 실행해야 해요.
python onda_news_scraper.py를 터미널에 입력해야 돌아가죠.
근데 매일 아침 컴퓨터 켜고 명령어 치기 귀찮잖아요?
GitHub Actions를 쓰면 "매일 아침 8시에 자동 실행"을 설정할 수 있어요.
6.1 매일 자동 실행
Claude한테 이렇게 말했어요:
이 스크래퍼를 매일 아침 8시에 자동으로 실행하고 싶어. GitHub Actions로 설정해줘.
Claude:
GitHub Actions 워크플로우를 만들어드릴게요. [파일 생성: .github/workflows/daily-scrape.yml] 이 파일이 하는 일: - 매일 한국 시간 오전 8시에 자동 실행 - Python 환경 세팅 - 필요한 라이브러리 설치 - 스크래퍼 실행 - 이메일 전송
GitHub에 push하면 바로 활성화돼요.
GitHub 저장소의 Settings > Secrets에서 이메일 비밀번호만 등록하면 끝!
6.2 1주일 여정의 완성!
이제 진짜 끝이에요.
Day 1부터 Day 7까지, 1주일간의 결과물:
✅ Day 1: 기본 스크래퍼 완성
✅ Day 2: 이메일 발송 기능
✅ Day 3: 중복 기사 자동 제거
✅ Day 4: 회사별 균형 있는 기사 선별
✅ Day 5: 정치 기사 필터링
✅ Day 6: 최신 기사 우선 정렬
✅ Day 7: 매일 아침 8시 자동 실행
코딩 지식 없이, 매일 30분씩, 1주일 만에 이 모든 걸 만들었어요.
AI한테 "이거 좀 불편해", "이 기능 추가해줘"라고 말하기만 했을 뿐인데요.
제가 삽질하면서 배운 것들을 공유할게요.
7.1 효과적인 요청 방법
❌ "뉴스 스크래퍼 만들어줘"
✅ "네이버 뉴스에서 '야놀자' 키워드로 검색해서 최신 뉴스 5개를 가져오는 Python 스크립트 만들어줘"
에러가 났을 때 직접 해결하려고 하지 마세요. 에러 메시지를 그대로 복사해서 Claude한테 던지세요.
이 에러가 나는데: ModuleNotFoundError: No module named 'requests' 어떻게 해결해?
3. "이게 뭐야?" 물어봐도 됨
Claude가 만든 코드가 뭔지 궁금하면 물어보세요.
방금 만든 코드에서 'requests.get()' 이게 뭐하는 거야?
친절하게 설명해줘요.
7.2 흔한 실수와 해결법
설치가 안 될 때:
PATH 문제인 경우가 많아요
Python 설치할 때 "Add to PATH" 체크 안 했으면 다시 설치
VS Code 껐다가 다시 켜보기
코드가 에러 날 때:
에러 메시지 전체를 Claude한테 복붙
"이 에러 해결해줘"라고 하면 됨
Claude가 이해 못할 때:
더 구체적으로 설명
예시를 들어주기
"내가 원하는 건 A가 아니라 B야"라고 정정
마무리: 컴퓨터만 있으면 프로그래머가 되는 시대
이 글을 시작할 때 말씀드렸죠. 저는 코딩을 1도 몰랐다고요.
HTML 태그 하나 제대로 못 쳤고, for 문이 뭔지도 몰랐어요. "변수"라는 단어만 들어도 머리가 아팠죠.
그런 제가 1주일 만에 실용적인 뉴스 자동화 시스템을 만들었어요.
하루에 30분씩, 매일 아침 뉴스 이메일을 받아보면서 "이건 좀 별로네" 싶은 걸 Claude한테 말하고, 조금씩 고쳐나갔을 뿐이에요.
바이브 코딩의 핵심은 이거예요:
"한 번에 완벽하게 만들려고 하지 마세요. 일단 만들고, 써보고, 고치세요. 그 과정을 AI가 도와줍니다."
코드 문법? 몰라도 돼요. 알고리즘? 몰라도 돼요. 디버깅? AI가 해줘요.
여러분이 해야 할 건 딱 두 가지예요:
"이런 거 만들고 싶어"라고 말하는 것
"이건 좀 별로네, 이렇게 바꿔줘"라고 피드백하는 것
그리고 Git으로 매일 저장해두면, 망해도 되돌릴 수 있으니까 맘 편하게 실험할 수 있어요.
물론 한계는 있어요. 비프로그래머가 복잡한 시스템이나 대규모 서비스는 아직 어려워요.
하지만 개인용 도구? 업무 자동화? 간단한 웹사이트? 충분히 가능해요.
그리고 가장 중요한 건...
시작이 반이다.
이 글을 읽고 "나중에 해봐야지"라고 생각하시면 영영 안 하게 돼요.
지금 바로 VS Code 설치하세요. Node.js 설치하세요. Claude CLI 설치하세요. 그리고 Claude한테 물어보세요.
"뭔가 만들고 싶은데, 뭐부터 시작하면 돼?"
AI가 답해줄 거예요. 😊
📚 참고 자료 Claude CLI 공식 문서: https://docs.anthropic.com/claude-code bkamp 커뮤니티: https://bkamp.ai (바이브 코딩 입문자들의 놀이터!)
이 글이 도움이 됐다면, 주변에 "나도 뭔가 만들어보고 싶은데..." 하는 분한테 공유해주세요! 질문이 있으시면 bkamp 커뮤니티의 리들(Riddle)에서 물어보세요. 바이브 코더들이 친절하게 답해드려요. 🙌
댓글을 작성하려면 로그인이 필요합니다.