반응형 전체 글155 Java HttpClient 타임아웃 설정 API 주소는 맞는데 프로그램이 다음 줄로 넘어가지 않는다.서버가 응답할 때까지 기다리는 코드라면, 상대 서버가 멈춘 동안 호출한 쪽도 같이 묶인다.연결 제한을 1초로 넣었는데도 계속 기다리는 경우가 있다.연결을 맺는 시간과 응답을 기다리는 시간은 서로 다른 설정이기 때문이다.두 설정을 나누고, 응답 본문까지 늦어졌을 때 빠져나오는 코드로 정리했다.제한 시간은 어디에 거는 걸까설정예제 값대상HttpClient.connectTimeout1초새 연결을 맺는 단계. 기존 연결을 재사용하면 적용되지 않음HttpRequest.timeout2초해당 HTTP 요청. 본문까지 적용되는 범위는 JDK 버전 차이가 있음responseFuture.get3초응답 문자열을 받을 때까지 호출 스레드가 기다리는 시간1초, 2초, .. 2026. 11. 7. PostgreSQL 접속 권한 설정 PostgreSQL 계정을 만들었는데 접속이 안 되거나, 접속한 뒤에도 테이블을 읽지 못하는 경우가 있다.비밀번호 문제처럼 보여도 막힌 위치에 따라 고칠 곳이 달라진다. 접속 주소 → 인증 규칙 → 테이블 권한 순서로 나누면 원인을 찾기 쉽다.설정 파일 수정과 GRANT도 이 순서대로 진행한다.담당하는 곳결정하는 내용반영 방법postgresql.conf의 listen_addresses서버가 어느 주소에서 연결을 받을지변경 후 PostgreSQL 재시작pg_hba.conf어느 IP·DB·계정에 어떤 인증을 적용할지파일 검사 → reload → 새 연결GRANT / REVOKEDB 접속, 스키마 사용, 테이블·시퀀스 권한트랜잭션 확정 후 적용. 서버 reload 불필요실습용 DB와 접속할 클라이언트 만들기D.. 2026. 11. 7. PostgreSQL 중복 저장 오류 해결 — ON CONFLICT로 건너뛰거나 갱신하기 상품 가격을 다시 올리려는데 같은 상품코드가 있다는 오류가 나왔다.처음 등록은 됐지만, 같은 상품을 한 번 더 넣으면서 중복 키에 걸린 것이다. 이미 등록한 상품이라면 기존 값을 유지할지, 새로 받은 값으로 바꿀지부터 정하면 된다.두 경우를 ON CONFLICT로 나눠 처리해 보았다. 예제 상품은 코드가 P001인 머그컵으로, 처음 가격은 5,500원이고 새 가격은 6,000원이다.가격을 다시 저장하고 같은 요청도 반복해서 보내 보았다.상품과 가격은 설명을 위한 예제 데이터다.접속하고 임시 테이블부터 만들기아래 SQL은 다른 SQL 편집기에서도 실행할 수 있지만, 임시 테이블이므로 처음부터 끝까지 같은 연결을 유지해야 한다. 이 실습에서 사용하는 값은 다음과 같다.NAMESPACE: defaultNAME.. 2026. 11. 6. 엑셀 두 파일 비교하기 — 바뀐 값과 추가·삭제된 행만 뽑기 엑셀 파일을 새로 받았는데 행 순서까지 달라져 있으면 비교하기가 귀찮아진다. 어제 파일의 2행과 오늘 파일의 2행이 같은 상품이라는 보장이 없기 때문이다.그렇다고 전부 정렬해 놓고 하나씩 볼 수도 없고… 이번에는 상품코드를 기준으로 두 파일을 맞춰 보았다. 바뀐 값은 변경, 새로 들어온 상품은 추가, 빠진 상품은 삭제 시트에 따로 담는다. 원본 두 개는 읽기만 하고 결과 파일을 새로 만든다.행 번호 대신 상품코드로 맞추기첨부한 before.xlsx와 after.xlsx는 각각 네 행짜리 예제다. 시트 이름은 둘 다 재고이고, 첫 행에는 상품코드·상품명·단가·재고·비고가 있다. 실제 거래 자료가 아니라 비교하기 쉽게 만든 문구류 목록이다.상품코드달라진 내용00123볼펜 단가 1,000 → 1,200 / 재.. 2026. 11. 6. PDF 필요한 페이지만 추출하기 — 파이썬으로 2~4쪽과 7쪽만 저장 PDF가 길어도 필요한 건 몇 쪽뿐일 때가 있다. 앞부분에서 세 쪽, 뒤에서 한 쪽. 이 정도를 보내려고 문서 전체를 전달할 필요는 없다.이번에는 8쪽짜리 PDF에서 2~4쪽과 7쪽을 골라 한 파일로 저장했다. 결과는 2, 3, 4, 7 순서의 4쪽짜리 PDF다. 원본은 건드리지 않고 새 파일을 만든다. 필요한 쪽이 바뀌면 코드 대신 실행 명령의 번호만 바꾸면 된다.아래 예제는 macOS의 Python 3.12.14와 pypdf 6.21.4에서 실행했다. 예제 PDF는 페이지 순서를 구분할 수 있게 만든 자료다. 문서가 외부 사이트로 전송되는 코드는 없다. 패키지를 설치한 뒤 PDF를 읽고 저장하는 작업은 내 컴퓨터 안에서 이뤄진다.쪽 번호부터 맞춰 두기여기서 2쪽은 PDF 파일 안의 두 번째 페이지다... 2026. 11. 5. 카톡·문자 속 약속을 일정으로 — 오늘챙김 앱을 출시했다 카톡으로 약속을 잡으면 대화는 남는다. 그런데 달력에 적는 건 또 다른 일이다. 날짜를 보고, 시간을 옮기고, 알림도 따로 맞춰야 한다.이 과정을 조금 줄여보려고 만든 앱이 오늘챙김이다. 냉장고 앱에 이어 직접 개발한 앱을 하나 더 소개해본다.오늘챙김은 사용자가 선택한 앱의 새 알림에서 날짜와 시간을 찾아 일정 후보로 모아준다. 모인 후보를 내 일정에 추가하면 오늘 할 일과 앞으로의 약속을 한곳에서 볼 수 있다.현재 Google Play에서 설치할 수 있다. 첫 출시는 2026년 9월 3일, 현재 버전은 1.1.0이다. 10월 29일 업데이트에서는 다가오는 7일의 날짜를 눌러 일정을 바로 보는 기능과 할 일 완료 처리를 다듬었다.Google Play에서 오늘챙김 설치하기Android 7.0 이상에서 사용.. 2026. 11. 4. 이전 1 2 3 4 ··· 26 다음 반응형