본문 바로가기
빌드노트 검색

빌드노트

검색 결과

검색어를 입력해 글을 찾아보세요.

글 검색

글 목록

총 480개의 글

  1. flock 잠금에 실패했는데 출력 파일이 0바이트가 됐다

    flock의 비차단 잠금에 실패해도 바깥 셸의 >는 이미 출력 파일을 비울 수 있다. 같은 잠금을 점유한 상태에서 종료 코드와 파일 바이트를 비교하고, 데이터 파일을 여는 리다이렉션을 잠금 성공 뒤로 옮긴다.

  2. Docker 컨테이너가 unhealthy인데 restart 정책이 작동하지 않는 이유

    Docker의 unhealthy는 메인 프로세스 종료와 다르다. 같은 on-failure:2 정책에서 헬스체크만 실패한 컨테이너와 코드 7로 종료한 컨테이너를 비교하고, inspect의 PID·StartedAt·RestartCount로 실제 재시작 조건을 판단한다.

  3. 버튼 클릭 핸들러에서 await 뒤 currentTarget이 null이 된다

    네이티브 버튼 클릭에서 타이머 대기 뒤 currentTarget이 null이 되는 조건을 확인한다. 동기 구간에 요소 참조를 보존하는 수정과 target의 차이, 즉시 완료된 Promise로는 증상이 숨을 수 있는 이유를 실제 실행 결과로 설명한다.

  4. JSON 파일을 바꿨는데 require가 이전 설정을 반환한다

    JSON 설정을 바꿔도 같은 Node 프로세스의 require는 기존 객체를 재사용한다. 읽는 경로와 캐시를 확인하고, 직접 읽기·파싱과 새 프로세스의 결과를 비교해 실행 중 갱신과 시작 시 고정 중 적용 방식을 정한다.

  5. 서비스 env_file에 값이 있는데 Compose의 ${VAR}가 비는 이유

    서비스 env_file에 값이 있는데 Compose 치환 결과가 비는 이유를 다룬다. 최소 설정에서 치환 입력·최종 설정·컨테이너 값을 비교하고, 중복된 environment 대입을 지울지 별도의 치환 입력을 줄지 판단한다. 미설정과 빈 문자열의 기본값 차이도 실제 관찰로 구분한다.

  6. 파일은 있는데 Docker COPY가 not found라면 마지막 빌드 경로를 본다

    Dockerfile을 고르는 -f와 COPY 입력 범위를 정하는 마지막 빌드 경로를 구분한다. 같은 파일의 성공·not found 비교를 바탕으로 적용되는 ignore 파일을 찾고 필요한 경로만 허용하는 방법을 설명한다.

  7. read-only 컨테이너에서 root도 /tmp에 쓰지 못하는 이유

    root여도 읽기 전용 rootfs에는 임시 파일을 만들 수 없다. HostConfig.ReadonlyRootfs와 두 마운트 설정을 확인하고, /tmp에만 tmpfs를 연결해 쓰기를 허용하면서 나머지 rootfs는 읽기 전용으로 유지하는 방법을 실제 비교로 설명한다.

  8. multipart 요청인데 @RequestPart JSON 메타데이터가 415로 막힌다

    전체 요청이 multipart/form-data여도 @RequestPart DTO는 해당 파트의 Content-Type에 따라 읽힌다. 같은 JSON 바이트의 타입 누락·octet-stream·application/json과 깨진 JSON을 MockMvc로 비교하고, JSON Blob에 타입을 지정하는 수정과 boundary 확인 위치를 구분한다.

  9. Bash 래퍼에서 인자 세 개가 하나로 합쳐진다

    Bash 래퍼에서 "$*"는 공백 있는 값과 빈 문자열까지 한 인자로 합친다. 실제 자식의 인자 수와 값을 비교해 "$@"가 경계를 보존함을 확인하고, 개수가 같아도 값이 달라지는 인용 누락과 빈 인자·무인자의 차이를 설명한다.

  10. docker cp 뒤 dist 폴더가 한 단계 더 생겼다면

    docker cp에서 소스 폴더와 폴더/.는 기존 목적지에 서로 다른 트리를 만든다. 기존·신규 목적지의 실제 복사와 해시 비교로 차이를 확인하고, 같은 명령을 다시 실행할 때 하위 폴더가 생기는 이유와 복사 전 확인할 조건을 설명한다.

  11. 다른 폴더에서 Compose를 실행해도 ./config가 바뀌지 않는 이유

    다른 폴더에서 Compose를 실행해도 ./config가 예상과 다른 곳을 가리킬 때, 기존 실행 옵션의 config source와 실제 컨테이너 Mounts.Source를 비교한다. 직접 관찰한 경로·파일 결과를 바탕으로 --project-directory로 기준을 명시할지 판단한다.

  12. Compose에 ports가 있는데 compose run으로 띄우면 접속되지 않는다

    compose run은 서비스의 ports를 기본으로 생략한다. 실제 PortBindings와 내부·호스트 HTTP 응답을 비교하고, 호스트 접속이 필요한 작업에서만 --service-ports 또는 명시적 -p를 선택하는 방법을 설명한다.