클로드 코드 공식 문서 팁 정리

비대화형으로 프롬프트 하나 실행 후 출력하는 방법 claude -p "query" CI/CD 파이프라인이나 스크립트에서 활용하기 좋음 Skill vs Subagent 측면 Skill Subagent 정의 재사용 가능한 지침, 지식 또는 워크플로우 자신의 컨텍스트를 가진 격리된 워커 주요 이점 컨텍스트 간 콘텐츠 공유 컨텍스트 격리. 작업은 별도로 발생하고 요약만 반환된다. 최적 용도 참조 자료, 호출 가능한 워크 플로우 많은 파일을 읽는 작업, 병렬 작업, 특화된 워커 Claude Code 모범 사례 Claude에게 작업을 검증할 방법을 제공해라....

2026-03-03 · 3 min · 610 words

1-프롬프트 엔지니어링 소개

LLM은 단순히 한 텍스트 블록의 다음에 올 단어를 예측하는 모델일 뿐이다. 따라서 LLM은 단순히 사용자가 어떤 작업을 수행하는 데 도움이 되는 도구일 뿐이며 이러한 도구와 상호작용하는 방법은 사용자가 완성해야 할 텍스트 블록, 즉 프롬르트를 만드는 것이다. 언어 모델: 어쩌다 우리가 여기까지 왔지? 초기 언어 모델 최초로 소개된 언어 모델: 마르코프 모델 2014년까지 가장 강력한 언어 모델은 구글에서 소개한 seq2seq 아키텍처에 기반한다. 아키텍처: 인코더와 디코더 두 컴포넌트로 구성된다. 토큰 스트림을 인코더로 전송하면, 인코더는 입력 시퀀스의 정보를 축적하는 숨겨진 상태벡터를 업데이트한다....

2026-03-03 · 2 min · 298 words

5-유용한 클로드 코드 애드온 알아보기

Super Claude 클로드 코드에 파인튜닝된 커스텀 프롬프트를 생성해주는 클로드 코드 프레임워크 바이브 코딩을 하면서 자주 사용하는 프롬프트와 MCP를 직접 정리할 필요 없이 잘 튜닝된 커스텀 커맨드가 사용자 설정에 생성되어 즉시 모든 프로젝트에서 사용할 수 있다. 최근엔 Claude Code Skills, Plan Mode, Subagents 같은 기능이 순정이 기본으로 통합되어버려서 굳이 사용할 필요가 사라졌다는 의견도 있다. 순정 툴을 쓰는게 컨텍스트 오염을 막고 훨씬 실용적이라는 의견이 주를 이루고 있다. Claude Code Action 클로드 코드 액션을 사용하면 깃허브에서도 클로드 코드를 직접 사용할 수 있다....

2026-02-24 · 1 min · 148 words

4-클로드 코드 실전 사용 방법 알아보기

2026-02-24 · 0 min · 0 words

3-클로드 코드 고급 기능 활용하기

클로드의 잠재력을 끌어올리는 2가지 방법 CoT Chain of Through CoT 기법 적용해야 하는 이유 정확성: 각 단계를 검증하며 진행하므로 최종 결론의 신뢰도가 높아진다. 일관성: 최종 결과물을 더욱 긴밀하고 체계적인 구성을 갖추도록 돕는다. 디버깅 용이성: 논리적 흐름으로 특정 결과에 도달했는지 투명하게 보여준다. CoT 유도방법 프롬프트에 ‘생각해라’라는 문구만 들어가 있으면 된다. ex) 단순히 REST API 어떻게 설계 할 수 있는지 단계별로 생각하고 답변해줘. 확장된 사고 확장된 사고 유도 방법 ‘고민해라’라고 말하면 된다. ‘고민해라’보다 ‘깊게 고민해라’가 더 오랜 사고를 유도하고, ‘더 깊게 고민해라’는 더욱 더 오랜 사고를 유도한다....

2026-02-11 · 5 min · 872 words

2-클로드 코드 핵심 기능 활용하기

클로드 코드 기본 인터페이스 이해하기 클로드 코드 초기화 /init 명령어: 프로젝트를 분석해 CLAUDE.md 파일을 생성한다. 프로젝트 오버뷰, UI 구조, 아키텍처 등 프로젝트를 이해하기 위한 필수 정보들이 작성되어 있다. 자주 사용하는 클로드 단축키 단축키 설명 Ctrl + C 현재 입력이나 클로드의 생성 중인 아웃풋을 중단한다. Ctrl + D 클로드 코드 세션을 종료한다. Ctrl + L 클로드 코드와의 대화는 유지하며 사용자 대화창의 입력을 전부 삭제한다. 위/아래 방향키 기존에 실행했던 메시지를 조회한다. Esc + Esc 직전 메시지로 회귀한다....

2026-02-09 · 4 min · 765 words

7-분산 시스템을 위한 유일 ID 생성기 설계

문제 이해 및 설계 범위 확정 요구사항 ID는 유일해야 한다. ID는 숫자로만 구성되어야 한다. ID는 64비트로 표현되어야 한다. ID는 발급 날짜에 따라 정렬 가능해야 한다. 초당 10000개의 ID를 만들 수 있어야 한다. 개략적 설계안 제시 및 동의 구하기 다중 마스터 복제 데이터베이스의 auto_increment 기능을 활용하는 것이다. 다음 ID의 값을 구할 때 1만큼 증가시키는 것이 아니라, k만큼 증가시킨다. 단점 규모를 늘리기 어렵다. ID의 유일성이 보장되지만, 시간 흐름에 맞춰 커지도록 보장할 수 없다....

2026-02-03 · 2 min · 214 words

1-클로드 코드 세팅하기

왜 클로드 코드인가? 초창기 AI 협업 모델의 한계 맥락의 부재: 수백만 줄에 달하는 코드를 AI에 입력하기에는 콘텍스트 윈도우가 턱없이 부족했고, 이로 인해 AI는 기존 코드와 충돌하는 제안을 하거나, 프로젝트의 코드 스타일과 아키텍처 패턴을 무시한 일관성 없는 코드를 생성했다. 파편화된 워크플로: IDE와 AI 채팅창을 오가며 코드를 복사하고 붙여넣는 번거로운 작업을 해야됐다. 끊임없는 마이크로매니지먼트의 필요성: 개발자가 모든 단계를 세밀하게 지시해야 했다. 수동적 실행: AI가 먼저 제안하거나 문제를 지적하지 않았다. 에이전트 AI가 수행할 수 있는 작업 새로운 기능 구현을 위한 파일 생성 및 기존 코드 수정 프로젝트에 필요한 라이브러리 검색 및 설치 테스트 스크립트 작성 및 실행 버그 재현 및 수정안 제안 필요한 개발 도구의 자동 설치 및 환경 설정 클로드 코드의 동작 방식 프로젝트 구조 분석 작업 계획 수립 실행 검증 및 개선 클로드 코드와 커서의 차이점 클로드 코드의 성능이 압도적으로 좋다....

2026-02-03 · 1 min · 169 words

9-웹 크롤러 설계

웹 크롤러 용도 검섹 엔진 인덱싱: 웹 페이지를 모아 검색 엔진을 위한 로컬 인덱스를 만든다. 웹 아카이빙: 나중에 사용할 목적으로 장기보관하기 위해 웹에서 정보를 모으는 절차를 말한다. 웹 마이닝: 인터넷에서 유용한 지식을 도출한다. 웹 모니터링: 인터넷에서 저작권이나 상표권이 침해되는 사례를 모니터링할 수 있다. 문제 이해 및 설계 범위 확정 좋은 웹 크롤러가 만족시켜야 할 속성 규모 확장성: 병행성을 활용하면 효과적으로 웹 크롤링을 할 수 있다. 안정성: 잘못 작성된 HTML, 아무 반응이 없는 서버, 장애, 악성 코드가 붙어 있는 링크에 잘 대응할 수 있어야 한다....

2026-01-28 · 5 min · 897 words

8-URL 단축기 설계

문제 이해 및 설계 범위 확정 기본적 기능 URL 단축: 주어진 긴 URL을 훨씬 짧게 줄인다. URL 리다이렉션: 축약된 URL로 HTTP 요청이 오면 원래 URL로 안내 높은 가용성과 규모 확장성, 그리고 장애 감내가 요구됨 개략적 추정 쓰기 연산: 매일 1억 개의 단축 URL 생성 초당 쓰기 연산: 1억/24/3600 = 1160 읽기 연산: 읽기 연산과 쓰기 연산 비율을 10:1이라고 하면 초당 11600회 발생한다. URL 단축 서비스를 10년간 운영한다고 가정하면 3650억개의 레코드를 보관해야 한다....

2026-01-28 · 2 min · 377 words

8-'정확히 한 번'의미 구조

7장까지는 ‘최소 한 번’ 전달에 초점을 맞췄다. 하지만 메시지 중복의 가능성은 여전히 있다. 현실에서 사용되는 대부분의 애플리케이션들은 메시지를 읽는 애플리케이션이 중복 메시지를 제거할 수 있도록 메시지에 고유한 식별자를 포함한다. 카프카 ‘정확히 한 번’ 의미 구조는 두 개의 핵심 기능의 조합로 이루어진다. 멱등성 프로듀서: 프로듀서 재시도로 인해 발생하는 중복을 방지한다. 트랜잭션 의미 구조: 스트림 처리 애플리케이션에서 ‘정확히 한 번’ 처리를 보장한다. 멱등성 프로듀서 멱등성: 작업을 여러 번 실행해도 한 번 실행한 것과 결과가 같은 성질 프로듀서에서 메시지가 중복으로 발생하는 일반적인 시나리오 파티션 리더가 프로듀서로부터 레코드를 받아서 팔로워들에게 성공적으로 복제한다....

2026-01-28 · 9 min · 1899 words

6-키-값 저장소 설계

키-값 저장소: 비 관계형 데이터베이스로 저장소에 저장되는 값은 고유 식별자를 키로 가진다. 키는 일반 텍스트일 수도 있고 해시 값일 수도 있다. 키는 성능상의 이유로 짧을수록 좋다. 문제 이해 및 설계 범위 확정 다음 특성을 갖는 키-값 저장소를 설계해 볼 것이다. 키-값 쌍의 크기는 10KB 이하이다. 큰 데이터를 저장할 수 있어야 한다. 높은 가용성을 제공해야 한다. 따라서 시스템은 설사 장애가 있더라도 빨리 응답해야 한다. 높은 규모 확장성을 제공해야 한다. 따라서 트래픽 양에 따라 자동적으로 서버 증설/삭제가 이루어져야 한다....

2026-01-28 · 7 min · 1289 words

5-안정 해시 설계

수평적 규모 확장성을 달성하기 위해서는 요청 또는 데이터를 서버에 균등하게 나누는 것이 중요하다. 해시 키 재배치(rehash) 문제 나머지 연산으로 해시를 배치하는 것은 데이터 분포가 균등할 때만 잘 동작한다. 또한, 서버가 추가되거나 기존 서버가 삭제되면 대부분의 키가 재분배된다. 안정 해시 안정 해시: 해시 테이블 크기가 조정될 때 평균적으로 k/n개의 키만 재배치하는 기술 k: 키의 개수 n: 슬롯의 개수 기본 구현법 해시 함수를 사용해서 서버 IP나 이름으로 링 위에 서버를 배치한다. 해시 키도 똑같이 배치한다....

2026-01-28 · 1 min · 141 words

4-처리율 제한 장치의 설계

API에 처리율 제한을 두면 좋은점 DoS 공격에 의한 자원 고갈을 방지할 수 있다. 비용을 절감할 수 있다. 서버 과부하를 막는다. 1단계 문제 이해 및 설계 범위 확정 면접관과 소통하면서 어떤 제한 장치를 구현해야 하는지 분명히 한다. 예시: 설정된 처리율을 초과하는 요청은 정확하게 제한한다. 낮은 응답 시간 가능한 한 적은 메모리를 써야 한다. 분산형 처리율 제한: 하나의 처리율 제한 장치를 여러 서버나 프로세스에서 공유할 수 있어야 한다. 예외 처리: 요청이 제한되었을 때는 그 사실을 사용자에게 분명하게 보여주어야 한다....

2026-01-28 · 5 min · 971 words

1-사용자 수에 따른 규모 확장성

단일 서버 모든 컴포넌트가 한 대의 서버에서 실행되는 간단한 시스템부터 설계해본다. 사용자는 도메인 이름을 DNS에 질의하여 IP 주소로 변환한다. DNS는 보통 제3 사업자가 제공하는 유료 서비스를 이용하게 되므로, 우리 시스템의 일부가 아니다. DNS 주소 결과로 IP 주소가 반환된다. 해당 주소로 HTTP 요청이 전달된다. 요청을 받은 웹 서버는 HTML 페이지나 JSON 형태의 응답을 반환한다. 웹 서버로 요청이 들어오는 곳은 2가지 이다. 웹 앱: 비즈니스 로직, 데이터 저장을 위해 서버 구현용 언어(자바, 파이썬 등)를 사용하고, 프레제테이션용으로는 클라이언트 구현용 언어(HTML, 자바스크립트 등)을 사용한다....

2026-01-28 · 7 min · 1413 words

README

도서 ‘교보문고 > 컴퓨터/IT 베스트 셀러’ 중 백엔드 개발자와 관련된 도서(2026.01.04 기준 출판한지 6개월 이상된 책만 필터링) 이미 읽은 책은 제외 주니어 백엔드 개발자가 반드시 알아야 할 실무 지식: https://product.kyobobook.co.kr/detail/S000216376461 가상 면접 사례로 배우는 대규모 시스템 설계 기초: https://product.kyobobook.co.kr/detail/S000001033116 가상 면접 사례로 배우는 대규모 시스템 설계 기초 2: https://product.kyobobook.co.kr/detail/S000211656186 데이터 중심 애플리케이션 설계: https://product.kyobobook.co.kr/detail/S000001766328 JVM 밑바닥까지 파헤치기: https://product.kyobobook.co.kr/detail/S000213057051 실용주의 프로그래머: https://product.kyobobook.co.kr/detail/S000001033128 소프트웨어 아키텍처 101: https://product.kyobobook.co.kr/detail/S000218641537 AWS 교과서: https://product.kyobobook.co.kr/detail/S000210532528 그림으로 공부하는 IT 인프라 구조: https://product....

2026-01-04 · 1 min · 116 words

Elasticsearch nested 타입으로 정렬하는 법

배경 아래와 같은 인덱스가 있다고 해보자. { "mappings": { "properties": { "myFields": { "type": "nested", "properties": { "fieldName": { "type": "keyword" }, "fieldType": { "type": "keyword" } , "stringValue": { "type": "keyword" }, "integerValue": { "type": "integer" }, "dateValue": { "type": "date" } } } } } } 예시와 같이 document에는 각 타입별로 사용하는 value 필드가 다르다. { "myFields": [ { "fieldName": "custom01", "fieldId": 1, "valueType": "STRING", "stringValue": "value1" }, { "fieldName": "custom02", "fieldId": 2, "valueType": "DATE", "dateValue": "2025-10-01" }, { "fieldName": "custom03", "fieldId": 3, "valueType": "INTEGER", "integerValue": 123 } ] 위 예시에서 fieldName이 custom03 인 필드의 integerValue를 기준으로 document를 정렬하고 싶다면 어떻게 해야될지 이해해본다....

2025-12-18 · 2 min · 262 words

9-검색 엔진으로 활용하기

inverted index란 문서에 포함된 문자열을 어떤 기준으로 단어로 나누는데 이렇게 나뉜 단어들을 토큰이라고 부른다. 이렇게 토큰을 만들어내는 과정을 토크나이징이라고 부른다. 토큰을 기준으로 저장된 문서를 아래와 같이 저장하는데 이것을 inverted index라고 부른다. analyzer 종류 마다 토크나이징 결과가 달라진다. analyzer 살펴보기 analyzer를 구성할 때는 tokenizer를 필수로 명시해야 하며 하나의 tokenizer만 설정할 수 있다. character filter와 token filter는 필요하지 않은 경우 기술하지 않거나 여러 개를 기술할 수 있다. character filter: analyzer로 들어온 문자열을 변형한다....

2025-12-18 · 4 min · 690 words

4-카프카 컨슈머 카프카에서 데이터 읽기

카프카 컨슈머: 개념 컨슈머와 컨슈머 그룹 카프카 컨슈머는 보통 컨슈머 그룹의 일부로서 작동한다. 이유: 우리는 토픽으로부터 데이터를 읽어 오는 작업을 확장할 수 있어야 한다. 동일한 컨슈머 그룹에 속한 여러 개의 컨슈머들이 동일한 토픽을 구독할 경우, 각각의 컨슈머는 해당 토픽에서 서로 다른 파티션의 메시지를 받는 것이다. 컨슈머 그룹에 컨슈머를 추가하는 것은 카프카 토픽에서 읽어오는 데이터 양을 확장하는 주된 방법이다. 토픽을 생성할 때 파티션을 크게 잡아주는 게 좋은 이유: 부하가 증가함에 따라서 더 많은 컨슈머를 추가할 수 있게 해주기 때문 토픽에 설정된 파티션 수 이상으로 컨슈머를 투입하는 것은 아무 의미가 없는 점도 명심하라 새로운 컨슈머 그룹, G2를 추가하게 된다면 이 컨슈머는 G1 컨슈머 그룹에서 무엇을 하고 있든지 상관없이 T1 토픽의 모든 메시지를 받게 된다....

2025-12-18 · 13 min · 2633 words

4-엔티티 매핑

@Entity JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 어노테이션을 필수로 붙여야한다. @Entity 적용 시 주의사항 기본 생성자가 필수다(파라미터가 없는 public 또는 protected 생성자) final 클래스, enum, interface, inner 클래스에는 사용할 수 없다. 저장할 필드에 final을 사용하면 안 된다. kotlin을 사용할 때는 maven의 jpa 플러그인을 사용 한다면 파라미터가 없는 생성자를 만들 필요가 없다. (https://kotlinlang.org/docs/no-arg-plugin.html#jpa-support) kotlin을 사용할 때는 기본적으로 final 클래스로 만들어지는데, 아래와 같이 플러그인을 이용해서 특정 어노테이션이 붙어 있는 경우에는 open 클래스로 만들도록 수정할 수 있다....

2025-12-18 · 4 min · 838 words