자비스가 영화 속에서 실제로 보여준 능력에 대한 기록 _ Chapter 3. 스마트홈 & IoT 자동 제어 _ 1. 스마트홈 사용자 맞춤형 자동화 환경 제공: 토니 스타크의 라이프스타일 분석 및 반영 직관적 공간 제어: 음성 및 제스처 기반 인터페이스 수행 보안 및 방어: 실시간 모니터링을 통한 외부 침입 감지 및 통제 스마트홈 OS의 역할: 단순 가전 제어를 넘어 집 전체를 유기체로 운용 (현실 기술 대비 완전 자율성 차이 존재) 2. 영화 속 장면 분석: 〈아이언맨 1〉 말리부 저택 모닝 루틴 & 자동 제어 상황 정리 출처 시퀀스: 〈아이언맨 1〉(2008) 초반부(약 9~10분 경) 기상 장면 장면의 의의: MCU 내 자비스가 일상생활 속 스마트홈 OS 역할을 수행하는 대표적 사례 자비스의 주요 기능과 기술적 관점 자비스의 행동 기술적 관점 기상 시각 맞춤 전동 블라인드 개폐 및 채광 조절 환경 제어 액추에이터(Actuator) 연동 기상 직후 날씨, 파도 상태, 뉴스, 개인 일정 브리핑 컨텍스트 기반 선제적(Proactive) 정보 브리핑 지하 연구실 및 서재 출입 통제, 외부인 인가 처리 생체 인증 및 AI 기반 공간 보안 시스템 사용자 반응 맞춤 실내 온도 및 조도 최적화 다중 센서 융합 기반 환경 자동화 핵심 흐름: 감지 → 판단 → 다중 기기 동시 제어 → 브리핑의 직접 명령 없는 자동 수행 한 줄 요약: 수동 명령 없이 현재 상황에 필요한 환경을 능동적으로 구성 하는 AI [관련 논문] 2025년의 「Investigating User Experience with Proactive Agents Based on LLMs in Smart Home Environments」 “사용자 명령 없이 상황을 파악하고, 여러 기기를 묶어 환경을 구성 필요한 정보를 먼저 제공하는 구조를 스마트홈의 상황 인식-루틴 생성-루틴 관리로 거의 그대로 모델링 3. 자비스 스마트홈 제어 기능 구조화 (4단계) [1. 공간 데이터 수집 Sensing] 실내외 온도, 조명, 위치, 사용자 상태 모니터링 ↓ [2. 상황 및 맥락 파악 Contextualizing] 사용자의 행동 패턴과 의도 분석 (기상, 작업, 휴식 등) ↓ [3. 오케스트레이션 Orchestrating] 단일 기기 집합이 아닌 집 전체 IoT 동시 제어 명령 생성 ↓ [4. 피드백 및 보호 Feedback & Protection] 실시간 보안 감시, 침입 시 경고 및 자동 봉쇄 4. 현실 기술 현황 & 한계 비교 4-1. 수집 & 연결: 표준화 프레임워크 Matter 프로토콜: 제조사 간(삼성, Apple, Google 등) 호환성 확보용 글로벌 표준 Thread 통신: 저전력·고신뢰성 메시 네트워크 기반 기기 간 직접 연결 지원 현주소: 규격 표준화를 통한 기기 연동성 대폭 향상 4-2. 맥락 파악 & 자동화: 루틴 엔진과 AI 비서 온디바이스 AI: 로컬 연산을 통한 빠른 음성 인식 및 가전 제어 조건부 루틴: 위치(지오펜싱) 및 복합 센서 데이터 결합 기반 자동화 대화 맥락 이해: 복합 의도 파악(Complex Intent Parsing) 성능 개선 4-3. 현실 vs 영화: '말리부 저택 자율 제어' LLM 도입과 실행 제약: LLM/Agent 기술로 복잡한 자연어 맥락 파악은 가능해졌으나, 실제 가전/물리 제어 단계에서는 환각(Hallucination)이나 물리적 안전 문제로 인해 여전히 경계가 적용된 규칙 기반(Rule-based) 실행 엔진에 의존 선제적(Proactive) 추론의 한계: "명령을 잘 알아듣는 것" → 아무 명령이 없을 때 다중 센서 데이터를 종합해 사용자 의도를 미리 읽고 환경을 바꾸는 "완전 자율 추론"은 오작동 위험성으로 인해 상용화 제약 존재 로컬 연산 및 반응속도: 실시간 물리 제어를 위한 온디바이스 AI(sLLM) 연산 성능 및 인터넷 단절 대비 오프라인 자율화 과제 잔존 5. 직접 만들어보기: <초간단 "미니 자비스" 스마트홈 루틴 제어기> _ { By. GEMINI_ → Claude(UI추가) } _ 실행 결과 6. 자비스 수준 도달을 위한 주요 과제 과제 상세 설명 이종 기기 Interoperability ※멀티 벤더 환경 에서의 데이터 공유 및 실시간 제어 안정성 확보 상황 인식 정밀도 비침습 센서 기반 고정밀 상태(수면, 집중, 휴식 등) 추론 기술 오프라인 자율화 (Local AI) 네트워크 단절 시 독립적 중앙 제어를 위한 ※온디바이스 AI 구축 보안 및 오작동 대책 외부 해킹 차단 • AI 오작동에 의한 안전사고 방지 » 물리적 제어권을 AI에 위임 → 오작동 위험 관리 & 책임 소재 명확화 필요 - 멀티 벤더 환경 : 하나의 프로젝트에 두 개 이상의 업체가 참여하는 방식 - 온디바이스 AI : 클라우드 서버를 거치지 않고 스마트폰/PC 등 기기 내부에서 직접 인공지능 연산을 처리하는 기술 7. 정리 자비스 스마트홈 구조 (4단계) 수집 → 파악 → 오케스트레이션 → 보호 현실 기술 성과 Matter 규격 및 온디바이스 AI 기반 단품 제어·단순 루틴 상용화 핵심 한계 완전 자율형 컨텍스트 추론 • 오케스트레이션의 기술적 제약 향후 과제 온디바이스 처리 성능 제고, 물리적 안전 대책 수립, 보안 책임 모델 구축
1. AI를 일상적으로 사용하게 된 이후 내가 AI를 개발에 적극적으로 활용하기 시작한 계기는 팀원이 바이브코딩으로 결과물을 내는 것을 보고 Spec-Driven Development 를 시도하면서부터였다. About Spec Driven Development 처음에는 개발할 내용을 Spec(명세)로 정리해두니 AI에게 작업의 맥락을 전달하기 쉬웠다. 나 역시 무엇을 만들고 있고, 어디까지 진행됐는지 따라가기 편했다. AI에게 작업을 일임하면서도 개발의 흐름을 놓치지 않을 수 있다는 점이 좋았다. 그런데 실제로 개발을 진행하다 보니 기획, 설계, 구현, 테스트가 생각처럼 매끄럽게 이어지지는 않았다. 코드를 작성한 뒤에도 게임 엔진이나 다른 소프트웨어 도구 안에서 데이터를 설정하고, 상태를 확인하는 일은 여전히 내 몫이었다. AI의 작업이 끝나면 내가 도구를 조작하고, 그 결과를 다시 전달하는 과정이 반복됐다. 이 간격을 줄이기 위해 MCP서버 를 하나 둘 추가해보기 시작했다. AI가 개발 도구에 직접 접근할 수 있게 되면서, 코드 작성 이후의 작업까지 연결할 수 있었다. 그제야 개발 과정이 조금씩 하나의 흐름으로 이어지기 시작했다. Unreal Engine MCP 활용 작업을 맡길 수 있는 범위가 넓어지자 Codex, Claude와 같은 여러 에이전트도 함께 사용하고 세션도 여러 개를 사용하게 되었다. 그 무렵 AI LLM Wiki나 Harness Engineering 같은 이야기를 자주 접했고, 에이전트 작업을 한곳에서 관리하는 멀티플렉서도 알게 됐다. 나는 Herdr 를 활용해 여러 에이전트의 진행 상황을 한곳에서 확인하기 시작했다 Herdr: the runtime coding agents run on 이 과정에서 내가 하는 일도 달라졌다. 직접 손으로 처리하던 작업이 줄어든 대신, 무엇을 맡길지 정하고 결과가 의도에 맞는지 확인하는 일이 늘었다. 그래서 이때쯤부터 도메인에 대한 기초 지식이 탄탄해야겠다는 것을 느꼈다. 여러 작업을 동시에 진행할 수 있게 됐지만, 그만큼 내가 각 작업의 목적과 완료 기준을 분명하게 알고 있어야 했다. 그다음에는 작업 환경의 제약이 눈에 들어왔다. 에이전트가 작업하는 동안 계속 컴퓨터 앞에 앉아 있어야 할 필요는 없겠다는 생각이 들었다. 필요한 순간에 진행 상황을 확인하고 다음 방향을 전달할 수 있으면 됐기 때문이다. 이전에 Perforce를 온프레미스로 구축했던 경험을 살려 Tailscale을 이용해 외부에서도 개발 PC에 접속할 수 있는 환경을 구성했다. 이제 나는 휴대폰이나 노트북 등으로 어디서든 작업 상황을 확인하고, 자리를 비운 동안에도 작업을 이어갈 수 있었다. 처음부터 이런 환경을 계획한 것은 아니었다. AI를 활용하다가 막히는 부분을 하나씩 해결하다 보니 개발 방식과 도구, 작업 환경까지 전부 바꾸게 된 것이다. 물론 아직도 계속 이런 저런 시도를 하고있고, 앞으로도 상황과 변화에 맞춰 끊임없이 변해나가야 할 것이다. 2. 나는 AI를 어디에 가장 많이 활용했는가 AI를 일상적으로 사용하다 보니, 어느 순간부터 나는 AI가 제공하는 편리함에 너무 익숙해져 있었다. 문제에 부딪히면 스스로 원인을 짚어보기보다 AI부터 찾았다. 무엇을 해결해야 하는지 충분히 정리하지 않은 채, AI가 알아서 이해하고 적절한 답을 내놓기를 기대하기도 했다. 작업이 막히면 내 요청이나 접근 방식을 돌아보기보다 더 좋은 모델을 찾는 내 모습이 보였다. 하지만 모델을 바꾸는 것만으로 해결할 수 있는 문제였을까? 내가 문제를 제대로 설명하지 못했거나, 작업의 방향을 정하지 못한 채 수정을 반복하고 있었을 수도 있다. AI가 개발 과정 전반에 관여하게 된 지금, 내가 어떤 작업에 AI를 많이 활용하고 있는지 성찰해 볼 필요성을 느끼게 되었다. 특히 어디에서 작업이 반복되고, 그 반복 중 무엇이 필요한 개선이고 무엇이 불필요한 재작업인지 살펴볼 필요가 있었다. 그래서 실제 사용 기록을 모아보기로 했다. 막연히 많이 사용하고 있다는 감각을 넘어, 어디에 자원을 쓰고 있는지 확인하고 내 작업 방식을 돌아보기 위해서였다. 같은 비용으로 더 효율적으로 개발하려면, AI의 성능만큼이나 내가 AI를 어떻게 사용하고 있는지 살펴보는 일도 중요하다고 생각했다. 나의 AI 사용 기록 살펴보기 (물론 이 작업 역시 AI를 사용했다는 것이 아이러니한 상황이다.) 2-1. 숫자로 확인한 나의 AI 사용량 먼저 Codex와 Claude Code의 로컬 사용 기록을 모아 전체 사용량을 집계해보았다. 막연히 많이 사용하고 있다고 생각했는데, 숫자로 보니 AI가 내 개발 과정에 얼마나 자주 관여하고 있는지 조금 더 실감할 수 있었다. 다만 이 기록에는 웹이나 모바일, 직접 API를 호출한 사용량이 포함되지 않는다. 두 도구 모두 부분 수집된 기록이며 수집 기간도 다르다. 활동 추정 시간 역시 기록 사이의 간격을 최대 5분으로 제한해 합산한 값이므로 실제 작업 시간과는 구분해야 한다. API 추정비용도 실제 구독료가 아니라 기록된 사용량을 일반 API 단가로 환산한 값이다. 따라서 이 숫자들은 전체 사용의 정확한 결산보다는, 수집된 범위 안에서 내 작업 방식을 살펴보기 위한 자료로 삼게 되었다 토큰별 사용량 특히 눈에 들어온 것은 캐시 읽기 토큰이 약 30억 이라는 점이었다. 출력 토큰이 약 1,145만이였던 것과 비교하면 상당히 큰 숫자였다. 어디에서 발생한 사용량인지 모델별로 살펴보았다. Claude 모델의 기록에서는 일반 입력보다 캐시 읽기 토큰이 훨씬 크게 나타났다. Claude는 캐시 읽기를 일반 입력과 분리해 기록하고, Codex는 입력 토큰에 캐시 관련 토큰을 포함하므로 모델별 숫자를 그대로 비교하기는 어렵다. OpenAI 모델의 기록에서도 캐시 읽기가 추정비용에서 상당한 비중을 차지하고 있었다. 캐시는 비용을 줄여주는 기능으로 알고 있었는데, 왜 이렇게 큰 금액으로 나타나는지 궁금해 공식 문서를 찾아봤다. “Cache read tokens are 0.1 times the base input tokens price” 캐시 읽기 토큰에는 일반 입력 토큰 단가의 10%가 적용된다. 다만 모델별 예외가 있으며, Claude Opus 5.5는 5% 가 적용된다. Anthropic 공식 문서 · Prompt caching “Subsequent reads cost 0.1× that rate on most of these models and 0.05× on GPT-6.1 Sol.” GPT-5.6 이후 대부분의 모델은 캐시 읽기에 일반 입력 단가의 10%를 적용하며, GPT-6.1 Sol은 5% 를 적용한다. OpenAI 공식 문서 · Prompt caching 두 문서 모두 캐시 읽기를 일반 입력보다 저렴하게 책정하고 있었다. 다만 저렴하다는 것이 무료라는 뜻은 아니었다. 같은 문맥을 재사용할 때마다 사용량이 누적되기 때문에, 긴 문맥으로 호출을 반복하면 할인된 단가라도 총비용은 커질 수 있었다. 예를 들어 10만 토큰의 문맥을 캐시에서 100번 재사용하면, 누적 캐시 읽기는 1,000만 토큰이 된다. 내가 짧게 “다시 수정해줘”라고 요청해도, 그 작업에 필요한 기존 문맥까지 짧아지는 것 은 아니었던 것이다. 2-2. 어디에 가장 많은 자원을 쓰고 있었을까? 전체 사용량을 확인했으니, 이제 그 사용량이 어디에서 발생했는지 살펴볼 차례였다. 세션의 대화 기록을 직무 와 작업 단계 로 분류해 집계해 보았다. 아래 비율은 전체 입력 토큰에서 각 작업이 차지하는 비중이다. 실제 작업 시간이나 성과를 직접 나타내는 값은 아니지만, AI에게 어떤 작업의 맥락을 많이 전달했는지 살펴볼 수 있었다. 직무별 사용량 가장 높은 비중을 차지한 분야는 게임플레이 프로그래밍 으로, 전체의 52.2% 였다. 다른 분야를 모두 합친 것보다도 조금 많았다. 게임을 개발하고 있으니 예상할 수 있는 결과였다. 다만 막연히 여러 작업에 AI를 사용한다고 생각했던 것과 달리, 기록에서는 게임플레이에 사용량이 꽤나 집중되어 있었다. 그다음으로 많이 사용한 분야는 다음과 같았다. 개발 도구·자동화 : 20.8% 게임 개발 기타 : 9.7% 아트 자산 제작 : 7.5% UI 프로그래밍 : 6.5% 그동안 나름대로 반복 작업을 줄여보겠다고 전용 툴을 만들거나 AI를 통해 좀 더 쉽게 편집할 수 있는 기반을 마련한 점이 개발 도구·자동화의 비율로 나타난 것 같다. 게임플레이와 개발 도구·자동화를 합치면 무려 73.0% 다. 기록상으로는 게임의 동작을 만들고, 그 작업을 진행할 환경을 만드는 두 분야가 중심이었다. 단계별 사용량 개발 프로세스의 단계별로 묶어보니, 가장 높은 비중을 차지한 것은 수정 작업 으로, 전체의 40% 였다. 수정 : 40.0% 설계 : 20.1% 구현·제작 : 19.1% 검증 : 14.1% 조사 : 6.0% 기타 : 0.7% 수정 단계의 사용량은 구현·제작의 약 두 배였다. 설계와 구현·제작을 합친 39.2% 보다도 조금 높았다. AI를 활용하면서 무엇을 새로 만들었는지는 쉽게 떠올릴 수 있었다. 반면 만들어진 결과를 고치고 다시 확인하는 데 얼마나 자원을 썼는지는 크게 의식하지 못했다. 하지만 이번 기회에 기록을 보니 그 과정이 상당한 비중을 차지하고 있음을 깨달을 수 있었다. 물론 이 결과만으로 “AI가 만든 것을 고치느라 자원을 낭비했다”고 말할 수는 없다. 기존 버그 수정이나 리팩터링, 필요한 기능 개선도 여기에 포함될 수 있다. 긴 맥락을 반복해서 읽은 작업이 토큰 비중을 높였을 가능성도 있다. 그래도 돌아볼 지점은 분명해졌다. 나는 무엇을 수정하고 있었고, 왜 다시 수정해야 했을까? 도구별 호출량 이번에는 AI가 어떤 도구를 많이 호출했는지 살펴봤다. 가장 많이 호출된 도구는 Codex의 exec 로, 9,644회였다. shell_command 와 Bash 같은 명령 실행 도구도 상위에 있었고, 두 가지 이름으로 기록된 Unreal MCP 호출은 합계 1,912회였다. 아마 로그 분석을 자주 시키다보니 이런 결과를 만들어낸 것 같다. 하지만 호출이 많다는 사실을 마냥 긍정적으로 받아들일 수는 없었다. 내가 불필요한 도구 호출로 비용을 늘리고 있었던 것은 아닐까? 작업을 맡길 때 이미 확인한 정보와 다음에 필요한 확인을 충분히 정리하지 않았다면, 같은 상태를 다시 조회하거나 비슷한 명령을 반복했을 수도 있다. 이런 과정에서는 도구의 결과를 읽고 다음 행동을 판단하는 모델 호출도 이어지므로, 불필요한 반복이 토큰 사용량을 늘릴 수 있다. 물론 호출 횟수만으로 낭비를 확정할 수는 없다. 다만 비용을 돌아볼 때 모델 선택뿐 아니라, 이번 기회에 내 요청이 불필요한 확인과 재시도를 유발하고 있지는 않은지도 다시 살펴봐야 겠다 는 생각이 들었다. 3. 성찰과 반성 물론 이런 간단한 로컬 사용 기록 분석만으로 내 작업 방식의 모든 문제를 파악할 수는 없다. 하지만 막연하게 느끼던 문제와 고민을 이번에 구체적으로 돌아볼 계기는 된 것 같다. 글을 쓰면서 느낀 것은, 문제를 알아차리는 것 과 습관을 바꾸는 것 은 별개의 일이라는 점이다. 지금은 개선이 필요하다고 느끼고 있지만, 개발에 몰입하다 보면 어느 순간 다시 반복하고 있을 수도 있다. 그래서 한 번의 반성으로 끝내기보다, 꾸준히 내 작업 방식을 돌아보는 자세가 중요하다고 생각한다. 생각했던 개선을 실제로 시도했는지, 그 시도가 어떤 변화를 가져왔는지 확인하며 조금씩 나아가고 싶다. 나는 앞으로도 AI의 기록은 꾸준히 남기고자 한다. 시간이 지난 뒤 다시 살펴봤을 때, 내가 어떤 시행착오를 거쳐 어떻게 달라졌는지 보여줄 수 있는 기록이 됐으면 좋겠다. 4. AI와 개발자의 미래 AI는 지금까지 유례가 없을 정도로 혁신적인 도구로 자리잡고 있다. 그만큼 앞으로 AI를 더 적극적으로 활용해야 할 순간이 많이 있을 것이다. 혹은 누구나 느끼는 불안감처럼 언젠가 AI가 인간을 모두 대체할 지도 모르는 일이다. 미래가 어떻게 달라질지는 모르겠다. 하지만 적어도 이 글을 읽는 모든 분들이 자신의 AI 사용 방식을 한 번쯤 돌아보는 계기가 되었으면 한다.
cosskill은 연봉 협상, 성과 피드백, 어려운 개인적 대화를 실제와 같은 AI 페르소나와 말로 미리 연습하는 AI 커뮤니케이션 시뮬레이터입니다. 이번 달 업데이트로 중국어 인터페이스 전체가 출시 되었습니다. 모든 페르소나와 시나리오, 설정 화면이 영어에 이어 중국어로도 동작합니다. 무료 이용: 가입 없이 3메시지, 가입 후 10메시지 — 모든 페르소나와 시나리오가 열려 있습니다. Pro(무제한)는 월 $12.90, 연간 결제 시 월 $9.90입니다. 왜 연습이 중요할까요? 협상은 보통 처음 두 분 안에 결정됩니다. 첫 요구, 프레이밍, 낮은 카운터 제시 후의 침묵. 실제처럼 밀어붙이는 AI를 상대로 소리 내어 연습하면, 실제 회의 전에 첫 제안의 약점을 가장 싸게 찾을 수 있습니다. 직접 해보기: https://cosskill.com 이 글과 제품은 AI의 도움으로 작성·운영되고 있습니다.
지난번 3차 튜닝 끝에 "다음엔 검증 방법을 넓혀보겠다"고 적었다. 기회는 생각보다 빨리 왔다. 다만 이번엔 내가 찾은 문제가 아니었다. 유저마다 호출되는 프로시저의 조회 부분을 DBA분이 검토해주셨다. 돌아온 지시는 짧았다. 날짜 조건 컬럼에 CONCAT을 씌우라는 것. 인덱스를 일부러 못 타게 만들라는 뜻이었다. 1차 시도 때 인덱스를 타게 하려고 SARGable을 공부했다. 그런데 이번엔 인덱스를 타지 않게 하라고 한다. 지시대로 바꾸는 건 한 줄이면 끝난다. 하지만 이유를 모른 채 넘어가면 다음에 같은 상황에서 또 누군가에게 물어야 한다. 그래서 바꾸기 전과 후를 직접 측정해보기로 했다. 테이블·인덱스 이름은 실제와 다르게 바꿨다. 1. 바뀐 건 한 줄이었다 -- 변경 전 WHERE A.YMD LIKE @YM + '%' -- 변경 후 WHERE CONCAT(A.YMD, '') LIKE @YM + '%' 결과는 같다. 빈 문자열을 붙여도 값은 그대로니까. 달라지는 건 옵티마이저 눈에 보이는 모양이다. 컬럼이 함수 안에 들어가는 순간 인덱스 Seek 대상에서 빠진다. 평소엔 이게 실수다. 이번엔 의도였다. 2. 실행 계획에서 보인 것 변경 전 실행 계획에서 두 테이블이 같은 모양을 하고 있었다. 순서 연산자 하는 일 1 Index Seek (IX_CASH_KEY) 다른 조건으로 후보 행의 위치를 찾음 2 Constant Scan → Compute Scalar → Index Seek (IX_CASH_YMD) @YM + '%' 를 시작값·끝값 범위로 바꿔서 날짜 인덱스를 탐색 3 Hash Match (내부 조인) 1과 2의 결과를 행 위치 기준으로 교집합 4 RID Lookup (Heap) 교집합으로 남은 위치로 테이블에 가서 나머지 컬럼을 가져옴 인덱스 두 개를 따로 타고, 결과를 조인해서 교집합을 만든 다음, 테이블로 다시 간다. 이걸 인덱스 교집합(Index Intersection)이라고 부른다. 2번 앞의 Constant Scan과 Compute Scalar가 처음엔 낯설었다. LIKE 패턴이 리터럴이 아니라 변수나 파라미터일 때 생기는 모양이다. 실행 시점에 '202610%' 를 '202610' 이상 '202611' 미만 같은 범위로 계산해서 Seek에 넘겨준다. 3. 인덱스를 두 개 쓰는 게 왜 손해인가 이 테이블은 클러스터드 인덱스가 없는 힙(Heap)이다. 힙의 논클러스터드 인덱스에는 키 값과 함께 RID(Row Identifier) , 즉 행의 물리 주소(파일:페이지:슬롯)가 들어 있다. 인덱스 교집합의 비용은 이렇게 쌓인다. 인덱스 A Seek 인덱스 B Seek 두 결과를 RID로 해시 조인 (해시 테이블용 메모리 필요) 남은 RID마다 테이블 페이지로 랜덤 접근 조건 두 개를 한 번에 커버하는 복합 인덱스가 있었다면 Seek 한 번이면 됐을 일이다. 17편에서 정리했던 "단일 인덱스 여러 개는 복합 인덱스 하나가 아니다" 가 그대로 다시 나왔다. 그때는 DELETE의 락 문제로 만났고, 이번엔 조회 계획으로 만났다. 같은 구조적 결함이 작업 종류만 바꿔 다시 튀어나온 셈이다. CONCAT을 씌우면 날짜 인덱스가 후보에서 빠진다. 남은 인덱스 하나로 찾고, 날짜 조건은 읽은 행에서 걸러낸다. 2번과 3번 단계가 통째로 사라진다. 4. 옵티마이저는 왜 그 계획을 골랐을까 여기서 질문이 하나 남는다. 교집합이 손해라면 옵티마이저는 왜 그걸 골랐을까. 옵티마이저는 테이블을 직접 세보지 않는다. 통계(Statistics) 라는 요약 정보를 보고 "이 조건이면 몇 건 나오겠다"를 추정하고, 그 추정으로 비용을 계산한다. 구성 내용 헤더 마지막 갱신일, 그때의 전체 행 수, 샘플링 행 수 밀도(Density) 1 ÷ 고유값 개수. 값을 모를 때 평균치로 추정할 때 씀 히스토그램(Histogram) 값 분포를 최대 200개 구간으로 나눠 건수를 적어둔 표 변경을 지시하면서 DBA분이 남긴 설명은 이랬다. "월초라 10월 데이터가 적다고 판단해서 날짜 인덱스를 탄다." 처음엔 이 말이 이해가 안 됐다. 데이터가 적으면 빨라야 정상 아닌가. 핵심은 실제로 적은 게 아니라, 적다고 잘못 추정한다 는 데 있었다. 가능한 경로는 두 가지다. (1) 통계가 아직 10월을 모르는 경우 인덱스는 INSERT와 같은 트랜잭션 안에서 즉시 갱신된다. 통계는 다르다. 변경 건수가 임계치를 넘고, 그 뒤 쿼리가 컴파일될 때 갱신된다. 기준 자동 갱신 임계치 호환성 수준 130 미만 500 + 전체 행의 20% 호환성 수준 130 이상 위 값과 √(1000 × 전체 행) 중 작은 값 대용량 테이블은 이 임계치가 크다. 게다가 날짜 컬럼은 새 값이 전부 히스토그램 마지막 구간 바깥 에 쌓인다. 통계상 세상이 9월 30일에서 끝나 있으면, 10월 범위는 "거의 없음"으로 추정된다. 이걸 증가 키 문제(Ascending Key Problem)라고 부른다. (2) 값을 모른 채 계획을 만든 경우 LIKE 패턴이 변수나 파라미터라는 걸 2번에서 확인했다. 로컬 변수면 옵티마이저는 컴파일 시점에 값을 몰라 히스토그램 대신 고정 추정치를 쓴다. 프로시저 파라미터면 첫 실행 값으로 만든 계획을 재사용한다(파라미터 스니핑). 두 경로 모두 결론은 같다. 적은 건수를 전제로 고른 계획이, 실제 건수 앞에서 비싸졌다. 어느 쪽이 실제 원인인지는 아직 확정하지 못했다. 결과부터 확인하고 돌아오기로 했다. 5. 결과 변경 전후로 같은 조건을 두 번씩 실행하고 두 번째 결과를 기준으로 비교했다. SET STATISTICS IO, TIME ON 으로 측정했다. 지표 변경 전 변경 후 변화 논리적 읽기 5,834 페이지 100 페이지 98.3% 감소 (약 58배) 읽은 데이터량 (페이지 × 8KB) 약 45.6MB 약 0.8MB 98.3% 감소 CPU 시간 234ms 16ms 93.2% 감소 (약 14.6배) 경과 시간 232ms 18ms 92.2% 감소 (약 12.9배) 결과 행 수 1행 1행 동일 같은 1행을 얻기 위해 읽던 페이지가 5,834개에서 100개로 줄었다. 한 번 호출 기준으론 200ms 남짓 차이다. 체감하기 어렵다. 그런데 이 조회는 유저마다 호출되는 프로시저 안에 있다. 호출 횟수만큼 곱해지는 비용이라 건당 수치보다 누적으로 봐야 했다. 변경 전 실행에는 미리 읽기(read-ahead)가 178 페이지 있었다. 디스크에서 페이지를 가져온 시간이 경과 시간에 일부 섞였다는 뜻이다. 그래서 시간보다 캐시 상태와 무관한 논리적 읽기를 주 지표로 삼았다. 3차 때 CPU와 reads가 따로 논다는 걸 겪고 나서 생긴 습관인데, 이번엔 둘 다 같은 방향으로 줄었다. 접근 경로 자체가 바뀌었으니 당연한 결과였다. 6. CONCAT은 정답인가 빠르고 간단하다. DDL도 필요 없다. 오라클에서 YMD || '' 로 인덱스를 막던 오래된 방식과 같은 원리다. 다른 선택지와 나란히 놓아봤다. 방법 장점 한계 CONCAT으로 인덱스 회피 즉시 적용, 스키마 변경 없음 의도가 코드에 안 보임. 날짜 인덱스가 유리한 경우에도 영구히 막힘 통계 갱신 추정 자체를 바로잡음 날짜 컬럼은 갱신 직후부터 다시 새 값이 쌓임. 재발함 인덱스 힌트 의도가 명확함 데이터 분포가 바뀌어도 계획이 고정됨 복합(커버링) 인덱스 교집합과 RID Lookup을 근본적으로 없앰 쓰기 비용 증가. 14편에서 계산했던 그 트레이드오프 CONCAT의 가장 큰 위험은 다음 사람이 이걸 실수로 보고 지울 수 있다 는 점이다. 1차 시도 때의 나라면 "함수를 걷어내서 SARGable하게"라며 지웠을 것이다. 적어도 주석 한 줄은 있어야 한다. -- 날짜 인덱스 교집합 방지용. 월초 추정 오류로 Hash Match + RID Lookup 발생 WHERE CONCAT(A.YMD, '') LIKE @YM + '%' 7. 아직 확인하지 못한 것 숫자로 결과는 확인했지만, 원인은 아직 반만 닫혔다. 날짜 인덱스 Seek의 예상 행 수와 실제 행 수. 차이가 크면 추정 오류가 원인이라는 직접 증거가 된다. @YM이 로컬 변수인지 파라미터인지. 4번의 두 경로 중 어느 쪽인지가 여기서 갈린다. 통계의 마지막 갱신일과 그 이후 변경 건수. sys.dm_db_stats_properties 로 볼 수 있다. DBA분이 통계 갱신이나 복합 인덱스 대신 CONCAT을 고른 이유. 운영 관점의 판단 기준이라 가장 궁금한 부분이다. 1차 때는 인덱스를 타게 만들려고 애썼고, 2차 때는 탈 인덱스가 없다는 걸 알았고, 3차 때는 측정 지표를 잘못 골랐다는 걸 알았다. 이번엔 인덱스를 타는 게 손해인 경우 를 만났다. 네 번을 거치면서 기준이 한 방향으로만 가지 않는다는 걸 알게 됐다. SARGable하게 쓰는 건 원칙이지 목표가 아니었다. 목표는 읽는 양을 줄이는 거고, 인덱스는 그 수단 중 하나일 뿐이다. 수단이 둘로 쪼개져 교집합을 만들어야 하는 상황이면, 아예 안 쓰는 쪽이 싸다. 옵티마이저가 실제 건수가 아니라 추정 건수로 계획을 고른다는 것도 이번에 와닿았다. 인덱스는 즉시 갱신되는데 통계는 나중에 갱신되니, 날짜처럼 계속 증가하는 컬럼에서는 그 틈이 구조적으로 생긴다. 월초에 이 문제가 나온 게 우연이 아니었다. 그리고 하나 더. 지시로 받은 답이었지만 숫자로 다시 확인하고 나니 다음에 비슷한 계획을 봤을 때 혼자 판단할 수 있을 것 같다. 받은 답과 아는 답은 다르다. 다음 편에서는 7번의 빈칸을 채워본다. 예상 행 수와 실제 행 수를 나란히 놓고, 이번 계획을 만든 게 통계였는지 파라미터였는지 가려볼 생각이다. 빌링 도메인 백엔드 개발 공부 기록
A cracked or unresponsive display can make a phone difficult to use and may create additional problems if the damage is ignored. Sind Cellular provides helpful information about Phone Screen Repairs for Louisville, KY, users who want to understand their options before deciding what to do with a damaged device. A broken screen may result from a drop, impact, pressure, or accidental damage, and the right repair approach depends on the phone model and the type of damage. Understanding Common Screen Damage Phone Screen Repairs can involve several types of display problems, and Sind Cellular helps Louisville, KY, users understand the differences. A screen may have a small surface crack, extensive glass damage, black spots, flickering, touch problems, or a display that does not turn on. Sometimes the outer glass is damaged while the image and touch functions still work. In other situations, the internal display and touch components may also be affected. When Does a Cracked Screen Need Repair? Not every crack immediately causes a phone to stop working, but Phone Screen Repairs may become necessary when damage interferes with normal use. Sind Cellular recommends considering the condition of the entire display rather than judging the problem only by its appearance. A crack that begins as a small line can spread after additional impacts or pressure. Sharp glass edges can also make handling the phone uncomfortable and potentially unsafe. Glass Damage Versus Display Damage One important consideration in Phone Screen Repairs is determining whether only the outer glass is damaged or whether the complete display assembly has been affected. Sind Cellular explains that modern smartphones often combine multiple layers, including protective glass, touch-sensitive components, and the display panel. If the image looks normal but the glass is cracked, the repair requirements may differ from a phone with distorted colors, dead areas, or unresponsive touch controls. Touchscreen Problems After an Impact Touchscreen problems are another common reason people explore Phone Screen Repairs . Sind Cellular notes that a phone may continue displaying an image while certain areas of the touchscreen stop responding. In Louisville, KY, a device with delayed, inaccurate, or completely unresponsive touch should be evaluated carefully. Continuing to use a damaged touchscreen can make everyday tasks such as typing, calling, navigation, and accessing applications increasingly difficult. Signs That Internal Components May Be Affected Some damage associated with Phone Screen Repairs may not be visible immediately. Sind Cellular recommends paying attention to symptoms such as flashing displays, unusual lines across the screen, dark patches, discoloration, ghost touches, or intermittent touch response. These signs can indicate that an impact affected components beneath the outer glass. A professional assessment can help determine whether the issue is limited to the screen or involves other parts of the phone. Why the Phone Model Matters The exact phone model is an important factor when considering Phone Screen Repairs , and Sind Cellular emphasizes that repair methods can vary significantly between devices. Different smartphones use different display technologies, construction methods, adhesives, connectors, and replacement components. Louisville, KY, phone users should identify the exact model before selecting a repair option because parts designed for one model may not be compatible with another. Preparing a Phone Before Screen Repair Before arranging Phone Screen Repairs , Sind Cellular suggests taking sensible steps to protect personal information and reduce the risk of data loss. If the damaged phone still works, users should back up important photographs, contacts, documents, and other information. It is also useful to know the device passcode and account credentials if they are required during the repair process. Backing up data is especially important when the phone has suffered significant physical damage. Choosing Replacement Parts Replacement parts are an important consideration in Phone Screen Repairs , and Sind Cellular encourages Louisville, KY, users to understand that screens can differ in quality and specifications. Depending on the device, available replacement displays may vary in brightness, color reproduction, touch sensitivity, durability, and overall performance. Asking what type of replacement component will be used can help users make a more informed decision about repairing their phone. Protecting a Repaired Screen After Phone Screen Repairs , proper protection can help reduce the likelihood of future damage. Sind Cellular recommends considering a suitable protective case and screen protector for everyday use. Keeping a repaired phone away from excessive pressure, sharp objects, and situations where it could easily fall can also help preserve the replacement display. Louisville, KY, users can make screen protection part of their regular phone-care routine rather than waiting for another accident. When Repair May Be Better Than Replacement For some devices, Phone Screen Repairs can be a practical alternative to replacing the entire phone. Sind Cellular explains that the decision should consider the phone's age, overall condition, screen damage, battery condition, software support, and expected repair cost. A newer phone with otherwise good performance may be worth repairing, while an older device with several unrelated problems may require a broader cost comparison. Making an Informed Repair Decision Understanding the cause and extent of damage makes Phone Screen Repairs easier to evaluate. Sind Cellular provides information for Louisville, KY, users who want to approach screen problems with realistic expectations. Before proceeding, users should identify the phone model, assess whether touch and display functions still work, back up important information when possible, and ask about the replacement component and repair process. These steps can help create a clearer picture of the available options. Final Thoughts on Phone Screen Repairs Phone Screen Repairs can address many common problems caused by cracked glass, damaged displays, or touchscreen failures. Sind Cellular encourages Louisville, KY, phone owners to avoid ignoring significant screen damage and to understand what is involved before choosing a repair solution. With careful assessment, appropriate replacement parts, data protection, and sensible screen protection afterward, users can make a more informed decision about maintaining their smartphones.
AAA Random 5 Keys on G2A | How to Buy & Activate 5 Random Steam Keys GLOBAL Looking for a fun way to discover new PC games on Steam? In this video, I’ll show you how to buy AAA Random 5 Keys (PC) – Steam Key – GLOBAL on G2A, what to check before purchasing, and how to redeem your Steam keys. The AAA Random 5 Keys offer is designed for gamers who enjoy the surprise of receiving random Steam games. Instead of selecting five specific titles yourself, you receive random keys from the available pool. 🎮 In This Video: How to find AAA Random 5 Keys on G2A How to check the Steam platform How to verify GLOBAL activation and region restrictions How to compare G2A seller offers How to purchase the 5-key bundle How to receive your Steam keys How to redeem the keys on Steam Important information about random game keys Duplicate-key and refund considerations 👉 Check AAA Random 5 Keys on G2A: The G2A link is also available in the video description. Important: Random-key products do not guarantee that you will receive a specific game. Always read the current G2A product description, check activation restrictions for your country, and review the seller's terms before purchasing. 💰 Affiliate Disclosure I am a G2A affiliate partner. This video contains an affiliate link, which means I may earn a commission if you make a qualifying purchase through my link, at no additional cost to you. If you found this guide helpful, like the video, subscribe to the channel, and turn on notifications for more Steam games, gaming deals, G2A buying guides, and digital key tutorials. #Steam #SteamGames #RandomSteamKeys #PCGaming #GamingDeals #GameKeys #SteamKey #G2AGames #SteamGaming #PCGames
Buying a home is a major decision, and a professional inspection can reveal problems that are easy to miss during a normal showing. A Home Inspection Team in Rochester, IN can evaluate the property's major systems, identify safety concerns, and help buyers understand the condition of the home before closing. An inspection can also benefit sellers who want to address problems before listing. From the roof and foundation to plumbing, electrical systems, and interior spaces, a careful inspection provides useful information about what may need attention. Understanding what happens during the process can help homeowners and buyers prepare, ask better questions, and make informed decisions without relying only on appearances. What Does a Home Inspection Team in Rochester, IN Check? A residential home inspection is a visual evaluation of accessible areas and major components of a property. The goal is to identify visible defects, potential safety concerns, and conditions that may require further evaluation. A Best Home Inspection Team Services in Rochester, IN may examine areas such as: Roofing materials and visible flashing Gutters and drainage around the home Foundation and visible structural components Exterior siding, trim, doors, and windows Attic insulation and ventilation Heating and cooling equipment Electrical panels, outlets, and visible wiring Plumbing fixtures and accessible supply lines Water heaters Interior walls, ceilings, and floors Stairs, railings, and other safety features Garages and accessible outbuildings The inspection is not designed to guarantee that a house will never develop problems. Instead, it provides a condition snapshot based on what can be reasonably observed at the time of the inspection. Why Is a Professional Home Inspection Important? A house can look well maintained while still having hidden or developing problems. Small signs, such as staining beneath a window or an uneven floor, can sometimes point to larger issues. For buyers, an inspection can help identify concerns before finalizing a purchase. Depending on the purchase agreement and local circumstances, significant findings may lead to additional negotiations, repairs, or further inspections. For sellers, a pre-listing inspection can provide an opportunity to discover problems early. Addressing known issues before listing may make the selling process more predictable. A home inspection can be especially helpful when a property is: Several decades old Recently renovated Vacant or poorly maintained Located in an area with drainage concerns Showing signs of moisture intrusion Being purchased as an investment Undergoing a change in ownership after years of use What Warning Signs Should Homebuyers Watch For? A buyer should not rely on an inspection report alone. Paying attention during the property tour can help identify areas that deserve closer attention. Water and Moisture Problems Look for water stains on ceilings, musty odors, peeling paint, swollen trim, or discoloration around windows. These signs do not automatically mean there is major damage, but they deserve investigation. Basements and crawl spaces should receive particular attention. Standing water, damp surfaces, efflorescence, or poor drainage may indicate moisture-management issues. Roof and Exterior Concerns Missing or damaged shingles, deteriorated flashing, sagging roof areas, and damaged gutters can affect the home's ability to keep water out. Exterior grading also matters. Soil that slopes toward the foundation can direct water toward the structure instead of away from it. Electrical and Plumbing Issues Frequently tripped breakers, loose outlets, exposed wiring, slow drains, leaking fixtures, and low water pressure can indicate problems that need further evaluation. An inspection can identify visible concerns, but certain electrical, plumbing, or structural issues may require a qualified specialist for diagnosis or repair. How Does the Home Inspection Process Work? Knowing what to expect can make the inspection less stressful. Before the Inspection The buyer or seller typically schedules the inspection and provides information about the property. It is helpful to ensure that inspectors can access important areas such as the electrical panel, attic, mechanical equipment, garage, and other accessible spaces. The property should also be reasonably accessible. Stored belongings or locked rooms can prevent an inspector from evaluating certain components. During the Inspection The inspector moves through the home systematically, examining accessible components and documenting visible conditions. Depending on the property, the process may take several hours. Buyers may choose to attend. Being present can provide an opportunity to ask questions and see certain conditions firsthand. After the Inspection The inspector provides a written report describing observed conditions. Reports commonly include photographs, descriptions, and recommendations for repairs, monitoring, or additional evaluation. It is important to distinguish between a defect and a normal maintenance item. Not every recommendation means that an expensive repair is immediately necessary. What Factors Can Affect Home Inspection Costs? Inspection prices vary because homes vary. A small, newer property generally requires less inspection time than a large or complex house with multiple structures. Factors that may influence the cost include: Property size Age of the home Number of systems and structures Crawl space or attic accessibility Additional buildings Inspection add-ons Geographic location Time required to complete the inspection Rather than choosing an inspection based only on price, homeowners should consider what services are included and whether the inspector communicates findings clearly. The lowest quote may not provide the same scope or level of documentation as another inspection. Asking for the inspection scope in advance can help prevent misunderstandings. How Can You Prepare for a Home Inspection? A little preparation can make the inspection more useful. For Buyers Before the appointment, buyers should prepare questions about areas that concern them. They can also review the seller's disclosures and bring attention to known issues. It is useful to focus on major systems and safety-related findings rather than becoming overwhelmed by every minor maintenance recommendation. For Sellers Sellers can improve access by: Unlocking garages and exterior structures Clearing access to electrical panels Moving belongings away from mechanical equipment Replacing burned-out bulbs Addressing obvious leaks Keeping utilities turned on when appropriate Providing information about known repairs These steps do not guarantee a favorable report. They simply allow the inspector to evaluate more of the property and document conditions accurately. What Should You Do After Receiving the Inspection Report? An inspection report can contain a long list of observations, but that does not mean every item requires immediate repair. Start by separating findings into categories such as safety concerns, active water intrusion, major system defects, maintenance items, and cosmetic issues. For serious concerns, ask whether a qualified contractor or specialist should evaluate the condition further. A home inspector can identify a potential problem without necessarily determining the exact repair method or final cost. Buyers should also consider the age and expected service life of major components. A ten-year-old water heater and a recently installed water heater should not be evaluated in exactly the same way. The most useful approach is to prioritize findings based on safety, potential damage, urgency, and cost rather than reacting to the number of pages in the report. People Also Ask About Home Inspections How long does a home inspection take? The time varies according to the home's size, condition, accessibility, and inspection scope. Larger or more complicated properties generally require more time. Should buyers attend the inspection? Attending can be helpful because buyers can ask questions and better understand certain findings. However, the written report remains an important reference after the inspection. Does a home inspection find every problem? No. A standard inspection is generally a visual evaluation of accessible areas. Concealed defects and conditions outside the inspection's scope may not be identified. Is a home inspection required when buying a house? Requirements vary by transaction and location. Even when an inspection is not mandatory, many buyers choose one to better understand the property's condition. What happens if the inspector finds major problems? The appropriate response depends on the purchase agreement and the seriousness of the findings. Buyers may request repairs, negotiate terms, seek specialist evaluations, or reconsider the transaction when permitted. Conclusion: Is a Home Inspection Team in Rochester, IN Worth It? For most buyers, a professional inspection is a practical way to understand a property's condition before making one of the largest purchases they are likely to make. A Home Inspection Team in Rochester, IN can help identify visible concerns involving structure, roofing, electrical systems, plumbing, heating, cooling, moisture, and other major components. The key is to view the inspection as an information-gathering step rather than a pass-or-fail test. A clear report can help homeowners prioritize repairs, plan maintenance, and make decisions based on evidence instead of appearances. New Beginnings provides professional property inspection services for homeowners and buyers who want a clearer understanding of a property's condition. For those preparing to purchase or maintain a home in the Rochester area, consider scheduling an inspection and discussing any specific concerns with the inspection professional. Article by: Rank Business Listings