배치는 돌았는데 성공했을까 — 배치 실행 이력 관리 화면
스케줄 배치가 돌긴 했는지 사람이 확인하려면 실행 이력이 데이터로 남아야 한다. 잡 이력 테이블 설계와 운영 모니터링 화면의 관측 가능성.
키워드가 정확히 일치하지 않아도 의미로 글을 찾아줍니다. 모든 처리는 브라우저 안에서 일어나며 — 서버·API 키·외부 전송이 없습니다. (검색 모델은 처음 한 번만 받고 이후 캐시됩니다.)
매일 자동으로 바뀌는 복습 6선 — Network · OS · Algorithm · Database 각 1편 + 랜덤 2편.
스케줄 배치가 돌긴 했는지 사람이 확인하려면 실행 이력이 데이터로 남아야 한다. 잡 이력 테이블 설계와 운영 모니터링 화면의 관측 가능성.
검색어가 비었을 때 전체를 다 긁는 위험과, 기본 스코프·필수 조건·상한으로 자신을 보호하는 검색 설계를 다룬다.
평평한 결과는 resultType, 연관·중첩은 resultMap. Map 반환의 유혹과 위험, 그리고 타입 안정성까지 MyBatis 매핑 선택의 기준을 정리한다.
검색 결과가 없을 때 매퍼가 null을 줄지 빈 리스트를 줄지, 서비스에서 빈 컬렉션으로 정규화하는 법, 일관된 응답 형태 설계를 다룬다.
ajax(application/json)와 폼 전송(form-urlencoded)의 서버 바인딩 차이, PRG 리다이렉트, ajax에서의 에러·CSRF 처리 차이를 다룬다.
다건 저장 시 단건 insert 반복의 왕복 비용, foreach 멀티 VALUES와 ExecutorType.BATCH의 차이, 그리고 패킷 크기 한계와 청크 분할을 다룬다.
전체 컬럼 UPDATE가 다른 필드를 덮어쓰는 위험과, MyBatis 동적
사용자가 정렬 컬럼·방향을 지정하는 동적 정렬에서 SQL 인젝션이 생기는 이유와, 허용 목록 매핑·거부 기본값으로 막는 설계를 다룬다.
운영 대시보드의 방문 통계가 거짓말하는 이유는 봇·내부 계정·중복 IP 때문이다. 집계 단계에서 노이즈를 제거해 진짜 사용자를 추리는 데이터 정제.