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

빌드노트

검색 결과

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

글 검색

글 목록

총 480개의 글

  1. 빌드 단계에서는 있던 명령이 최종 Docker 이미지에는 없다

    멀티스테이지 빌드가 성공해도 이전 단계의 도구와 ENV가 최종 이미지에 자동으로 남지는 않는다. 별도 FROM으로 시작한 두 단계에서 도구·산출물·환경 변수를 비교하고, 런타임에 필요한 파일과 설정을 명시하는 기준을 설명한다.

  2. INSERT 실패 뒤 SELECT도 25P02라면 트랜잭션부터 복구한다

    UNIQUE 위반 뒤 SELECT까지 25P02로 실패하면 현재 트랜잭션의 실패 상태를 본다. PostgreSQL 18.6에서 전체 롤백과 사전 저장점 복구를 비교하고, 이전 성공 쓰기 중 무엇이 최종 커밋에 남는지 확인했다.

  3. curl이 두 주소를 오가다 리다이렉트 오류로 끝난다

    curl의 리다이렉트 오류 47은 이동 상한 도달을 뜻한다. 두 경로 순환과 정상 유한 체인의 실제 요청 로그·마지막 URL·이동 횟수를 비교하고, 상한을 늘리기 전에 되돌리는 Location을 만든 설정으로 조사 범위를 좁힌다.

  4. HashMap 순회 중 map.remove를 호출하면 왜 다음 반복에서 예외가 날까

    enhanced for 안의 map.remove는 반복자 밖에서 Map 구조를 바꾼다. 세 엔트리의 부분 삭제와 예외 시점을 비교하고, 조건부 삭제에는 entrySet().removeIf 또는 같은 반복자의 remove를 선택한다. 단일 스레드 재현과 fail-fast의 한계도 구분한다.

  5. @Profile에 dev와 local을 넣었는데 dev만 켜도 빈이 생긴다

    @Profile({"dev", "local"})는 두 프로필 중 하나만 활성화되어도 빈을 등록한다. Spring 6.2.12의 새 컨텍스트 네 개에서 배열과 "dev & local"의 등록 결과를 비교하고, 필요한 조합에 맞춰 조건을 고치는 방법을 설명한다.

  6. Bash에서 VAR=new 명령 "$VAR"가 이전 값을 인자로 넘기는 이유

    Bash에서 명령 앞 대입과 같은 줄의 변수 인자가 서로 다른 값을 쓰는 이유를 확인한다. export 전후의 자식 인자·환경·부모 값을 비교하고, 별도 대입 후 호출하거나 자식에서 환경을 읽는 방법을 고른다.

  7. PostgreSQL에서 (1 / 2)::numeric이 0인 이유

    PostgreSQL에서 (1 / 2)::numeric은 타입만 numeric인 0이다. 실제 값과 pg_typeof를 비교해 나눗셈 전에 변환할 위치를 찾고, NULLIF로 0 분모를 처리해도 정상 분모의 정수 나눗셈은 그대로라는 점을 확인한다.

  8. Bash set -e 스크립트가 첫 ((counter++))에서 끝나는 이유

    Bash에서 0으로 시작한 ((counter++))는 값을 늘리고도 종료 상태 1을 반환해 set -e 스크립트를 끝낼 수 있다. 짧은 재현으로 후속 출력과 상태를 확인하고, counter=$((counter + 1))로 고친다. 전위 증가도 -1에서는 멈추는 이유를 함께 설명한다.

  9. pipefail을 켰는데 diff <(...)의 생산자 실패가 보이지 않는다

    같은 한 줄을 출력하고 7로 끝난 생산자를 diff <(...)에 연결해도 diff는 0이었다. pipefail과 PIPESTATUS의 범위를 구분하고, 생산자 상태를 따로 확인한 뒤 파일을 비교하는 방법을 설명한다.

  10. ConfigurationProperties Map 키에서 슬래시가 사라지는 이유

    ConfigurationProperties로 받은 Map에서 /api가 api로 바뀌면 키 표기를 확인한다. properties 입력 8개를 String·Object 맵에 각각 바인딩해 슬래시 제거와 점의 중첩 해석을 비교하고, 원문 키를 보존할 대괄호 위치를 설명한다.

  11. Arrays.fill 뒤 한 목록에 add했는데 모든 칸에 보인다

    Arrays.fill로 채운 목록 배열은 같은 목록 참조를 공유할 수 있다. 한 번의 add, == 비교, 한 칸 교체와 칸마다 새 목록을 만드는 초기화를 실제 JDK에서 비교해 공유 여부와 수정 위치를 판단한다.

  12. ellipsis를 넣었는데 긴 제목이 계속 튀어나온다

    ellipsis 선언만으로 제목의 폭과 줄바꿈은 바뀌지 않는다. inline·block, nowrap, overflow와 실제 사용 폭을 비교하고, 같은 clientWidth·scrollWidth에서도 표시가 달라지는 이유를 확인한다.