전체 글321 Claude Code, 스킬과 커맨드 언제 뭘 만들어야 할까 Claude Code를 며칠만 써봐도 누구나 똑같은 패턴에 부딪힌다. 비슷한 지시를 매번 다시 타이핑하고, 같은 셋업을 반복하고, 똑같은 맥락을 또 설명하고 있는 자신을 발견하게 된다. 이걸 해결하려고 Claude Code는 두 가지 길을 열어둔다. 슬래시 커맨드와 스킬이다.문제는 이 둘이 너무 비슷해 보인다는 것이다. 둘 다 반복을 줄여주고, 둘 다 공유할 수 있고, 둘 다 "재사용 가능한 프롬프트"처럼 들린다. 그래서 처음엔 콜라랑 펩시 고르듯 아무거나 골라도 되는 것처럼 느껴지는데, 막상 워크플로가 복잡해지면 잘못 고른 대가가 슬슬 쌓이기 시작한다.이 글에서는 둘의 진짜 차이가 뭔지, 그리고 커맨드는 어떤 상황에서 만드는 게 맞는지를 정리해본다. 핵심은 "누가 방아쇠를 당기느냐"길게 갈 것 없이 한.. 2026. 6. 2. [Android] 프레임과 주사율(Hz), 그리고 Compose 캘린더 화면의 느린 렌더링 개선하기 최근 회사 프로젝트에서 Firebase Performance 지표를 살펴보다가, 날짜를 선택하는 캘린더 화면의 느린 렌더링(Slow rendering) 비율이 앱 평균보다 2배 가까이 높다는 걸 발견했습니다.그런데 막상 원인을 찾으려고 보니, 프레임이 정확히 뭔지, 120Hz라는 게 무슨 의미인지, 그리고 "끊긴다"는 게 어떤 상태를 말하는 건지 스스로 명확하게 설명하지 못하겠더라고요.그래서 이번 포스팅에서는 먼저 주사율(Hz)과 프레임 개념을 정리하고, 실제로 캘린더 화면의 느린 렌더링을 어떻게 개선했는지까지 살펴보겠습니다. 주사율(Hz)이란?주사율은 화면이 1초에 몇 번 새로 고쳐지는지를 의미합니다. 120Hz라면 화면이 1초에 120번 새로 고쳐지는 것이죠.이걸 시간 간격으로 바꿔보면 이해가 더 쉽.. 2026. 5. 30. Claude Code는 어떻게 작동할까? 내부 구조 한눈에 정리 Claude Code를 며칠 써보면 한 가지 궁금증이 생긴다. 분명 명령어 자동완성 같은 게 아닌데, 알아서 파일을 뒤져서 읽고 코드를 고치고 테스트까지 돌려본다. 어떻게 이게 가능한 걸까. 이번 글에서는 Claude Code가 안에서 실제로 어떻게 굴러가는지 — 핵심 구조와 내장 기능, 그리고 잘 쓰는 팁까지 정리해봤다. 동작 원리를 알아두면 왜 어떤 작업은 잘 되고 어떤 작업은 헤매는지 감이 잡히고, 그만큼 더 잘 다룰 수 있게 된다. 참고로 Claude Code는 코딩 전용 도구가 아니다. 터미널에서 실행되는 에이전트 어시스턴트라, 명령줄로 할 수 있는 일이면 문서 작성·빌드 실행·파일 검색·자료 조사까지 거의 다 도와준다. 코딩을 특히 잘할 뿐이다. 에이전트 루프, 모든 것의 시작대부분의 개발 도.. 2026. 1. 25. [Android] Compose의 IntrinsicSize.Min과 IntrinsicSize.Max 차이 이전 포스팅에서 IntrinsicSize.Min과 wrapContentHeight()의 차이를 다룬 적이 있는데요. 정작 IntrinsicSize.Min과 IntrinsicSize.Max는 어떤 차이가 있는지 물어보면 제대로 설명하기가 어렵더라고요.특히 공식 문서에 자주 나오는 Row + VerticalDivider 예시를 보면서 "여기서 Max를 써도 똑같은 결과 아닌가?"라는 의문이 들었고, Column + Button 예시에서는 "자식에 fillMaxWidth()를 줬는데 왜 화면 전체로 늘어나지 않지?"라는 부분도 헷갈렸습니다.이번 포스팅에서는 IntrinsicSize가 무엇을 물어보는 건지부터 시작해서, Min과 Max가 실제로 어떤 차이를 만드는지 Compose 소스 코드와 함께 살펴보겠습니다.. 2026. 1. 15. [Android] Compose의 IntrinsicSize.Min와 wrapContentHeight() 차이 회사 프로젝트에서 갤럭시 폴드 대응 중, IntrinsicSize.Min을 사용해 자식 컴포넌트의 높이에 따라 부모 높이를 조정하는 레이아웃 코드에서 내용이 아래쪽에서 잘리는 현상이 발생했습니다.문제 원인 분석 결과, 동적 콘텐츠를 사용하는 경우 IntrinsicSize.Min은 초기 컴포지션 시점에만 크기를 계산하기 때문에, 이후 네트워크 등을 통해 받아오는 실제 콘텐츠 높이를 반영하지 못해 잘림이 발생한 것이였습니다. 즉, viewModel에서 Flow로 네트워크 데이터를 수신하고, 컴포저블에서 collectAsState() 등으로 이를 받아 UI를 구성할 때, 초기 컴포지션에서 높이가 먼저 계산되어 이후 콘텐츠 반영이 누락되는 상황이 생긴 것입니다. 이번 글에서는 IntrinsicSize.Min 사.. 2025. 12. 10. [Android] Coil 이미지 로딩 파이프라인 한 번에 이해하기 Coil 내부 로직을 기반으로 이미지 로딩 과정이 실제로 어떻게 이루어지는지 개발자 관점에서 깊게 정리해보는 글입니다.Android 개발에서 이미지 로딩은 앱 성능과 사용자 경험(UX)에 직결되는 요소입니다.Coil은 Kotlin 기반의 가벼운 구조, Coroutines 최적화, Compose 친화성을 강점으로 갖고 있어 최근 Android 프로젝트에서 가장 많이 사용되는 이미지 로딩 라이브러리 중 하나입니다. 이번 글에서는 Coil의 로딩 파이프라인 전체 흐름, 메모리 캐시와 디스크 캐시의 동작 원리, 그리고 Fetcher-Decoder 체인까지 한 번에 이해할 수 있도록 구성했습니다. Coil의 전체 이미지 로딩 플로우Coil은 아래 흐름을 따라 이미지를 로딩합니다.ImageRequest ↓Mem.. 2025. 11. 14. 이전 1 2 3 4 ··· 54 다음