
문자열 매칭 — 어긋났을 때 얼마나 똑똑하게 다시 시작하는가
문자열 매칭 KMP(실패 함수)와 라빈-카프(롤링 해시)가 나이브 O(nm)를 어떻게 O(n+m)으로 줄이나. 패턴 점프와 해시 윈도우 이동을 애니메이션으로.
키워드가 정확히 일치하지 않아도 의미로 글을 찾아줍니다. 모든 처리는 브라우저 안에서 일어나며 — 서버·API 키·외부 전송이 없습니다. (검색 모델은 처음 한 번만 받고 이후 캐시됩니다.)
매일 자동으로 바뀌는 복습 6선 — Network · OS · Algorithm · Database 각 1편 + 랜덤 2편.

문자열 매칭 KMP(실패 함수)와 라빈-카프(롤링 해시)가 나이브 O(nm)를 어떻게 O(n+m)으로 줄이나. 패턴 점프와 해시 윈도우 이동을 애니메이션으로.
EXPLAIN의 type·rows·key를 읽어 풀스캔과 인덱스 스캔을 구분하고, 옵티마이저의 추정과 실제 실행의 차이를 진단하는 법을 다룬다.
커넥션 풀을 키운다고 처리량이 늘지 않는 이유(DB 동시성 한계)와 Little's law 기반 사이징, 누수 탐지를 다룬다.
처음엔 붙여 두는 게 빨랐던 두 기능이 자라며 서로를 깨뜨린다. 응집도·결합도로 분리 지점을 찾고 공유 데이터를 가르며 회귀를 막는 리팩토링을 다룬다.

메시지를 넣고 빼는 양쪽 이야기 토픽·파티션·오프셋을 봤으니, 실제로 메시지를 넣는 쪽(Producer) 과 빼는 쪽(Consumer), 그리고 Kafka의 핵심인 컨슈머 그룹을 정리합니다. Producer — 어디로 보낼지와 acks Producer는 메시지를 토픽에 발행합니다. 두 가지가 중요합니다. 파티션 결정: 메시지에 키가 있으면...
컬럼 구성 자체가 런타임 설정으로 가변인 엑셀 생성. 컬럼 정의와 행 매핑을 분리하고, 가변 스키마에서 누락 컬럼을 안전하게 처리한다.
PostgreSQL 메이저 버전 차이로 같은 쿼리가 깨지는 이유와 대응. 암묵 형변환 강화, 집계·정렬 동작 변화, 예약어 추가를 진단하고 호환되게 고친다.
인증된 사용자 정보를 계층마다 파라미터로 나르지 말고 SecurityContext에서 일관 조회한다. ThreadLocal 전략과 비동기에서 컨텍스트가 끊기는 함정까지.
DB 트랜잭션이 열린 채 외부 API를 호출하면 커넥션을 점유한 채 네트워크 대기에 묶여 풀이 고갈된다. 외부 호출을 트랜잭션 경계 밖으로 빼는 설계를 다룬다.