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

빌드노트

검색 결과

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

글 검색

글 목록

총 480개의 글

  1. Spring MVC에서 /reports는 열리는데 /reports/는 404다

    Spring MVC에서 끝 슬래시 하나로 404가 달라질 때 실제 경로와 버전, 선택된 핸들러를 비교한다. Spring 6.2.12의 독립 실행으로 단일 매핑·두 경로 매핑·308 리다이렉트의 차이를 확인하고 지원할 주소를 정한다.

  2. Bash printf에서 로그 값의 %s가 사라진다면

    Bash에서 printf "$value"는 값 속의 %와 역슬래시를 형식으로 읽는다. percent%s의 조용한 손실과 100%의 부분 출력·오류를 비교하고, 고정 형식의 %s로 원문을 출력하는 방법과 %b로 의도적으로 이스케이프를 해석하는 경우를 구분한다.

  3. Bash =~에서 정규식 변수를 따옴표로 감쌌더니 매칭이 실패한다

    Bash의 =~ 오른쪽에서 정규식 변수를 인용하면 패턴 전체가 리터럴이 된다. 같은 입력의 상태·캡처와 패턴 문자 자체의 매칭을 비교하고, 리터럴 접두사와 숫자 정규식을 섞어 인용하는 방법 및 compat31 예외를 확인한다.

  4. ADD로 넣은 tar 파일이 이미지 안에서는 풀려 있다

    로컬 tar를 ADD하면 아카이브 대신 내용물이 생긴다. 같은 바이트의 .tar·.bin과 일반 텍스트 .tar의 경로·바이트 비교를 바탕으로, 파일 자체가 필요할 때 COPY로 바꾸고 최종 경로를 확인하는 방법을 설명한다.

  5. HashMap은 null 키를 받는데 groupingBy는 NPE가 난다

    HashMap이 null 키를 받아도 groupingBy의 분류 함수가 null을 반환하면 NPE가 날 수 있다. OpenJDK 17.0.2에서 Map 공급자를 바꾼 결과를 비교하고, Optional 그룹은 3행을 보존하며 명시 필터는 1행을 제외하는 차이를 확인한다.

  6. undefined로 비운 객체 필드가 JSON 요청에서 사라진다

    undefined를 넣은 객체 속성은 JSON에서 키째 빠진다. 전송 문자열과 hasOwn으로 누락 지점을 확인하고, 명시적 null로 초기화를 요청하려면 서버와 어떤 계약이 필요한지 설명한다.

  7. Retry-After가 날짜로 오면 429를 바로 재요청하는 이유

    Retry-After를 정수로만 읽고 실패를 0으로 바꾸면 정상적인 날짜 응답도 즉시 재요청으로 이어진다. 429·503의 실제 loopback 헤더와 고정 시계 계산을 대조하고, 유효한 0·누락·잘못된 값 및 대기 예산 초과를 구분한다.

  8. parallelStream의 reduce(10, sum)는 왜 합계가 더 커질까

    reduce의 identity에는 덧셈의 중립 원소 0을 넣어야 한다. 작은 목록에서 순차·병렬 실행과 빈 입력을 비교하고, 합계 보정값 10을 환원 뒤 한 번 적용하는 수정과 실제 오답이 실행 조건에 따라 달라지는 이유를 설명한다.

  9. HTTP 500인데 curl은 종료 코드 0을 반환했다

    HTTP 500 응답을 받아도 기본 curl의 종료 코드는 0일 수 있다. 고정 200·404·500에서 --fail과 --fail-with-body의 종료 코드·본문 파일을 비교하고, PowerShell에서 실패를 반환하는 처리와 정확히 200을 검사할 조건을 설명한다.

  10. no-cache 응답인데 If-None-Match 요청이 다시 간다

    no-cache 응답의 ETag를 브라우저가 다시 보내는 것은 재검증이다. 새 Chromium 프로필에서 일반 fetch를 반복해 no-cache의 200·304·304와 no-store의 200·200·200을 비교하고, 저장 허용 여부에 따라 응답 정책을 고르는 기준을 설명한다.

  11. Promise.all이 실패했는데 나머지 작업은 계속됐다

    Promise.all의 catch는 남은 작업의 취소나 종료를 뜻하지 않는다. 짧은 Node 타이머에서 거절 뒤 완료와 명시 취소를 비교하고, allSettled로 결과를 관찰할지 취소를 요청할지 구분한다.

  12. InputStream.read가 양수여도 버퍼 전체를 처리하면 안 된다

    read 반환값 n보다 뒤의 버퍼 원소는 이번 입력이 아니다. ABCDE를 최대 두 바이트씩 반환한 관찰로 잔여 값을 확인하고, n만 소비하는 루프와 readNBytes 뒤의 입력 부족 검사를 선택한다.