PC를 정해진 시각에 깨우고 재우는 자동화
오전 9시에 돌도록 걸어둔 작업 스케줄러 작업이 며칠째 조용합니다. 로그 폴더는 비어 있고, 에러도 없고, 작업 이력에는 아무것도 남지 않았습니다. 원인은 허무할 만큼 단순합니다 — 그 시각에 PC가 켜져 있지 않았습니다. 이럴 때 필요한 게 컴퓨터 자동 켜기와 절전 예약입니다. 매일 아침 손으로 PC를 켜고 스크립트를 실행하는 데 2분씩 쓴다면 한 달이면 한 시간이고, 깜빡한 … 더 읽기
오전 9시에 돌도록 걸어둔 작업 스케줄러 작업이 며칠째 조용합니다. 로그 폴더는 비어 있고, 에러도 없고, 작업 이력에는 아무것도 남지 않았습니다. 원인은 허무할 만큼 단순합니다 — 그 시각에 PC가 켜져 있지 않았습니다. 이럴 때 필요한 게 컴퓨터 자동 켜기와 절전 예약입니다. 매일 아침 손으로 PC를 켜고 스크립트를 실행하는 데 2분씩 쓴다면 한 달이면 한 시간이고, 깜빡한 … 더 읽기
윈도우에서 Node.js 스크립트로 npm이나 npx를 호출하다가 node spawn EINVAL 에러를 만나면 대부분 당황합니다. 코드를 한 줄도 고치지 않았는데, Node 버전을 올린 다음부터 갑자기 죽기 때문입니다. 저도 자동 발행 스크립트에서 이걸 만나 30분 넘게 오타를 찾았습니다. 원인은 오타가 아니라 Node 자체의 보안 패치였습니다. 이 글에서는 왜 이런 일이 생기는지, 그리고 상황별로 어떤 해결책을 골라야 하는지 정리합니다. … 더 읽기
상품 리뷰 500건을 AI로 분류하는 스크립트를 돌렸는데, 340번째에서 JSONDecodeError가 나면서 멈췄습니다. 로그를 열어 보니 모델이 JSON 앞에 “물론이죠! 아래는 분석 결과입니다.”라는 인사말을 한 줄 붙였더군요. 이런 식으로 AI JSON 응답 파싱이 실패하면, 그때까지 쓴 API 비용은 그대로 날아가고 처음부터 다시 돌려야 합니다. 500건에 20분이 걸리는 작업이라면 하루에 두세 번만 실패해도 한 시간이 사라집니다. 이 글에서는 … 더 읽기
자동화 스크립트를 하나 만들 때마다 작업 스케줄러 창을 열고, “작업 만들기”를 누르고, 이름 적고, 트리거 탭으로 가서 시각을 정하고, 동작 탭에서 실행 파일과 인수와 시작 위치를 채우고, 조건 탭에서 전원 옵션을 끄고… 이 과정이 마우스 클릭 스무 번쯤 됩니다. 한 번이면 참을 만한데, PC를 새로 세팅하거나 스크립트 경로가 바뀌면 처음부터 다시입니다. 무엇보다 어떻게 등록했는지가 아무 … 더 읽기
자동화 스크립트를 스케줄러에 걸어두고 나면 이상한 습관이 하나 생깁니다. 잘 돌았는지 확인하려고 하루에 몇 번씩 로그 폴더를 열어보는 겁니다. 파일을 찾고, 맨 아래로 내리고, 시간을 대조하고, 아무 일 없었음을 확인하고 닫습니다. 한 번에 2분씩 하루 세 번이면 한 달에 세 시간입니다. 그런데 정작 진짜 문제가 터진 날에는 며칠 뒤에야 알아차립니다. 디스코드 웹훅 알림을 파이썬 코드 … 더 읽기
윈도우 작업 스케줄러를 열어 보면 마지막 실행 결과: 0x0 (작업이 완료되었습니다)라고 적혀 있습니다. 그런데 만들어졌어야 할 파일이 없습니다. 보내졌어야 할 메일이 없습니다. 심지어 스크립트가 제일 먼저 만드는 로그 폴더조차 생기지 않았습니다. 작업 스케줄러가 성공이라는데 실행이 안 된 것처럼 보이는, 가장 짜증나는 종류의 고장입니다. 저도 매일 아침 9시에 도는 자동화에서 이걸 겪었습니다. 스케줄러 기록에는 8월 14일 … 더 읽기
어제까지 잘 돌던 수집 스크립트가 오늘 아침에만 CERTIFICATE_VERIFY_FAILED를 뱉고 멈춰 있습니다. 브라우저로 같은 주소를 열어보면 자물쇠 아이콘까지 멀쩡한데, 파이썬에서만 안 됩니다. 이 SSL 인증서 오류는 검색하면 verify=False 한 줄이 제일 먼저 나오고, 실제로 그걸 붙이면 당장은 돌아갑니다. 그래서 대부분 거기서 끝내는데, 그 한 줄이 나중에 어떤 비용으로 돌아오는지는 잘 안 알려져 있습니다. 이번 글에서는 이 … 더 읽기
함수는 다 짰는데 테스트는 안 짠 상태로 커밋해 본 적이 있을 겁니다. 테스트가 중요하다는 건 알지만, 함수 하나에 케이스 대여섯 개를 손으로 적다 보면 정작 기능 개발보다 시간이 더 걸립니다. 그래서 대부분은 콘솔에 값 몇 개 찍어보고 넘어가죠. 그러다 두 달 뒤 할인 로직을 고치면서 쿠폰 계산이 조용히 깨지고, 그걸 고객 문의로 알게 됩니다. AI … 더 읽기
기능 개발을 한창 하고 있는데 “결제 페이지에서 500 떨어진다”는 연락이 옵니다. 지금 작업 트리에는 반쯤 고친 파일이 여덟 개쯤 열려 있습니다. 커밋하기엔 아직 동작하지 않고, 버리기엔 아깝습니다. 그래서 git stash로 밀어 넣고, 브랜치를 옮기고, 의존성을 다시 깔고, 고치고, 돌아와서 stash pop을 하고, 충돌을 풉니다. 이 왕복 한 번에 보통 10~15분이 날아갑니다. 하루에 두 번만 끼어들어도 … 더 읽기
다운로드 폴더를 열어 보면 설치 파일, 거래명세서 PDF, 캡처 이미지, 압축 파일이 순서 없이 500개쯤 쌓여 있습니다. 필요한 파일 하나를 찾느라 정렬 기준을 바꿔 가며 훑는 데 매번 1~2분씩 쓰고, 분기에 한 번 날을 잡아 정리하면 한 시간이 그냥 사라집니다. 폴더 감시 자동화는 이 문제를 접근 방향부터 바꿉니다. 쌓인 뒤에 치우는 게 아니라, 파일이 들어오는 … 더 읽기