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

빌드노트

검색 결과

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

글 검색

글 목록

총 480개의 글

  1. PostgreSQL 이관 뒤 자동 INSERT가 중복 키로 실패하면 시퀀스를 확인한다

    명시적 ID를 넣은 이관은 시퀀스를 전진시키지 않을 수 있다. PostgreSQL 18.6에서 자동 INSERT 충돌, setval의 true·false와 빈 테이블, 롤백 후 남는 번호를 비교하고 실제 생성 경로와 쓰기 중단 조건을 확인한다.

  2. Bash while read가 첫 줄만 처리한다면 자식의 stdin을 확인한다

    목록을 읽는 while read 안의 자식 명령이 같은 stdin을 소비하면 루프가 첫 항목에서 끝날 수 있다. cat으로 남은 두 줄이 읽히는 출력을 비교하고, 빈 입력 제공과 read -u 3을 통한 입력 분리를 선택한다.

  3. FormData를 보냈는데 서버가 multipart 경계를 찾지 못한다

    FormData 전송에 수동 Content-Type을 넣으면 boundary가 누락되거나 본문과 달라질 수 있다. 실제 브라우저의 네 요청에서 헤더·경계 바이트·파싱 결과를 대조하고, 브라우저가 multipart 헤더를 만들도록 수정하는 방법을 설명한다.

  4. 실패 결과를 캐시에 넣지 않으려면 condition 대신 unless

    Spring @Cacheable의 인자 조건은 condition, 반환값에 따른 저장 거부는 unless로 나눈다. 실패·성공 반환값의 실제 본문 실행 수와 캐시 엔트리를 비교하고, 이미 저장된 실패 값에는 새 unless가 적용되지 않는 범위도 확인한다.

  5. PostgreSQL DISTINCT ON으로 최신 행을 골랐는데 과거 행이 나온다

    DISTINCT ON은 그룹마다 첫 행을 남기므로 최신 시각과 동률 ID 규칙을 ORDER BY에 적어야 한다. PostgreSQL 18.6에서 시각·ID 정렬 방향, 잘못된 선두 정렬의 42P10 오류, 대표행 선택 뒤 표시 순서를 실제 비교했다.

  6. PostgreSQL에서 날짜 내림차순인데 NULL 행이 맨 위에 나온다

    PostgreSQL의 DESC는 기본적으로 NULL을 앞에 둔다. 네 개의 합성 행으로 ASC·DESC·NULLS LAST와 LIMIT 1을 비교하고, 동률 보조 키와 날짜 없는 행을 제외할 조건을 정한다.

  7. Boolean.getBoolean("true")가 false를 반환할 때

    Boolean.getBoolean은 문자열 값이 아니라 JVM 시스템 속성 이름을 받는다. 속성 없음과 -Dlab.flag=true/false를 별도 JVM에서 비교하고, parseBoolean으로 바꿀 경우와 속성 원문을 확인할 경우를 구분한다.

  8. DNS 전환 전 HTTPS 확인은 curl --resolve로 한다

    DNS 전환 전 새 IP를 HTTPS로 검사할 때는 URL의 도메인을 유지하고 curl --resolve로 연결 주소만 바꾼다. 전용 CA와 loopback TLS 서버에서 Host·SNI·인증서 이름 검증을 비교하고 Windows Schannel의 미완료 조건도 구분한다.

  9. curl에 넣은 /a/../b가 서버에는 /b로 도착한다

    curl은 기본적으로 URL의 점 경로를 전송 전에 정리한다. 세 경로를 기본 조건과 --path-as-is로 보내 실제 수신 요청 줄을 비교하고, curl의 처리와 서버의 후속 해석을 구분한다.

  10. 직접 등록한 Bean이 있는데도 자동 설정 Bean이 생긴다

    사용자 @Bean이 JsonCodec 객체를 반환해도 Object로 선언하면 자동 설정의 타입 조건이 그 Bean을 놓칠 수 있다. ApplicationContextRunner에서 반환 타입과 자동 설정 순서를 바꿔 비교하고, 조건 보고서로 원인을 확인하는 방법을 설명한다.

  11. form.submit()으로 보내면 required 검사가 빠지는 이유

    form.submit()은 required 검사와 submit 이벤트를 생략한다. 새 Chrome 프로필과 로컬 수신 서버로 네 제출 경로를 비교하고, 검증·이벤트·버튼의 name=value가 필요한 경우 requestSubmit에 무엇을 넘길지 설명한다.

  12. 다운로드 이어받기에서 200 응답을 붙이면 파일이 중복된다

    Range를 보냈어도 서버는 전체 내용을 200으로 반환할 수 있다. 고정 16바이트의 206·200·416 응답을 비교하고, Content-Range와 실제 바이트·같은 버전을 확인해 조각 결합과 전체 재시작을 결정한다.