들어가며Redis는 String, List, Hash, Set, Sorted Set 이렇게 다섯 가지 기본 자료구조를 제공합니다. 이 중에서 Sorted Set은 가장 강력하면서도 오해받기 쉬운 자료구조입니다. 단순히 "정렬된 Set"이라고 생각하기 쉽지만, 실제로는 Skip List와 Hash Table이 결합된 복합 구조이며, 이 설계 덕분에 다른 자료구조로는 어려운 연산들을 효율적으로 수행할 수 있습니다.이 글에서는 Sorted Set의 정의부터 내부 구현, 다른 자료구조와의 비교, 트레이드오프까지 학습한 내용을 차근차근 정리해보겠습니다.Sorted Set이란?Sorted Set은 member(고유한 문자열)와 score(부동소수점 숫자)의 쌍으로 구성된 집합입니다.member는 유일(unique)..
Claude Code를 사용하면 CLAUDE.md 파일을 작성해야 하고 이 파일을 "잘" 작성해야 효율적인 컨텍스트 관리와 재작업을 줄일 수 있습니다.매번 새로운 프로젝트를 할 때마다 작성하는데 기술 스택은 뭔지, 커밋 컨벤션은 어떻게 할 건지, 테스트 전략은 뭔지 — 매번 손으로 작성하거나, 기존 프로젝트에서 복붙하고 조금씩 고쳐야 합니다. 규칙 파일, 스킬 파일도 마찬가지입니다.그래서 ! 어느 순간 이 반복이 피로하게 느껴졌어요.왜 귀찮은가/init 명령어도 있긴 합니다. 하지만 결과물이 너무 generic합니다. 프로젝트 특성을 거의 반영하지 못하고, 결국 손으로 다듬는 시간이 따로 발생합니다.대충 머릿속으로 원하는 방향을 떠올렸을 때 아래와 같았어요.프로젝트 구조를 스스로 읽습니다.어떤 스택인지,..
Claude Code가 파일을 읽고, 코드를 수정하고, 테스트를 실행하는 걸 보면 마치 AI가 직접 컴퓨터를 조작하는 것처럼 보입니다. 처음 Claude Code를 쓸 때 저도 그렇게 생각했습니다. "AI가 터미널을 쓰고 있구나."그런데 실제 동작 방식을 알고 나면 생각이 달라집니다. LLM은 파일을 읽을 수 없고, 코드를 실행할 수도 없습니다. 그럼 어떻게 이 모든 걸 하는 걸까요?1. Tool Use - LLM은 텍스트만 출력한다1편에서 LLM은 다음 토큰을 예측하는 존재라고 했습니다. 이 원리는 도구를 사용할 때도 동일합니다. LLM이 "도구를 실행"하는 게 아니라, "도구를 실행해달라는 텍스트를 출력"하는 겁니다.실제 흐름을 풀어보면 이렇습니다.1. 사용자: "src/app.ts 파일 읽어줘"2...
Claude Code로 긴 작업을 하다 보면 이상한 경험을 합니다. 분명 대화 초반에 "테스트 코드는 JUnit5로 작성해줘"라고 말했는데, 한참 뒤에 보면 JUnit4 스타일로 작성하고 있습니다. "아까 말했잖아"라고 하면 "죄송합니다"하고 고치긴 하는데, 왜 까먹은 걸까요?1편에서 LLM이 다음 토큰을 예측하는 방식으로 동작한다고 했습니다. 이번 편에서는 그 예측을 할 때 "어디를 보고 예측하는가"에 대한 이야기입니다.1. 컨텍스트 윈도우 - 오픈북 시험의 페이지 제한LLM은 대화를 "기억"하지 않습니다. 매번 대화 전체를 처음부터 다시 읽습니다.이게 직관적이지 않을 수 있는데, 비유하자면 이렇습니다. 오픈북 시험인데 펼쳐놓을 수 있는 페이지 수가 정해져 있다고 생각하면 됩니다. 시스템 프롬프트, C..
Claude한테 코드 리뷰를 시키면 가끔 존재하지 않는 메서드를 자신있게 추천합니다. "이 라이브러리의 optimizeQuery() 메서드를 사용하세요"라고 하길래 찾아봤더니 그런 메서드는 없었습니다. 분명히 확신에 찬 말투였는데 말이죠.처음엔 그냥 AI가 틀린 거라고 넘겼습니다. 그런데 이런 일이 반복되면서 궁금해졌습니다. 왜 모르면 모른다고 하지 않고, 그럴듯한 거짓말을 할까? 이걸 이해하려면 LLM이 대답을 만들어내는 방식을 알아야 합니다.저는 AI를 만드는 사람이 아니라 쓰는 사람입니다. 수학 공식이나 모델 구현 방법은 다루지 않습니다. 대신 "LLM이 왜 이렇게 동작하는지"를 이해해서 더 잘 활용하는 데 초점을 맞추려고 합니다.1. 토큰 - LLM이 글을 읽는 단위우리는 글을 글자 단위로 읽지만..
이 글은 해당 링크를 참고하여 학습용도로 정리한 포스팅입니다. Claude Code의 핵심이라 할 수 있는 .claude/ 폴더의 구조와 활용법을 상세히 다루며 각 구성 요소의 역할과 실제 사용 방법을 단계별로 살펴봅시다.이미지 출처: Daily Dose of Data Science 들어가며: 왜 .claude/ 폴더가 중요한가?Claude Code를 사용하다 보면 매번 같은 지시사항을 반복해서 입력하는 것이 번거로울 수 있습니다. "TypeScript를 사용해줘", "테스트 코드도 작성해줘", "우리 팀의 코딩 컨벤션을 따라줘" 같은 요청들 말입니다.매 대화 세션마다 이런 기본적인 규칙들을 반복해서 설명하는 것은 시간 낭비일 뿐만 아니라, 중요한 세부사항을 놓치거나 팀원 간 일관성이 깨질 위험도 있습니..
- Total
- Today
- Yesterday
- db
- Controller
- 파이썬
- Java
- Ajax
- Git
- oracle
- class
- HTML
- jquery
- Delete
- Python
- list
- JSP
- JDBC
- 코드업
- JavaScript
- ArrayList
- codeup
- FOR
- 코딩테스트
- function
- CSS
- Servlet
- Claude
- 알고리즘
- Spring
- AI
- 자바
- 프로그래머스
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
