파이썬

파이썬 자동화 #5 결과를 알려주기: 메일, 슬랙, 디스코드 알림
6 분 소요

파이썬 자동화 #5 결과를 알려주기: 메일, 슬랙, 디스코드 알림

자동화의 마지막 조각은 보고입니다. 슬랙·디스코드 웹훅에 httpx POST 한 번으로 알림을 보내고, smtplib로 엑셀 첨부 메일을 발송하고, 토큰을 .env로 분리하는 방법까지 정리하겠습니다.

파이썬 자동화 #4 웹 스크래핑 ②: Playwright로 동적 페이지 다루기
5 분 소요

파이썬 자동화 #4 웹 스크래핑 ②: Playwright로 동적 페이지 다루기

requests로 받으면 빈 HTML만 오는 자바스크립트 렌더링 페이지를 Playwright로 다룹니다. 설치와 첫 스크립트부터 wait_for_selector 대기, 로그인 자동화, 무한 스크롤, CSV 저장까지 한 번에 정리하겠습니다.

파이썬 자동화 #3 웹 스크래핑 ①: httpx와 BeautifulSoup으로 정적 페이지 수집
6 분 소요

파이썬 자동화 #3 웹 스크래핑 ①: httpx와 BeautifulSoup으로 정적 페이지 수집

이번 글에서는 매일 들어가 확인하는 가격·공지·재고 페이지를 코드가 대신 읽게 만들겠습니다. httpx로 HTML을 받아오고 BeautifulSoup의 CSS 선택자로 필요한 데이터만 골라 CSV로 저장하는 정적 페이지 스크래핑을 다룹니다.

파이썬 자동화 #2 엑셀 자동화: openpyxl로 반복 보고서 끝내기
6 분 소요

파이썬 자동화 #2 엑셀 자동화: openpyxl로 반복 보고서 끝내기

openpyxl로 엑셀 파일을 읽고, 폴더의 지점별 보고서를 한 시트로 취합하고, 헤더 서식과 숫자 포맷까지 입힌 결과물을 만들어보겠습니다. 수식과 data_only의 함정, 병합 셀과 대용량 파일 주의점도 함께 정리합니다.

파이썬 자동화 #1 반복 작업 끝내기: 스크립트 첫걸음과 파일 정리
5 분 소요

파이썬 자동화 #1 반복 작업 끝내기: 스크립트 첫걸음과 파일 정리

파이썬으로 다운로드 폴더 정리 스크립트를 만들면서 자동화 스크립트의 기본 모양을 익힙니다. pathlib으로 파일을 분류해 옮기고, dry-run 안전장치와 argparse 인자 처리까지 한 사이클로 정리하겠습니다.

파이썬 테스트 #7 CI에서 돌리기: 사람이 잊어도 기계는 잊지 않는다
5 분 소요

파이썬 테스트 #7 CI에서 돌리기: 사람이 잊어도 기계는 잊지 않는다

GitHub Actions로 pytest를 자동 실행하는 CI 워크플로를 만듭니다. uv 캐시, 파이썬 버전 매트릭스, 커버리지 PR 코멘트, pre-commit, 느린 테스트 분리까지 정리하며 시리즈를 마무리합니다.

파이썬 테스트 #6 테스트 설계: 좋은 테스트와 커버리지 읽는 법
6 분 소요

파이썬 테스트 #6 테스트 설계: 좋은 테스트와 커버리지 읽는 법

테스트 설계의 기본기인 AAA 패턴과 동작 중심 테스트부터 테스트 더블 용어 정리, 플레이키 테스트 대응, pytest-cov 커버리지 숫자를 올바르게 읽는 법까지 다룹니다.

파이썬 테스트 #5 외부 세계 테스트: 파일, HTTP, DB, 웹 프레임워크
6 분 소요

파이썬 테스트 #5 외부 세계 테스트: 파일, HTTP, DB, 웹 프레임워크

mock으로 다 막은 테스트는 진짜 동작을 보장하지 못합니다. 파일은 tmp_path로 진짜를 쓰고, HTTP는 respx로 경계만 막고, DB는 트랜잭션 롤백으로 되돌리는 외부 세계 테스트 전략을 정리합니다.

파이썬 테스트 #4 mock과 monkeypatch: 통제할 수 없는 것을 통제하기
6 분 소요

파이썬 테스트 #4 mock과 monkeypatch: 통제할 수 없는 것을 통제하기

시간, 랜덤, 외부 API처럼 실행할 때마다 결과가 달라지는 의존성을 monkeypatch와 unittest.mock으로 고정하는 방법을 다룹니다. patch 경로 함정과 과잉 mock의 경계까지 정리합니다.

파이썬 테스트 #3 parametrize와 마커: 케이스를 늘리고 골라 돌리기
5 분 소요

파이썬 테스트 #3 parametrize와 마커: 케이스를 늘리고 골라 돌리기

pytest의 @pytest.mark.parametrize로 입력만 다른 테스트를 케이스 표 하나로 합치고, skip·skipif·xfail과 커스텀 마커, -m·-k 옵션으로 원하는 테스트만 골라 실행하는 방법을 정리합니다.

파이썬 테스트 #2 픽스처: 준비와 정리를 주입받기
6 분 소요

파이썬 테스트 #2 픽스처: 준비와 정리를 주입받기

@pytest.fixture로 테스트의 준비 코드를 주입받는 방법을 다룹니다. yield 티어다운, scope 트레이드오프, conftest.py 공유, tmp_path 같은 내장 픽스처까지 정리합니다.

파이썬 테스트 #1 pytest 시작: assert 하나로 충분한 이유
6 분 소요

파이썬 테스트 #1 pytest 시작: assert 하나로 충분한 이유

pytest를 설치하고 assert 하나로 첫 테스트를 작성하는 방법부터 unittest와의 차이, 실패 출력 읽는 법, 테스트 디스커버리 규칙까지 정리합니다.