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

빌드노트

검색 결과

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

글 검색

글 목록

총 480개의 글

  1. Bash에서 2>&1을 붙였는데 오류 로그가 파일에 안 들어간다

    Bash의 >file 2>&1과 2>&1 >file을 실제로 비교한다. ERR가 부모 stdout으로 빠지는 결과와 복제 뒤 stdout을 다른 파일로 바꾼 결과로 연결 시점을 설명하고, 로그 목적지와 종료 코드를 구분한다.

  2. 파일이 644인데도 Permission denied라면 상위 디렉터리의 x를 본다

    파일이 644여도 경로의 디렉터리에 탐색 권한이 없으면 열리지 않는다. 비특권 Linux에서 ls의 이름 조회와 cat의 읽기를 비교하고, 파일 모드를 유지한 채 막힌 디렉터리의 x만 복원하는 판단을 설명한다.

  3. @Primary를 붙였는데 주입된 List의 첫 번째 빈이 아니다

    @Primary를 바꿔도 List 주입 순서는 바뀌지 않는다. 세 전략 빈의 단일 선택과 목록을 비교하고, @Order 변경 및 등록 순서 반전 결과로 기본 후보와 처리 순서를 따로 설정하는 방법을 설명한다.

  4. npm install --package-lock-only는 끝났는데 새 패키지를 import할 수 없다

    package-lock-only로 lock을 갱신해도 실제 패키지 파일은 설치되지 않는다. 새 로컬 tarball에서 파일·resolve·import의 실패와 실제 설치 뒤 성공을 비교하고, 현재 옵션 값과 프로젝트 npmrc를 확인해 필요한 설치를 이어서 수행한다.

  5. 서버는 응답하는데 HEALTHCHECK는 curl을 찾지 못한다

    HTTP 서버가 응답해도 검사에 쓰는 curl을 컨테이너 안에서 찾지 못하면 unhealthy가 된다. 적용된 Test와 State.Health.Log의 ExitCode·Output을 읽고, 실제 제공된 BusyBox wget으로 같은 내부 URL을 확인해 검사 실행 실패를 구분한다.

  6. ls에는 8MiB인데 du는 0인 파일: sparse 크기 읽기

    같은 8MiB 파일을 tmpfs와 WSL 9p에서 만들고 stat·du·du --apparent-size를 비교했다. 논리 길이와 할당 블록의 차이, du -b의 의미, sparse 절약이 보이지 않을 때 확인할 파일시스템 조건을 설명한다.

  7. PostgreSQL JSONB에서 뽑은 문자열에 따옴표가 남는 이유

    JSONB의 ->는 JSON 값을, ->>는 SQL text를 반환한다. PostgreSQL 18.6의 합성 입력으로 문자열·숫자·JSON null·없는 키·SQL NULL의 결과를 비교하고, 따옴표 처리와 타입 확인, 숫자 캐스팅의 판단 기준을 설명한다.

  8. ENV가 있어도 JSON CMD의 $APP_MODE는 그대로 전달된다

    Docker의 JSON CMD는 셸을 자동 실행하지 않아 $APP_MODE를 인자로 그대로 전달한다. inspect로 환경과 인자를 나눠 보고, -e 변경·환경 직접 조회·명시적 셸 실행의 실제 출력을 비교한다.

  9. start-period가 남았는데 HEALTHCHECK 실패가 쌓이는 이유

    Docker HEALTHCHECK는 시작 유예 중 한 번 성공하면 이후 연속 실패를 집계한다. 90초 유예를 둔 두 컨테이너를 비교하고, inspect의 첫 성공 기록과 FailingStreak로 실패가 세어지는 이유를 확인한다.

  10. PostgreSQL now()가 트랜잭션 안에서 계속 같은 값을 준다

    오래 열린 트랜잭션에서 now()가 반복되는 이유를 짧은 SQL로 확인한다. 트랜잭션 시작, SQL 시작, 호출 순간 중 기록할 의미에 따라 now(), statement_timestamp(), clock_timestamp()를 고르는 기준을 설명한다.

  11. @RequestParam 이름을 생략했더니 빌드 후 요청이 실패한다

    Spring MVC에서 이름을 생략한 @RequestParam이 빌드 후 실패할 때, 요청 값보다 MethodParameters를 먼저 확인한다. 같은 컨트롤러를 -parameters 유무로 컴파일해 reflection·MockMvc 결과를 비교하고, 명시적 요청 키와 컴파일 설정 중 선택할 기준을 설명한다.

  12. PostgreSQL NOT IN 조회가 비었다면 제외 목록의 NULL을 확인한다

    NOT IN 하위 조회에 NULL이 섞이면 제외 목록에 없는 행도 결과에서 사라진다. 임시 PostgreSQL 18.6의 실제 출력으로 NULL 필터와 상관 NOT EXISTS를 비교하고, 조회 대상의 NULL을 남길지 같은 값으로 제외할지 고르는 방법을 설명한다.