반응형

설치 단계

Homebrew 설치 확인 및 실행:
Mac에 Homebrew가 설치되어 있는지 확인하고, 설치되어 있지 않다면 Homebrew 공식 웹사이트에서 설치 명령어를 복사하여 터미널에 붙여넣고 실행합니다.
Meld 설치:

brew install --cask meld

애플리케이션 실행 및 설정:
Meld 애플리케이션을 실행합니다.
처음 실행 시 "보안 및 개인 정보 보호" 설정에서 차단 메시지가 나타날 수 있으며, 이 경우 해당 설정을 변경하여 Meld를 허용해야 합니다.

반응형
반응형

Claude Code의 우측 하단에 표시되는 **"Context left until auto-compact: 8%"**는 자동 압축까지 남은 컨텍스트 여유 공간을 나타냅니다.

🔍 정확한 의미 해석

"Context left until auto-compact: 8%"

  • 현재 컨텍스트 사용률: 92% (100% - 8% = 92%)
  • 자동 압축까지 남은 여유: 8%
  • 상태: 곧 자동 압축이 실행될 예정

📊 컨텍스트 상태 단계

 
 
Context left until auto-compact:
100% - 새 세션, 거의 비어있음
50%  - 중간 정도 사용
20%  - 주의 필요
8%   - ⚠️ 현재 상황 - 곧 압축 실행
2%   - 🔴 매우 위험 - 즉시 압축 필요
0%   - 자동 압축 실행됨

⚠️ 현재 8% 상황의 의미

즉시 발생할 수 있는 상황

 
 
✅ 자동 압축 곧 실행됨
⚠️ 응답 속도 약간 느려질 수 있음
⚠️ 일부 이전 컨텍스트 손실 가능
🔴 복잡한 요청 시 오류 가능성

권장 조치사항

 
 
bash
# 즉시 수동 압축 실행 (권장)
claude: /compact

# 또는 현재 상태 저장 후 새 세션
claude: /reset

🛠️ 즉시 해야 할 조치

1. 수동 압축 실행

 
 
bash
claude: /compact

압축 후 예상 결과:

  • Context left until auto-compact: 60-80%로 증가
  • 응답 속도 개선
  • 안정적인 작업 환경 복구

2. 중요한 작업 전 압축

 
 
bash
# 큰 작업을 시작하기 전에
claude: /compact

# 그 다음 작업 시작
"이제 새로운 기능을 구현해보자"

3. 세션 상태 확인

 
 
bash
# 상세 상태 확인
claude: /status

📈 압축 전후 비교

현재 상태 (8% 남음)

컨텍스트 사용률: 92%
━━━━━━━━━━━━━━━━━━━━ ▓▓ (8% 남음)

포함 내용:
- 전체 대화 히스토리
- 모든 파일 변경사항
- 디버깅 로그
- 임시 데이터
- 이전 시도들

압축 후 예상 (70% 남음)

컨텍스트 사용률: 30%
━━━━━━ ░░░░░░░░░░░░░░ (70% 남음)

압축된 내용:
- 핵심 대화만 유지
- 현재 파일 상태
- 중요한 컨텍스트
- 프로젝트 구조

🔧 압축 과정에서 일어나는 일

제거되는 정보

  • 오래된 대화 내용
  • 중간 시도들과 실패한 코드
  • 임시 파일과 테스트 코드
  • 중복된 설명들

보존되는 정보

  • 현재 작업 중인 파일들
  • 최근 중요한 대화
  • 프로젝트 구조와 설정
  • 핵심 컨텍스트 정보

타이밍별 대응 전략

8% 남음 (현재 - 즉시 조치 필요)

 
 
bash
# 지금 바로 실행
claude: /compact

# 압축 완료 후 작업 계속
"압축이 완료되었습니다. 이제 계속 작업해보겠습니다."

20% 남음 (주의 단계)

bash
# 큰 작업 전에 미리 압축
claude: /compact

50% 남음 (안전 단계)

bash
# 정상적인 작업 가능
# 필요시에만 압축 고려

💡 압축 최적화 팁

압축 전 준비사항

bash
# 1. 중요한 파일 내용 확인
"현재 작업 중인 파일들의 상태를 요약해줘"

# 2. 압축 실행
claude: /compact

# 3. 압축 후 상태 확인
"압축이 제대로 되었는지 확인해줘"

압축 후 확인사항

  • Context left 수치가 증가했는지 확인
  • 현재 파일들이 제대로 유지되었는지 확인
  • 프로젝트 구조가 보존되었는지 확인

🚨 응급 상황 대처

0%에 도달한 경우

bash
# 자동 압축이 실행되거나 오류 발생 시
claude: /reset  # 새 세션 시작

# 또는 강제 종료 후 재시작
# Ctrl+C로 종료 → claude 재실행

압축 후에도 문제가 지속되는 경우

bash
# 완전 재시작
claude: /reset

# 새 세션에서 필요한 파일만 다시 로드
"프로젝트 구조를 다시 설정해주세요"

📋 실행할 체크리스트

□ 1. 즉시 /compact 실행
□ 2. 압축 후 Context left 수치 확인 (60%+ 목표)
□ 3. 현재 파일들 상태 확인
□ 4. 프로젝트 구조 보존 여부 확인
□ 5. 정상 작업 가능 여부 테스트

결론: 현재 8%는 매우 위험한 상태입니다. 즉시 /compact 명령어를 실행하여 컨텍스트를 압축하고 안정적인 작업 환경을 확보하세요!

반응형
반응형

현재서비스 구조 확인:

  Browser → nginx (port 80) → FastAPI (port 8000) → Templates (Jinja2)

  📋 현재 서비스 특성:

  1. SSR (Server-Side Rendering): FastAPI + Jinja2 템플릿
  2. Same-Origin: 브라우저 요청과 응답이 모두 같은 도메인 (http://xx.xx.xx.xx)
  3. HTMX 사용: 일부 동적 업데이트만 AJAX

  🎯 CORS가 필요한 경우 vs 불필요한 경우:

  CORS가 필요한 경우:
  - SPA (React, Vue, Angular)에서 다른 도메인 API 호출
  - http://frontend.com → http://api.com 호출

  CORS가 불필요한 경우:
  - SSR 웹앱 (Django, Flask, FastAPI + Templates)
  - Same-Origin 요청: http://00.00.00.00 → http://00.00.00.00

  ✅ 결론: CORS 설정 불필요!

  이유:
  1. Same-Origin 정책: 모든 요청이 http://내주소 에서 시작되어 같은 도메인으로
   전송
  2. SSR 구조: HTML이 서버에서 렌더링되어 브라우저로 전송
  3. HTMX 요청도 Same-Origin: 페이지 내에서 같은 도메인으로 요청

  현재 CORS 설정은 무시됨:
  - nginx가 프록시 역할을 하므로 FastAPI는 nginx로부터만 요청을 받음
  - 브라우저는 nginx와만 통신하므로 CORS 검사 없음

반응형
반응형

📌 YouTube Data API v3 API Key 얻는 방법

  1. Google Cloud Console 접속
    👉 Google Cloud Console 에 로그인 (구글 계정 필요)
  2. 프로젝트 생성
    • 상단 메뉴에서 프로젝트 선택새 프로젝트 만들기
    • 프로젝트 이름과 조직(없으면 개인으로) 설정 후 생성
  3. API 활성화
    • 좌측 메뉴에서 API 및 서비스 → 라이브러리
    • 검색창에 YouTube Data API v3 입력
    • 선택 후 사용 설정(Enable) 클릭
  4. API Key 생성
    • 좌측 메뉴에서 사용자 인증 정보 (Credentials)
    • 사용자 인증 정보 만들기 → API 키
    • 새 API Key가 발급됨 (예: AIzaSy...)
  5. 보안 설정 (중요)
    • 기본 상태에서는 모든 요청을 허용하므로, 도메인 제한 또는 IP 제한을 꼭 걸어두는 것이 좋습니다.
    • 예: 웹 앱에서 쓰면 HTTP referer 제한, 서버에서 쓰면 IP 제한

📌 비용(무료 vs 유료)

  • 무료로 사용 가능합니다.
  • 다만 쿼터 제한이 있습니다:
    • 기본 제공: 하루 10,000 유닛 (무료)
    • 각 요청은 리소스에 따라 1~100 유닛 정도 소모
    • 예: channels.list 요청 = 1 유닛 → 하루 약 10,000번 호출 가능
  • 더 많은 쿼터가 필요하다면 유료로 Google Cloud Billing 연결해서 요청할 수 있습니다.
    (일반적인 개인/소규모 프로젝트는 무료 한도로 충분)

📌 정리

  • API Key는 Google Cloud Console → 프로젝트 생성 → YouTube Data API v3 활성화 → Credentials에서 발급
  • 비용: 기본적으로 무료 (10,000 유닛/일), 초과 사용 시 유료
  • 이 API Key를 이용하면 channels.list 요청으로 채널의 썸네일 이미지 URL을 자동으로 얻을 수 있음
반응형
반응형

맥북에서 Claude Code 작업 시 화면이 꺼지거나 잠들 때의 동작과 개발 환경 설정에 대해 자세히 알려드리겠습니다.

🔋 화면 꺼짐 vs 슬립 모드

화면만 꺼진 경우:

  • Claude Code 계속 실행됨
  • ✅ 네트워크 연결 유지
  • ✅ 작업 진행 계속됨

맥북이 슬립 모드로 들어간 경우:

  • Claude Code 일시 중단됨
  • ❌ 네트워크 연결 끊김
  • ❌ 작업 진행 중단

⚙️ 개발용 맥북 설정

1. 에너지 절약 설정

시스템 설정 → 배터리 → 전원 어댑터:

 
 
✅ 디스플레이 끄기: 10분 (원하는 시간)
❌ Mac 자동 잠자기 방지: 체크
✅ 전원이 연결되어 있을 때 잠자기 방지: 체크
✅ Wake for network access: 체크

터미널 명령어로 설정:

 
 
bash
# 전원 연결 시 절대 잠들지 않기
sudo pmset -c sleep 0

# 디스플레이만 10분 후 끄기
sudo pmset -c displaysleep 10

# 배터리 사용 시에도 설정 (선택사항)
sudo pmset -b sleep 30
sudo pmset -b displaysleep 5

# 현재 설정 확인
pmset -g

2. Caffeinate 명령어 사용

장시간 작업할 때:

 
 
bash
# 시스템 잠들지 않게 하기 (무제한)
caffeinate

# 특정 시간만 (3600초 = 1시간)
caffeinate -t 3600

# 디스플레이도 안 끄기
caffeinate -d

# Claude Code와 함께 실행
caffeinate claude

3. 터미널 세션 유지

tmux 사용 (권장):

 
 
bash
# tmux 설치
brew install tmux

# 새 세션 시작
tmux new-session -s claude-work

# Claude Code 실행
claude

# 세션에서 분리 (Ctrl+B, 그다음 D)
# 맥북 종료해도 세션 유지됨

# 나중에 다시 연결
tmux attach-session -t claude-work

screen 사용 (대안):

 
 
bash
# screen 세션 시작
screen -S claude-work

# Claude Code 실행
claude

# 분리: Ctrl+A, 그다음 D
# 재연결: screen -r claude-work

🛠 Claude Code 최적 설정

1. 자동 저장 설정

 
 
bash
# Claude Code에서 자동 저장 활성화
claude config set auto-save true

# 작업 상태 자동 저장 간격 설정
claude config set save-interval 60  # 60초마다

2. 알림 설정

 
 
bash
# 작업 완료 시 알림
claude config set notifications true

# 맥 알림 센터 사용
claude config set notification-type system

3. 긴 작업을 위한 설정

 
 
bash
# 타임아웃 시간 늘리기
claude config set timeout 3600  # 1시간

# 자동 재시도 설정
claude config set auto-retry true

📱 개발 환경 완전 설정

1. 기본 도구 설치

 
 
bash
# Homebrew가 없다면
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# 개발 필수 도구들
brew install tmux tree htop git node

2. 터미널 환경 개선

 
 
bash
# ~/.zshrc 또는 ~/.bash_profile에 추가
echo 'alias ll="ls -la"' >> ~/.zshrc
echo 'alias claude-session="tmux new-session -s claude"' >> ~/.zshrc
echo 'alias claude-resume="tmux attach-session -t claude"' >> ~/.zshrc

# 설정 적용
source ~/.zshrc

3. 작업 공간 설정

 
 
bash
# 개발 전용 디렉토리 생성
mkdir -p ~/Development/claude-projects
cd ~/Development/claude-projects

# 각 프로젝트별 tmux 세션 관리 스크립트
cat > ~/start-claude.sh << 'EOF'
#!/bin/bash
PROJECT_NAME=${1:-default}
tmux new-session -d -s "claude-$PROJECT_NAME"
tmux send-keys -t "claude-$PROJECT_NAME" "cd ~/Development/claude-projects/$PROJECT_NAME" Enter
tmux send-keys -t "claude-$PROJECT_NAME" "claude" Enter
tmux attach-session -t "claude-$PROJECT_NAME"
EOF

chmod +x ~/start-claude.sh

🔔 작업 모니터링

1. 진행 상황 확인

 
 
bash
# 다른 터미널에서 작업 상황 모니터링
watch -n 30 'ps aux | grep claude'

# 네트워크 상태 확인
ping -c 1 api.anthropic.com

2. 로그 확인

 
 
bash
# Claude Code 로그 확인
tail -f ~/.claude/logs/claude.log

# 시스템 로그에서 네트워크 문제 확인
log stream --predicate 'subsystem contains "com.apple.network"'

🚨 비상 계획

1. 작업 복구

 
 
bash
# Claude Code 세션 복구
claude resume

# 이전 작업 상태 확인
claude status
claude history

2. 백업 및 복구

 
 
bash
# 작업 상태 정기 백업
crontab -e
# 매 시간마다 백업: 0 * * * * cp -r ~/.claude/sessions ~/Dropbox/claude-backup/

💡 추천 워크플로우

장시간 작업 시작 전:

 
 
bash
# 1. 전원 연결 확인
# 2. tmux 세션 시작
tmux new-session -s claude-work

# 3. Caffeinate 실행
caffeinate &

# 4. Claude Code 시작
claude

# 5. 작업 시작

작업 중단 시:

 
 
bash
# tmux 세션에서 분리
Ctrl+B, 그다음 D

# 나중에 재연결
tmux attach-session -t claude-work

이렇게 설정하면 맥북 화면이 꺼져도 Claude Code 작업이 안전하게 계속 진행됩니다! 특히 tmux나 screen을 사용하면 맥북을 완전히 종료해도 서버에서 작업이 계속 실행될 수 있어 매우 유용합니다.

반응형

+ Recent posts