누가 무엇을 내려받았나 — 다운로드 이력 로깅
엑셀 다운로드마다 경로·파일명·행수·크기·요청자를 적재하는 추출 감사 로그. 응답을 늦추지 않는 비동기 기록과 보관·조회 설계를 generic ExportLog 예시로 다룬다.
키워드가 정확히 일치하지 않아도 의미로 글을 찾아줍니다. 모든 처리는 브라우저 안에서 일어나며 — 서버·API 키·외부 전송이 없습니다. (검색 모델은 처음 한 번만 받고 이후 캐시됩니다.)
매일 자동으로 바뀌는 복습 6선 — Network · OS · Algorithm · Database 각 1편 + 랜덤 2편.
엑셀 다운로드마다 경로·파일명·행수·크기·요청자를 적재하는 추출 감사 로그. 응답을 늦추지 않는 비동기 기록과 보관·조회 설계를 generic ExportLog 예시로 다룬다.
Spring Batch 청크 리스너 훅(afterRead·beforeProcess·beforeWrite·afterWrite)이 트랜잭션·청크 경계에서 호출되는 시점과, 파생 데이터 적재 같은 부수효과를 어느 훅에 둬야 묶음 경계에 맞고 롤백·재시작에 안전한지.

TCP 3-way handshake가 왜 3번인지, SYN·ACK와 시퀀스 번호, 4-way 종료와 TIME_WAIT(2MSL), TCP 상태 머신, 순서번호·재전송으로 신뢰성을 만드는 방법, SYN flood 대응까지 다룹니다.

문자열 검색과 분류, 그 기초 자료구조들 문자열에서 패턴을 빠르게 찾거나, 텍스트를 분류하는 문제는 검색·생물정보학·NLP에서 자주 등장합니다. 이번 글에선 그 기초가 되는 접미사 트라이/트리와, 간단하지만 강력한 분류기 나이브 베이즈를 정리합니다. 접미사 트라이(Suffix Trie) 문자열의 모든 접미사(suffix) 를 트라이(trie, 접...

PostgreSQL 운영 실전과 현대 DB — 커넥션 풀(PgBouncer), bloat·REINDEX, pg_stat_statements 슬로우쿼리, 핵심 파라미터 튜닝, 그리고 NewSQL·pgvector·시계열 DB까지.
Spring @Transactional의 기본 롤백 규칙은 unchecked 예외만 롤백한다. 체크예외가 조용히 커밋되는 이유와 try-catch가 롤백을 무력화하는 함정을 정리한다.
목록/등록/수정/삭제에 이미지 업로드·노출순서·사용여부가 붙는 운영 관리 화면의 표준 구조. 컨트롤러/서비스/매퍼 책임 분리와 이미지 업로드를 본문 저장 트랜잭션과 엮는 법을 다룬다.
외부 API의 일일·키별 호출 한도를 소비자가 직접 세어, 한도를 넘기기 전에 호출을 건너뛰고 잡을 우아하게 종료하며, 정상 구간에서는 sleep 페이싱으로 속도를 조절하는 설계.
첫 오류에서 멈추는 불친절한 폼 검증 대신, 모든 필드 오류를 수집해 필드별 메시지로 한꺼번에 돌려주는 응답 설계를 정리한다.