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

빌드노트

검색 결과

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

글 검색

글 목록

총 480개의 글

  1. --build-arg로 넘긴 값이 docker run에서는 없는 이유

    Docker 빌드 로그에는 있던 값이 실행한 컨테이너에서는 없을 때 ARG와 ENV를 구분한다. 합성 값으로 이미지의 Config.Env, 컨테이너 출력, 이미지 이력을 비교하고 실행 시 -e로 주입할 값과 이미지에 남길 기본값을 고르는 기준을 설명한다.

  2. 같은 문자열인데 정규식 test()가 true와 false를 오가는 이유

    같은 JavaScript 정규식으로 같은 문자열을 검사해도 g 플래그의 lastIndex 상태 때문에 결과가 바뀔 수 있다. 호출 전후 위치를 직접 비교하고, 포함 판별에서 g를 제거할 때와 호출마다 0으로 초기화할 때를 구별한다.

  3. Bash에서 파일이 없는데도 *.log가 인자로 넘어간다

    Bash는 *.log에 맞는 파일이 없으면 기본적으로 패턴 자체를 인자로 남긴다. 빈 폴더와 공백 포함 두 파일로 기본·nullglob·failglob를 비교하고, 배열 개수로 호출을 결정하는 방법과 failglob의 종료 상태 경계를 확인한다.

  4. PostgreSQL CHECK (price > 0)를 걸었는데 NULL이 저장된다

    CHECK (price > 0)는 거짓인 0과 음수는 거부하지만 UNKNOWN인 NULL은 통과시킨다. PostgreSQL 18.6의 짧은 임시 테이블 비교로 이를 확인하고, 실제 열 정의를 읽어 필수 가격에는 NOT NULL도 선언하는 판단을 설명한다.

  5. PostgreSQL NOT VALID 외래키인데 새 INSERT는 거절된다

    NOT VALID 외래키는 기존 행의 검증을 미루지만 새 위반 INSERT를 허용하지 않는다. PostgreSQL 18.6에서 새 쓰기 거절, 기존 위반 정리 전후 VALIDATE와 convalidated의 변화를 비교해 데이터 정리와 검증 완료를 구분한다.

  6. 다른 폴더에 복사하자 끊어진 상대 심볼릭 링크

    상대 심볼릭 링크의 대상 경로는 링크가 놓인 폴더에서 해석한다. CWD를 바꿔 읽기, 링크만 복사해 실패하기, 새 위치에 맞는 상대경로로 복구하기를 합성 파일 실습으로 비교한다.

  7. Spring getIfAvailable에 기본값을 줬는데 빈 두 개에서 예외가 난다

    getIfAvailable의 기본값 Supplier는 빈이 없을 때 호출되며, 선택 기준 없는 빈 두 개의 모호함은 예외로 드러난다. Spring 6.2.11에서 반환값·예외·Supplier 호출 수를 비교해 getIfUnique로 모호함을 허용할지, primary나 qualifier로 빈을 선택할지 설명한다.

  8. 컨테이너는 실패했는데 docker wait는 성공했다

    docker wait의 stdout에는 컨테이너 종료 코드가 나오지만 CLI 종료 상태는 0일 수 있다. exit 7·0과 없는 컨테이너를 실제 비교하고, PowerShell 자동화에서 CLI 오류를 먼저 확인한 뒤 stdout으로 작업 성공을 판정하는 코드를 설명한다.

  9. 클릭 핸들러에서 await 뒤에 막았는데 링크가 이동한다

    비동기 click 핸들러에서 뒤늦게 preventDefault를 호출하면 취소 값이 true여도 링크는 이미 이동할 수 있다. 실제 URL과 이벤트 상태를 비교하고, 먼저 취소한 뒤 허용 결과에 따라 이동하는 코드와 즉시 완료된 Promise의 함정을 설명한다.

  10. 안쪽 예외를 잡았는데 커밋에서 UnexpectedRollbackException이 나는 이유

    서로 다른 빈의 REQUIRED 호출이 같은 트랜잭션에 참여하면, 안쪽 예외를 바깥에서 잡아도 rollback-only 상태는 남는다. Spring 6.2.19·H2에서 정상 호출의 3행 커밋과 예외를 잡은 호출의 최종 0행을 비교하고, 업무상 원자성에 맞는 경계를 판단한다.

  11. echo로 보이는 변수를 자식 프로그램이 읽지 못할 때

    Bash에서 echo로 확인한 값이 자식에게 없는 이유를 셸 변수와 환경의 차이로 설명한다. 합성 변수의 대입·명령 앞 대입·export를 비교하고, 자식의 변경이 부모로 돌아오지 않는 실제 출력으로 전달 범위를 고른다.

  12. PostgreSQL DO NOTHING 뒤에는 기존 행의 ID가 안 나온다

    ON CONFLICT DO NOTHING은 중복 행을 건너뛰므로 RETURNING id도 0행이 된다. PostgreSQL 18.6에서 첫 삽입·중복·별도 SELECT와 같은 값 UPDATE의 트리거 실행을 비교하고, 기존 ID 조회 경로와 동시성 미검증 범위를 설명한다.