서문 — 왜 "생산성 해킹"이 곧 돈인가
여기서 말하는 "해킹"은 시스템을 공격하는 기술이 아니라, 반복 작업을 코드에 위임해서 시간을 되찾는 기술입니다. 하루 20분씩 손으로 하던 작업을 스크립트 한 줄로 대체하면 한 달이면 여러 시간이 쌓이고, 그 시간은 곧 다른 프로젝트나 수익으로 전환할 수 있는 자원이 됩니다. 이 문서는 합법적이고 안전한 범위 안에서, 실제로 동작하는 코드와 도구 사용법만 담았습니다.
이 매뉴얼의 모든 기법은 ① 본인 소유/권한이 있는 시스템·계정에서 실행하고, ② 각 서비스의 이용약관(ToS)과 API 정책을 준수하며, ③ 취약점 공격·무단 접근· 우회 크래킹을 다루지 않는다는 원칙을 따릅니다.
터미널 환경 극한 최적화
매일 쓰는 셸(shell)을 10분만 손보면 반복되는 타이핑과 탐색 시간이 크게 줄어듭니다.
zsh + 자동완성 프롬프트
curl -sS https://starship.rs/install.sh | sh
echo 'eval "$(starship init zsh)"' >> ~/.zshrc
source ~/.zshrc
현대적 CLI 대체 도구
- ripgrep(rg) — grep보다 빠른 코드 검색
- fzf — 파일/히스토리/브랜치를 실시간 퍼지 검색
- bat — 문법 강조가 되는 cat
- eza — 아이콘·트리 뷰가 지원되는 ls
- zoxide — 자주 가는 디렉터리를 이름 일부만 쳐도 이동(cd 대체)
brew install ripgrep fzf bat eza zoxide
# ~/.zshrc 에 추가
echo 'eval "$(zoxide init zsh)"' >> ~/.zshrc
echo 'alias ls="eza --icons"' >> ~/.zshrc
echo 'alias cat="bat"' >> ~/.zshrc
echo 'alias cd="z"' >> ~/.zshrc
$(fzf --zsh) >> ~/.zshrc
자주 쓰는 alias 세트
# 프로젝트 이동
alias gs="git status -sb"
alias gp="git pull --rebase"
alias dcu="docker compose up -d"
alias dcl="docker compose logs -f --tail=100"
# 포트 점유 프로세스 바로 찾기
killport() { lsof -ti tcp:"$1" | xargs kill -9 }
# 방금 만든 디렉터리로 즉시 이동
mkcd() { mkdir -p "$1" && cd "$1" }
tmux — 세션을 끊지 않는 원격 작업
tmux new -s work # work 세션 생성
# Ctrl+b, d → 세션 유지한 채 빠져나오기
tmux attach -t work # 다시 접속 (SSH 끊겨도 작업 유지)
파일 검색·디렉터리 이동에 쓰는 시간이 눈에 띄게 줄고, SSH 연결이 끊겨도 장시간 빌드·학습 작업이 안전하게 이어집니다.
반복 작업 자동화 파이프라인
"매주 하는 그 작업", "매일 아침 확인하는 그 화면" — 스케줄러에 맡기면 잊어버려도 됩니다.
cron — 정기 백업
# 매일 03:00에 작업 디렉터리 압축 백업 후 7일 지난 백업 삭제
0 3 * * * tar -czf ~/backups/$(date +\%F).tar.gz ~/projects && \
find ~/backups -mtime +7 -delete
systemd timer — cron보다 견고한 대안(Linux)
[Unit]
Description=매일 아침 리포트 생성
[Timer]
OnCalendar=*-*-* 08:30:00
Persistent=true
[Install]
WantedBy=timers.target
entr — 파일 변경 즉시 반응
# src 아래 .py 파일이 바뀔 때마다 자동 테스트 실행
find src -name "*.py" | entr -c pytest -q
GitHub Actions — 정기 스케줄 워크플로우
name: daily-check
on:
schedule:
- cron: "0 22 * * *" # UTC 기준, 한국시간 07:00
workflow_dispatch: {}
jobs:
run:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: python scripts/daily_check.py
GitHub Actions의 무료 티어(퍼블릭 저장소는 무제한, 프라이빗도 매달 일정 분(分) 무료)만으로도 서버 없이 정기 자동화를 돌릴 수 있습니다.
AI / LLM API 비용 최적화
Claude API처럼 토큰 단위로 과금되는 서비스는 구조를 조금만 바꿔도 청구액이 큰 폭으로 줄어듭니다. 핵심은 캐싱 · 배치 처리 · 모델 라우팅 세 가지입니다.
① 프롬프트 캐싱 — 반복되는 프리픽스는 다시 계산하지 않는다
시스템 프롬프트, 문서, 툴 정의처럼 요청마다 동일하게 반복되는 앞부분에
cache_control을 붙이면, 캐시가 적중했을 때 해당 구간의 입력 토큰 비용이
일반 요금의 10% 수준(즉 최대 90% 절감)까지 낮아집니다.
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-sonnet-5",
max_tokens=1024,
system=[
{
"type": "text",
"text": long_codebase_or_docs, # 반복 재사용되는 긴 컨텍스트
"cache_control": {"type": "ephemeral"}
}
],
messages=[{"role": "user", "content": "이 코드의 버그를 찾아줘"}]
)
② Message Batches API — 급하지 않은 작업은 절반 값에
실시간 응답이 필요 없는 대량 작업(문서 분류, 로그 요약, 데이터 라벨링 등)은 Batch API로 보내면 입력·출력 토큰 모두 표준가의 50% 할인이 적용됩니다. 캐싱과 함께 쓰면 절감폭이 더 커집니다.
batch = client.messages.batches.create(
requests=[
{
"custom_id": f"doc-{i}",
"params": {
"model": "claude-haiku-4-5-20251001",
"max_tokens": 512,
"messages": [{"role": "user", "content": doc}]
}
}
for i, doc in enumerate(documents)
]
)
# 결과는 최대 24시간 이내 비동기로 준비됩니다
③ 모델 라우팅 — 쉬운 작업까지 비싼 모델에 보내지 않는다
def pick_model(task_type: str) -> str:
if task_type in ("classify", "extract", "short_summary"):
return "claude-haiku-4-5-20251001" # 단순 작업 → 저비용 모델
if task_type in ("code_review", "long_reasoning"):
return "claude-opus-4-8" # 고난도 작업만 상위 모델
return "claude-sonnet-5" # 기본값
세 가지를 함께 쓰면(캐싱 + 배치 + 라우팅) 동일한 작업량 대비 청구액을 큰 폭으로 낮출 수 있습니다. 정확한 할인율과 모델별 가격은 docs.claude.com의 최신 가격표를 기준으로 확인하세요.
무료 인프라로 서비스 운영
사이드 프로젝트나 MVP는 신용카드 없이도 충분히 배포·운영할 수 있습니다.
Cloudflare Pages — 정적/풀스택 배포
npm create cloudflare@latest my-app
cd my-app
npx wrangler deploy
GitHub Pages + Actions — 무료 CI/CD
name: deploy
on:
push:
branches: [main]
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm ci && npm run build
- uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./dist
| 서비스 | 무료 티어 요약 | 적합한 용도 |
|---|---|---|
| Cloudflare Workers/Pages | 넉넉한 무료 요청 한도, 정적 사이트 무제한 | API 프록시, 정적/엣지 함수 |
| Vercel / Netlify | 개인 프로젝트 무료 배포 | Next.js 등 프론트엔드 배포 |
| Supabase | Postgres DB + 인증 무료 프로젝트 제공 | 백엔드 없는 풀스택 앱 |
| GitHub Actions | 퍼블릭 저장소 무제한, 프라이빗 매달 무료 분(分) 제공 | 빌드·배포·정기 스크립트 |
무료 티어는 서비스마다 한도와 정책이 자주 바뀝니다. 실제 배포 전 반드시 해당 서비스의 공식 가격 페이지에서 최신 한도를 확인하세요.
합법적 브라우저 · 데이터 자동화
본인 소유 사이트의 모니터링, 공개 RSS·API 기반 알림처럼 이용약관 범위 안에서 브라우저·데이터 작업을 자동화합니다.
Playwright — 내 사이트 헬스체크 자동화
const { chromium } = require('playwright');
(async () => {
const browser = await chromium.launch();
const page = await browser.newPage();
const res = await page.goto('https://your-own-site.com');
if (!res.ok()) {
console.error(`상태 코드 이상: ${res.status()}`);
process.exit(1);
}
await browser.close();
})();
RSS + 웹훅 — 새 글/공고 알림 자동화
import feedparser, requests
FEED_URL = "https://example.com/feed.xml" # 공개 RSS
WEBHOOK = "https://discord.com/api/webhooks/..."
feed = feedparser.parse(FEED_URL)
latest = feed.entries[0]
requests.post(WEBHOOK, json={
"content": f"🆕 {latest.title}\n{latest.link}"
})
이 스크립트를 챕터 02의 cron/GitHub Actions에 연결하면 매시간 자동으로 새 글을 채널에 알려줍니다.
Git & 코드리뷰 자동화
git alias — 손목을 아끼는 단축키
[alias]
st = status -sb
co = checkout
cm = commit -m
lg = log --oneline --graph --decorate -20
amend = commit --amend --no-edit
pre-commit hook — 실수 커밋 방지
#!/bin/sh
npx eslint . --max-warnings=0 || {
echo "❌ 린트 오류를 먼저 해결하세요"
exit 1
}
gh CLI — 터미널에서 PR 생성부터 머지까지
gh pr create --fill
gh pr checks --watch
gh pr merge --squash --delete-branch
데이터 처리 원라이너 모음
엑셀을 켜기 전에, 터미널에서 30초면 끝나는 작업들입니다.
# JSON에서 특정 필드만 추출
cat data.json | jq '.items[] | {name, price}'
# CSV에서 3번째 컬럼 합계
awk -F',' '{sum += $3} END {print sum}' sales.csv
# 로그에서 에러만 걸러 최근 20줄
grep -i error app.log | tail -n 20
import pandas as pd
df = pd.read_csv("sales.csv")
print(df.groupby("category")["price"].sum().sort_values(ascending=False))
방어적 보안 체크리스트
공격 기법이 아니라, 계정·코드·비밀키를 지키는 기본 위생입니다. 사고 한 번의 비용이 이 체크리스트 전체보다 훨씬 큽니다.
- SSH 키 기반 로그인으로 전환하고 비밀번호 로그인은 비활성화
- 모든 계정에 2단계 인증(2FA) 적용, 앱 기반 OTP 우선
- 비밀키·토큰은 코드에 직접 쓰지 않고 .env + direnv로 분리,
.gitignore에 반드시 포함 - gitleaks로 커밋 전 비밀키 유출 스캔
- Dependabot으로 의존성 취약점 자동 알림 및 패치 PR
- 클라우드 리소스는 최소 권한 원칙(IAM)으로 설정
brew install gitleaks
gitleaks detect --source . --verbose
비용 절감 사례 요약
| 영역 | 기존 방식 | 자동화 후 |
|---|---|---|
| 정기 리포트 작성 | 매일 수동으로 데이터 취합·정리 | cron + 스크립트로 자동 생성·전송 |
| 대량 문서 요약(AI) | 실시간 API로 건별 호출 | Batch API(-50%) + 캐싱(-90%) 결합 |
| 사이트 다운 감지 | 사람이 주기적으로 접속 확인 | Playwright 헬스체크 + 웹훅 알림 |
| 서버 운영비 | 상시 가동되는 VM 비용 | Workers/Pages 등 무료 티어로 대체 |
| 코드 리뷰 대기 | PR 생성·확인을 수동으로 반복 | gh CLI + pre-commit으로 절차 자동화 |
절감 폭은 팀 규모·작업량에 따라 달라집니다. 위 표는 개념을 보여주는 예시이며, 실제 수치는 본인 환경에서 직접 측정해 판단하는 것을 권장합니다.
툴박스 체크리스트 & 참고자료
도구별 최신 사용법·가격·한도는 각 서비스 공식 문서를 기준으로 확인하세요. Anthropic API 관련 사항은 docs.claude.com, GitHub Actions는 docs.github.com/actions를 참고하시면 됩니다.