본문 바로가기

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

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

전체 글219

systemd 설정이 반영되지 않을 때: daemon-reload·reload·restart 구분 systemd 유닛 파일을 수정했다면 daemon-reload로 관리자에게 다시 읽게 해야 합니다. 그러나 이것만으로 실행 중인 서비스가 새 실행 조건으로 바뀌지는 않습니다. 서비스 자체 설정 재읽기와 프로세스 재시작을 구분하세요.적용 환경: systemd 255 공식 문서 기준; 설치 버전과 배포판 정책은 적용 전 확인. 자료 확인일: 2026-10-25. 문서 기반 안내이며 실제 운영 시험 결과가 아닙니다.1. 원인: 서로 다른 설정 파일을 같은 방식으로 반영동작대상daemon-reloadsystemd 관리자와 유닛 구성reload서비스 자체의 지원되는 설정 재읽기restart서비스를 중지한 뒤 다시 시작웹 서버 설정과 systemd 서비스 유닛은 담당하는 프로그램이 다릅니다. 변경한 파일이 어느 쪽.. 2026. 10. 26.
Git 커밋을 잃어버렸을 때: reflog 확인 후 복구 브랜치부터 만드는 순서 reset이나 rebase 뒤 커밋이 보이지 않으면 먼저 로컬 reflog에서 후보를 찾고 내용을 확인하세요. 바로 reset --hard를 실행하기보다 새 복구 브랜치를 만들어 후보 커밋을 보존하는 편이 현재 작업을 보호하기 쉽습니다.적용 환경: reflog와 해당 커밋 객체가 남아 있는 로컬 Git 저장소. 자료 확인일: 2026-10-25. 문서 기반 안내이며 실제 운영 시험 결과가 아닙니다.1. 원인: 현재 브랜치에서 안 보이는 것과 삭제는 다릅니다reflog는 로컬 참조가 이동한 기록입니다. HEAD 기록에는 브랜치 전환도 포함됩니다. 일반 커밋 이력과 다르며 원격 저장소와 같은 기록을 공유한다고 가정하면 안 됩니다.이 방법은 커밋 객체와 필요한 기록이 남아 있을 때의 경로입니다. 커밋하지 않은.. 2026. 10. 26.
Lambda 비동기 재시도: 함수 오류와 스로틀링을 구분해야 하는 이유 Lambda의 비동기 재시도 횟수는 모든 재실행을 막는 전역 스위치가 아닙니다. 먼저 비동기 호출인지 확인하고, 함수가 실행된 뒤 실패했는지 아니면 용량 부족으로 실행을 기다렸는지 나누세요.적용 환경: AWS Lambda의 비동기 호출; 동기 호출과 SQS 이벤트 소스 매핑은 별도 경로. 자료 확인일: 2026-10-25. 문서 기반 안내이며 실제 운영 시험 결과가 아닙니다.1. 원인: 서로 다른 실패를 같은 횟수로 셉니다함수 오류에는 코드 오류와 타임아웃 등이 포함됩니다. 공식 기본 동작은 함수 오류 후 추가 두 번의 시도입니다. 반면 스로틀링과 시스템 오류는 비동기 큐에서 재시도하며, 기본적으로 최대 6시간까지 이어질 수 있습니다. 실제 설정을 확인하지 않고 기본값을 운영값으로 단정하지 마세요.함수 .. 2026. 10. 26.
SQS 작업이 두 번 실행될 때: 수신·처리·삭제 시각과 visibility timeout 점검 SQS에서 같은 작업이 다시 실행되면 visibility timeout부터 무작정 늘리지 마세요. 수신 시각, 업무 처리 완료 시각, 메시지 삭제 결과를 같은 작업 ID로 대조해야 긴 처리와 삭제 실패를 구분할 수 있습니다.적용 환경: Amazon SQS를 직접 소비하는 작업자; Lambda 이벤트 소스 매핑의 별도 설정은 제외. 자료 확인일: 2026-10-25. 문서 기반 안내이며 실제 운영 시험 결과가 아닙니다.1. 원인: 처리 성공과 큐에서 삭제는 별개수신한 메시지는 즉시 없어지지 않습니다. 잠시 다른 소비자에게 보이지 않다가, 삭제되지 않은 채 제한 시간이 끝나면 다시 받을 수 있습니다. 처리 성공 로그만 보고 큐의 완료까지 확정하면 이 구간을 놓칩니다.예를 들어 보고서 파일 생성은 끝났지만 삭.. 2026. 10. 26.
journalctl -b -1 로그가 없을 때: 이전 부팅 기록과 저장 방식 점검 이전 부팅 로그가 안 보인다면 먼저 보유 중인 부팅 목록과 조회 권한을 확인하고, journald 저장 방식과 보존 정책을 살펴보세요. 지금 영구 저장을 켜도 이미 사라진 과거 기록이 다시 생기지는 않습니다.적용 환경: systemd 255 공식 매뉴얼 기준 Linux; 배포판 설정과 설치 버전 별도 확인. 공식 문서 확인일: 2026-10-23. 아래 내용은 문서 기반 점검 가이드이며 운영 환경에서 실행한 시험 결과가 아닙니다.1. 원인: 조회할 기록이 남아 있는지 먼저 봅니다journalctl --list-boots는 현재 읽을 수 있는 저널의 부팅 번호·ID·시간 범위를 보여 줍니다. -b -1은 이전 부팅을 고르는 옵션이지, 없어진 로그를 복구하는 명령이 아닙니다. 권한 부족 안내가 있으면 승인된.. 2026. 10. 24.
git stash 후 새 파일이 남을 때: 미추적 파일과 무시 파일 구분 git stash 뒤에 새 파일이 남는다면 먼저 미추적 파일인지, 무시된 파일인지 구분하세요. 기본 보관 범위에 새 파일이 모두 포함된다고 가정하면 작업을 잃을 수 있습니다.적용 환경: Git CLI; git --version과 설치된 git stash 도움말 확인. 공식 문서 확인일: 2026-10-23. 아래 내용은 문서 기반 점검 가이드이며 운영 환경에서 실행한 시험 결과가 아닙니다.1. 원인: 파일 상태마다 포함 범위가 다릅니다파일 상태보관 옵션을 볼 때추적 중인 변경기본 stash 범위 확인미추적 파일-u 포함 여부 확인무시된 파일-u만으로 포함되지 않음status의 짧은 형식에서 ??는 미추적, --ignored로 표시한 !!는 무시된 경로입니다. 표시 범위를 좁혀 놓았다면 파일이 안 보일 수.. 2026. 10. 24.