본문 바로가기

직접 만든 소프트웨어, 두 가지 개발 기록

구현 구조와 적용 범위, 확인한 기능과 남은 한계를 함께 기록합니다.

전체 글231

curl에서 301·302만 보일 때: Location과 최종 URL 확인 curl에서 301·302가 보이면 첫 서버가 이동할 주소를 알려준 것인지 확인하세요. 기본 요청의 응답과 --location으로 따라간 뒤의 최종 응답을 나누어 기록하면 브라우저와 결과가 다른 이유를 좁힐 수 있습니다.적용 환경: curl 명령행 도구와 공개 HTTPS 조회용 URL; 아래 예시는 인증·쿠키·POST 데이터가 없는 GET만 대상으로 하며 POSIX 셸 기준. 자료 확인일: 2026-10-28. 공식 문서 기반 안내이며 실제 계정·운영 환경에서 실행한 시험 결과가 아닙니다.1. 원인: HTTP 이동을 자동으로 따라가지 않은 경우curl FAQ는 URL 뒤의 슬래시 유무 등으로 301 이동 응답이 생길 수 있으며 -L 또는 --location으로 HTTP 이동을 따라갈 수 있다고 설명합니다.. 2026. 10. 29.
Git 과거 로그가 짧게 보일 때: shallow clone 여부부터 확인 CI나 새 복제본에서 과거 커밋이 보이지 않으면 먼저 shallow clone 여부를 확인하세요. 이력을 일부만 내려받은 상황은 커밋을 잃어버린 상황과 다르므로, 복구 명령보다 저장소와 조회 범위를 먼저 구분해야 합니다.적용 환경: Git의 --is-shallow-repository 옵션을 지원하는 로컬 저장소 또는 CI 체크아웃; 명령은 그 저장소 디렉터리에서 실행. 자료 확인일: 2026-10-28. 공식 문서와 별도 임시 저장소 시험을 구분해 안내합니다. 실제 운영·외부 원격 저장소에서 실행한 결과가 아닙니다.1. 원인: clone 깊이가 이력 탐색을 제한한다git clone --depth는 지정한 커밋 수로 이력을 제한하는 얕은 복제를 만듭니다. 기본적으로 단일 브랜치 복제를 함께 뜻하므로, 서버.. 2026. 10. 29.
S3 Inventory에 최근 파일이 없을 때: 첫 보고서와 현재 상태 구분 S3 Inventory는 실시간 객체 목록이 아니라 일별·주간으로 만드는 보고서입니다. 첫 보고서는 전달까지 최대 48시간이 걸릴 수 있으며 최근 추가·삭제가 보고서에 반영되지 않을 수도 있으므로, 파일 유실로 단정하기 전에 보고서 시점과 범위를 확인하세요.적용 환경: Amazon S3 일반 목적 버킷의 기존 Inventory 구성과 보고서; 원본 객체·보고서 조회 권한 필요. 자료 확인일: 2026-10-28. 문서 기반 진단 안내이며 실제 AWS 계정의 설정·생성 시간 시험을 수행한 결과가 아닙니다.1. 원인: 보고서에 없는 것과 현재 없는 것은 다르다Inventory는 지정한 버킷 또는 키 접두사의 객체·메타데이터를 일정에 따라 내보냅니다. AWS는 각 보고서가 버킷 항목의 스냅샷이며 최근 PUT·.. 2026. 10. 29.
EC2를 중지했는데 비용이 남을 때: EBS와 Elastic IP를 따로 확인 EBS 기반 EC2가 stopped 상태가 되면 인스턴스 사용 요금은 중단되지만 EBS 볼륨·Elastic IP 같은 별도 자원의 요금은 남을 수 있습니다. 남은 청구 항목을 리소스 종류와 사용 기간별로 나누어 확인하세요.적용 환경: Amazon EBS를 루트 볼륨으로 사용하는 EC2 인스턴스; 해당 계정·리전의 리소스와 비용 내역 조회 권한 필요. 자료 확인일: 2026-10-28. 공식 문서 기반 안내이며 실제 계정·운영 환경에서 실행한 시험 결과가 아닙니다.1. 원인: 중지는 삭제가 아니다중지는 이후 다시 시작할 수 있도록 인스턴스를 남기는 동작입니다. AWS는 stopped 상태의 인스턴스 사용 요금과 별개로 EBS 저장 공간 및 Elastic IP 같은 관련 리소스의 요금이 발생할 수 있다고 설.. 2026. 10. 29.
Compose 재생성 후 접속 포트가 바뀔 때: 동적 호스트 포트 확인 Compose에서 호스트 포트를 고정하지 않았다면 컨테이너를 재생성한 뒤 접속 포트가 달라질 수 있습니다. 이전 즐겨찾기 주소를 계속 쓰기 전에 docker compose port로 현재 서비스의 실제 매핑을 확인하세요.적용 환경: Docker Compose V2의 일반 bridge 네트워크와 동적 포트 매핑; host 네트워크·Swarm 제외. 자료 확인일: 2026-10-27. 문서 기반 안내이며 실제 운영 시험 결과가 아닙니다.1. 원인: 내부 포트와 외부 포트는 다름컨테이너 내부에서 듣는 포트와 호스트에서 접속하는 포트는 서로 다를 수 있습니다. Compose의 ports에 컨테이너 포트만 지정한 구성은 호스트 포트를 자동 할당할 수 있습니다.서비스가 실행 중이라는 표시만으로 이전 주소가 유효하다.. 2026. 10. 28.
Git 브랜치가 다른 worktree에서 사용 중일 때: 강제 전환 전 확인 순서 브랜치가 다른 worktree에서 이미 체크아웃됐다는 오류가 나오면 먼저 git worktree list로 경로를 찾으세요. 강제 옵션이나 폴더 삭제부터 실행하지 말고, 그 경로에서 작업 중인 변경이 있는지 확인하는 것이 우선입니다.적용 환경: git worktree를 지원하는 Git 저장소; 연결된 작업 폴더 접근 가능. 자료 확인일: 2026-10-27. 문서 기반 안내이며 실제 운영 시험 결과가 아닙니다.1. 원인: 저장소 하나에 작업 폴더가 여러 개Git worktree는 한 저장소에 여러 작업 디렉터리를 연결할 수 있게 합니다. 이미 다른 작업 트리에서 체크아웃한 브랜치를 새 작업 트리에 사용하려 하면 기본적으로 거절됩니다.오류를 브랜치 손상으로 단정하지 마세요. IDE나 자동화가 만든 폴더가 .. 2026. 10. 28.