카프카 클러스터는 브로커·토픽·파티션 세 겹으로 이해한다

카프카를 처음 배울 때 가장 많이 헷갈리는 지점은 “토픽에 메시지를 넣었는데 왜 순서가 뒤죽박죽으로 나오지?”다. 답은 카프카의 저장 구조에 있다. 카프카 클러스터는 브로커라는 서버 위에, 토픽이라는 논리 단위를 두고, 그 안에 파티션이라는 물리 단위로 메시지를 나눠 저장한다. 이 세 겹을…

카프카는 데이터를 주고받는 중간다리, 메시지 브로커다

두 서버가 직접 데이터를 주고받게 만들면 언젠가 문제가 생긴다. 받는 쪽 서버가 잠깐 죽으면 보낸 요청은 그대로 사라지고, 응답을 기다리는 동안 보낸 쪽 서버의 성능도 같이 떨어진다. 아파치 카프카(Apache Kafka)는 이 문제를 “중간에 메시지를 대신 보관해 주는 저장소”를 두는 방식으로…

Claude Code 좋은 프롬프트는 내부 구조에서 나온다

–continue 옵션을 못 주면 지금까지 나눈 대화를 잃어버릴까 봐 불안해하는 사람이 많다. 세션이 끊기면 작업 맥락이 통째로 사라진다고 믿기 때문이다. 결론부터 말하면 그 불안은 대부분 근거가 없다. Claude Code를 실행할 때마다 모델은 사실상 새로 태어나며, “대화가 이어진다”는 감각은 착시에 가깝다.…

웹 보안의 핵심은 원격지 사용자 입력을 신뢰하지 않는 것이다

아이디 입력란이 있으면 사람들은 아이디를 넣는다. 개발자는 그렇게 가정하고 코드를 짠다. 그런데 누군가는 그 칸에 1만 자를 때려 넣고, 누군가는 자바스크립트를, 누군가는 SQL문을 넣는다. 입력란은 사람의 선의를 전제로 만들어지지만, 공격자는 그 전제를 노린다 웹 보안을 코드 레벨에서 시작하는 출발점은 하나로…

웹 서비스 구조는 단방향 요청에서 3-tier로 진화했다

웹 개발을 처음 배우면 프레임워크 사용법부터 익히게 된다. 스프링으로 컨트롤러를 만들고, JPA로 엔티티를 매핑하고, React로 화면을 그린다. 그런데 막상 면접에서 “왜 WAS가 따로 있나요”, “세션은 왜 필요한가요”라는 질문을 받으면 막힌다. 도구는 쓸 줄 알지만 그 도구가 왜 생겼는지를 모르기 때문이다.…

웹 동작 원리 – URL과 HTTP로 보는 요청과 응답

주소창에 www.naver.com을 입력하고 엔터를 누르면 화면에 페이지가 뜬다. 매일 수십 번 반복하는 동작이지만, 그 사이에 무슨 일이 벌어지는지 설명하라고 하면 막히는 개발자가 많다. 결론부터 말하면 웹의 동작 원리는 생각보다 단순하다. 어떤 컴퓨터에 저장된 문서 하나를 네트워크 너머에서 요청하고, 그 컴퓨터가…

Claude Code 서브에이전트와 검증 하네스로 설계 신뢰도를 높인다

Claude가 “구현을 완료했습니다”라고 말해도 그게 맞다는 뜻은 아니다. 에이전트는 품질이 평범해도 자기 작업을 자신 있게 칭찬하는 경향이 있다. 그래서 좋은 구조는 책임을 잘게 나누고, 만든 것과 검증하는 것을 분리하며, 최종 결정권은 사람에게 남긴다. 앞 글에서 코어 루프와 Context·Permission·Tool 하네스를 다뤘다.…

Claude Code 하네스 엔지니어링 – 모델보다 하네스가 먼저다

문제를 받으면 “이렇게 구현하면 되겠다” 싶어 곧장 코드로 넘어가는 경우가 많다. 그런데 Claude Code가 강력한 이유는 모델이 똑똑해서가 아니다. 모델을 둘러싼 하네스(harness) 구조가 강력해서다. 같은 원리를 사람의 문제 설계에도 적용할 수 있다. 이 글은 Claude Code의 코어 루프와 하네스를 분해한…