1. 클로드 코드(Claude Code) Custom Command 활용 사례 및 예시 [Claude Code Custom Command 활용 사례 및 예시]최근 많은 개발자들이 Claude Code, Gemini CLI와 같은 AI 기반 코딩 도구를 활용하여 개발 생산성을 높이고 있다. 이러한 도구들은 코드 작성, 디버깅, 문서화 등 다양한 작업을 자동화하는 데 도움을 준다. 그 중에서도 핵심 기능 중 하나는 바로 Custom Command라고 볼 수 있다. Claude Code의 Custom Command는 사용자가 자신만의 명령어를 정의하고 실행할 수 있는 기능으로, 이를 통해 자신만의 맞춤형 명령어를 만들어 반복적인 작업을 간소화할 수 있다. 이번에는 몇 가지의 Custom Command 활용 사..
1. MCP Server 디버깅을 위한 MCP Inspector [ MCP Inspector의 필요성 ]이전에 작성한 토스 테크 블로그에서는 MCP 서버가 제공하는 기능들에 대하여 살펴보았다. 해당 포스팅에서 살펴볼 수 있듯이, MCP 서버는 크게 다음의 3가지 기능을 제공할 수 있다.Prompts: 사용자가 선택하여 호출하는 대화형 템플릿Resources: 클라이언트가 첨부하고 관리하는 컨텍스트 데이터Tools: 클라이언트가 첨부하고 관리하는 컨텍스트 데이터 또한 “MCP 서버 프로토콜, SSE에서 Streamable HTTP 방식으로의 대변경” 포스팅에서는 MCP의 표준 프로토콜에 대해 살펴보았다. MCP 표준 프로토콜은 클라이언트와 서버 간 메시지 교환을 위해 JSON-RPC 2.0 기반의 데이터..
1. 힙 객체 헤더의 비효율과 이를 줄이기 위한 새로운 자바 객체 헤더(New Java Object Header: Compact Object Headers)[ 힙 객체 헤더의 비효율성 ]앞서 설명하였듯 자바에서 객체의 크기를 구하려면 기본적으로 객체의 헤더 크기에 변수의 크기(원시 타입인 경우) 또는 참조의 크기(참조 타입인 경우)를 더해주어야 한다. 그리고 만약 더해진 값이 8의 배수가 아니라면, 별도의 패딩 바이트를 더하여 객체의 크기가 항상 8의 배수가 되도록 보정하고 있다. Klass 포인터 압축 유무 혹은 최대 힙의 크기 등에 따라 실제 사용되는 바이트의 수가 달라질 수 있는데, 64비트 JVM을 기준으로 이를 정리하면 다음과 같다.상태마크 워드의 크기클래스 워드의 크기클래스 포인터 비압축(no..
1. JVM 내부의 힙 객체의 헤더 (Heap Object Header on JVM Internals) [ 객체의 메모리 레이아웃과 객체 헤더 ]객체의 메모리 레이아웃다음의 HotSpot JVM 객체 메모리 구조에서 보이듯이, 모든 자바 객체는 인스턴스 데이터(payload) 외에도 객체의 헤더나 정렬 패딩을 위한 메모리 공간이 존재함을 알 수 있다. 위와 같은 여러 정보들이 모여서 하나의 객체가 되는데, 그 중에서도 우리가 눈여겨볼 부분은 객체의 헤더 부분이다. 배열의 길이는 우리가 이미 알고 있기에, 그 중에서 마크 워드와 클래스 워드에 집중해서 살펴보도록 하자. 마크 워드(mark word)마크 워드(mark word)는 포인터가 아니라 그 자체로 데이터를 담고 있는 비트 필드(bit fiel..
1. 협력의 진화 내용 정리[ 1. 협력, 무엇이 문제인가 ]이 책에서 제시하는 협력이론은, 사회 구성원들에게 강제적으로 협력을 강요하는 중앙 권위체가 없는 상태에서 이익을 추구하는, 이기적 개인들에 대한 연구와 조사를 바탕으로 한다.이런 온갖 유형의 특정 사례들을 분석해 들어가려면, 우선 각 경우에 특수한 세부사항들에 얽매이지 말고 이들 상황을 공통적으로 묘사할 수 있는 방법이 필요하다. 다행히도 그런 방법이 있다. 바로 그 유명한 ‘죄수의 딜레마’ 게임이다.개인적으로 합리적인 결론이, 두 사람 모두에게는 더 나쁜 결과를 가져오는 것이다. 이것이 딜레마다.여러 번 게임을 하더라도 게임의 횟수가 미리 정해져 있고 이 사실을 참가자들이 알고 있다면, 경기자들은 역시 협력할 동기가 없어진다. 이런 상황은 특..
