전체 글91 Claude Code Hooks Claude Code Hooks 이란?Hook은 Claude Code가 돌아가는 동안 정해진 순간(세션 시작, 도구 실행 전후, 응답 완료 등)에 자동으로 끼어들어 실행되는 스크립트다. Claude의 판단이나 프롬프트에 기대지 않고, 해당 이벤트가 발생하면 무조건 실행되기 때문에 동작을 확정적으로 강제하거나 흐름을 바꿀 수 있다. 그래서 위험한 명령 차단, 세션 시작 시 환경 점검, 파일 수정 후 자동 포맷 같은 "반드시 지켜야 하는 규칙"을 걸어두는 데 쓴다.0. 한 줄 요약Hook = Claude Code 세션 수명 주기의 특정 지점에 자동 실행되는 "가로채기 장치".1. Hook 수명 주기Hook 이벤트 발생 주기빈도이벤트세션당 1회SessionStart, SessionEnd턴당 1회UserProm.. 2026. 7. 23. llms.txt를 알아보자 /llms.txt1. llms.txt가 뭔데?웹사이트 루트(/llms.txt)에 두는, LLM을 위한 사이트 안내 및 사용설명서.사람이 아니라 LLM이 추론 시점에 읽도록, 사이트의 핵심 정보와 상세 문서 링크를 정해진 마크다운 포맷으로 모아둔다. robots.txt·sitemap.xml처럼 약속된 경로에 두는 표준 제안.비유하자면 AI에게 건네는 명함이다. 같은 "약속된 경로" 파일이라도 역할이 다르다 — robots.txt = 접근 제어, sitemap.xml = URL 전수 나열, llms.txt = 친절한 설명(큐레이션). (Mintlify가 지원하면서 빠르게 퍼졌고 Anthropic·Cursor 같은 곳도 도입 중.)말 그대로 제안, 제레미 하워드라는 사람이 제안을 했고 퍼져 실제 표준처럼 되어.. 2026. 7. 22. 제대로 알고 사용하자 useCallback, useMemo 그리고 React.memo 보통 공부를 하다보면 많이 접하는 useCallback과 useMemo는 많이들 이렇게 알고있다. useCallback : 메모이제이션된 함수를 반환 useMemo : 메모이제이션된 값를 반환 설명만 보면 리랜더링 될때 함수 또는 값을 재생성하지 않고 메모이제이션된 값을 사용하는 GOAT hook이다. 여기서 리랜더링이라하면 props가 변경되었을 때 state가 변경되었을 때 부모 컴포넌트가 렌더링되었을 때 forceUpdate() 를 실행하였을 때 의 조건으로 리액트는 리랜더링을 하고있다. 처음에 위의 hook을 보게된다면 이런생각을 할 수도 있다. 모든 함수나 값에 해당 hook을 사용해서 메모이제이션을 하면 최적화에 아주 도움이 되겠군!!! 이러한 생각을 했다면 다시한번 생각해보자. 메모이제이션을.. 2024. 3. 4. 디자인패턴 - 전략패턴 전략 패턴의 개념 전략 패턴(Strategy Pattern)은 객체지향 디자인 패턴 중 하나로, 객체를을 정의하고 각각을 캡슐화하여 상호교환이 가능하게 하는 패턴입니다. 이 패턴은 알고리즘을 사용하는 클라이언트와 알고리즘의 구현을 분리하여 유연성을 높이고, 확장성을 향상시킵니다. 예를 들어, 간단한 주문 시스템을 구현한다고 가정해봅시다. 주문을 할 때 결제 방법은 신용카드 결제, 페이팔 결제, 현금 결제 등 다양할 수 있습니다. 이때 전략 패턴을 사용하여 결제 방법을 구현할 수 있습니다. 디자인 패턴 중 하나로, 객체가 할 수 있는 행위들 각각의 전략으로 만들어 놓고 사용하며. 동적으로 전략 수정이 가능한 패턴 동일 계열의 알고리즘을 정의하고 각 알고리즘을 캡슐화 하며 이들을 상호 교환이 가능하도록 구현.. 2024. 2. 18. 디자인패턴 - 프록시 패턴 프록시 패턴 구조 패턴 카테고리 하나의 대상 객체 또는 주제객체가 있을때, 클라이언트는 바로 해당 객체에 접근하지 않고 proxy 객체를 통해 접근하는 패턴 proxy는 실제 객체와 클라이언트 사이에 존재한다. 필요한 이유 접근 권한 제어 데이터 로그 로깅 제어 은행 카드 구성요소 Client 사용자 Subject 인터페이스 Proxy 대리인 Real Subject 실제 객체 코드 // subject 인터페이스 interface Payment { request(amout: number): void; } // real subject class Cash implements Payment { request(amount: number) { console.log(`결제 요청 완료... 금액 : ${amount}`.. 2024. 2. 18. 디자인패턴 - 어댑터 패턴 어댑터 패턴 구조적 패턴 카테고리 서로 호환성이 없는 인터페이스 / 클래스 들을 연결시켜 동작 할 수 있게 도와준다. 적용 사례 외부 라이브러리 (Auth, Payment, Media) 외부 라이브러리를 사용중인데 현제 시스템상 맞지않아서 업데이트가 필요할때, 외부 라이브러리 클래스나 인터페이스에 직접적으로접근 못하는 상황일때 어댑터를 사용하여 중간에 작업을 변환한다 레거시 시스템 부분 확장 기존 시스템을 부분적으로 확장해야하는데 인터페이스나 클래스가 앱 전역에서 사용되는 비중이 클때 비용문제를 생각하여 어댑터 클래스를 부분적으로 만들어주고 호환 안되는 부분만 어댑터 클래스를 사용하여 변경한다 구성 요소 클라이언트 인터페이스 서비스/외부요소 어댑터 코드 interface ISmartDevice{ conn.. 2024. 2. 18. 이전 1 2 3 4 ··· 16 다음