본문 바로가기

app21

DeepCheck 탄생 비화와 MVVM 아키텍처 설계 이 포스팅은 DeepCheck의 시작부터 완성까지의 여정을 기록하는 시리즈의 첫 번째 포스팅이다. 이 프로젝트는 어느 날 갑자기 떠오른 아이디어가 아니다. 오래된 경험에서 비롯된 문제의식과 다가올 미래를 예측하여 오랫동안 준비해온 결과물이다. 모든 것은 아주 단순한, 하지만 개발자로서 떨쳐낼 수 없는 질문 하나에서 시작 되었다. 왜 아이폰에는 쓸만한 하드웨어 점검 앱이 없을까? 오래된 경험, 새로운 기회를 보다개발자 커리어를 블루버드소프트 라는 곳에서 Windows CE 기반의 임베디드 장비들을 다루며 시작했다. 지금은 생소하게 들릴 수 있는 이름이다. 주로 PDA나 산업용 단말기 같은 기기들을 다루었다. 당시 주요 업무 중 하나는, 막 출고된 기기들의 하드웨어가 정상적으로 작동하는지 검증하는 테스.. 2025. 9. 11.
DeepCheck 개인정보 처리방침 (Privacy Policy) DeepCheck 개인정보 처리방침 (Privacy Policy)효력 발생일: 2025년 9월 11일본 개인정보 처리방침은 DeepCheck(이하 "앱")이 사용자의 개인정보를 어떻게 다루는지 설명합니다. JOHJO.NET(이하 "회사")은 사용자의 개인정보 보호를 최우선 가치로 여기며, 투명하고 안전하게 앱을 제공할 것을 약속합니다. 1. 개인정보 수집에 대한 회사의 핵심 원칙회사는 DeepCheck 앱을 통해 사용자의 어떠한 개인정보도 수집, 저장, 또는 외부로 전송하지 않습니다. 앱의 모든 진단 기능은 전적으로 사용자의 기기 내에서만 실행되며, 진단 결과 데이터는 앱 외부로 공유되거나 저장되지 않습니다.회사는 다음과 같은 행위를 절대 하지 않습니다:사용자를 식별할 수 있는 어떠한 정보(이름, 이메일.. 2025. 9. 11.
MetaLens 개인정보 처리방침 (Privacy Policy) MetaLens 개인정보 처리방침 (Privacy Policy)시행일: 2025년 9월 4일안녕하세요! johjo.net입니다. 본 개인정보 처리방침은 MetaLens 앱(이하 '앱')이 사용자의 정보를 어떻게 다루는지에 대해 투명하게 설명하기 위해 작성되었습니다.저희는 사용자의 개인정보를 매우 중요하게 생각하며, 앱의 설계 단계부터 사용자의 프라이버시를 최우선으로 고려했습니다.✅ 핵심 원칙: 저희는 당신의 데이터를 수집하지 않습니다.MetaLens의 가장 중요한 원칙은 "모든 분석은 당신의 기기 안에서만 이루어진다" 는 것입니다. 저희는 사용자의 사진, 메타데이터를 포함한 어떠한 개인정보도 수집, 저장, 또는 외부 서버로 전송하지 않습니다. 당신의 모든 데이터는 온전히 당신의 기기에만 머무릅니다.1. .. 2025. 9. 4.
최종 조립 및 완성 : 메인 뷰(View)와 사용자 경험(UX) 향상 좋은 UX는 어떻게 사용자의 궁금증을 먼저 해결해주는가?시작하며 : 단순한 '조립'을 넘어 '경험'을 설계하다지난 포스팅 2025.09.03 - [app/metalens] - 생명을 불어넣는 작업 : 재사용 가능한 UI 컴포넌트(Components) 제작 에서 앱의 얼굴을 구성할 모든 UI 부품(Components)을 완성했다. EmptyStateView부터 ScoreCircleView, SummaryCardView 까지, 각자 하나의 책임만을 다하는 잘 만들어진 '레고 블록'들이다. 이제 남은 작업은 이 블록들을 PhotoInspectorView 라는 큰 판위에 조립하여 하나의 완성된 화면을 만드는 것이다. 하지만 이번 포스팅은 단순히 블록을 조립하는 방법을 설명하는 데 그치지 않는다. 한 걸음 더 .. 2025. 9. 4.
생명을 불어넣는 작업 : 재사용 가능한 UI 컴포넌트(Components) 제작 거대한 View를 잘게 쪼개는 것의 미학 시작하며 : 왜 View를 분리해야 하는가? 이전 포스팅까지의 여정으로 앱의 두뇌(ViewModel)와 심장(Service)을 모두 구현 했다. 로직과 UI의 지휘자 : 뷰모델(ViewModel)과 비동기 처리async/await와 @Published로 우아하게 상태를 관리하는 법시작하며 : 왜 '지휘자'가 필요한가? 이전 포스팅까지의 작업으로, 사진 데이터를 주면 분석 리포트를 뱉어내는 강력한 엔진(PhotoMetadataService)johjo.net 앱의 심장을 만들다 : 메타데이터 분석 서비스(Service) 구현ImageIO 프레임워크를 파헤쳐 사진의 비밀을 캐내다시작하며 : '실제 일'을 하는 녀석의 등장지난 포스팅에서 앱의 뼈대(Model)와 소통 규.. 2025. 9. 3.
로직과 UI의 지휘자 : 뷰모델(ViewModel)과 비동기 처리 async/await와 @Published로 우아하게 상태를 관리하는 법시작하며 : 왜 '지휘자'가 필요한가? 이전 포스팅까지의 작업으로, 사진 데이터를 주면 분석 리포트를 뱉어내는 강력한 엔진(PhotoMetadataService)을 만들었다. 이제 남은 것은 이 엔진을 UI와 연결하는 일이다. 하지만 여기서 많은 개발자들이 함정에 빠진다. View 코드 안에서 직접 서비스 로직을 호출하고, 상태를 관리하려는 시도를 하는 것이다. 이는 마치 레스토랑 홀 직원이 주방에 직접 들어가 요리하는 것과 같다. 결과는 엉망이 될 수밖에 없다. 그래서 ViewModel이라는 '지휘자' 혹은 '셰프'를 둔다. View(홀 직원)는 오직 ViewModel(셰프)에게 "손님이 사진을 골랐습니다"라고 주문만 전달한다. .. 2025. 9. 3.
앱의 심장을 만들다 : 메타데이터 분석 서비스(Service) 구현 ImageIO 프레임워크를 파헤쳐 사진의 비밀을 캐내다시작하며 : '실제 일'을 하는 녀석의 등장지난 포스팅에서 앱의 뼈대(Model)와 소통 규칙(Protocol)을 정의했다. 하지만 아직 앱은 아무일도 하지 못하는 빈 껍데기일 뿐이다. 이제 드디어, 이 뼈대에 살을 붙이고 피를 돌게 할 '심장', 즉 서비스(Service) 레이어를 구현할 차례다. Service는 우리 MVVM 아키텍처에서 '실제 일'을 하는 녀석이다. ViewModel로 부터 "사진 데이터 줄 테니 분석해줘"라는 요청을 받으면, 묵묵히 사진 파일을 파헤쳐 그 안에 숨겨진 비밀(메타데이터)을 캐내고, 우리가 정한 규칙(비즈니스 로직)에 따라 '원본성 점수'를 계산하여 최종 보고서(OriginalityReport)를 만들어내는 역할이다.. 2025. 9. 3.
데이터의 뼈대를 세우다: 모델(Model)과 프로토콜(Protocol) 정의 좋은 코드는 '무엇'을 담을지와 '어떻게' 소통할지를 먼저 정의한다. 시작하며 : '데이터'가 아닌 '모델'을 설계하는 이유이전 포스팅에서 프로젝트의 기반 공사를 마쳤다. 이제 실제 사진을 분석하고, 그 결과를 보여주는 코드를 작성해야 한다. 이때 가장 먼저 해야 할 일은 무엇일까? 바로 '데이터의 청사진'을 그리는 일이다. 이것을 '모델(Model) 설계' 라고 부르는데, 단순히 String, Int 같은 변수 뭉치가 아니라, 앱이 다루는 정보의 의미와 관게를 구조적으로 정의하는 과정이다. 예를 들어, '사진 분석 결과'는 무엇으로 구성되는가? '원본이 라는 증거'는 어떤 정보를 담아야 하는가? 이 청사진이 명확해야, 이후에 만들어질 모든 로직과 UI가 흔들림 없이 견고하게 세워질 수 있다. 이번 .. 2025. 9. 2.
집을 짓기 전 땅 다지기: 프로젝트 설정과 필수 유틸리티 좋은 앱은 잘 만든 AppError 와 Logger 에서 시작된다. 시작하며 : 왜 '기반 공사'가 중요한가?이전 포스팅에서 MetaLens 라는 앱의 청사진(기획과 아키텍처)을 그렸다.2025.09.02 - [app/metalens] - 메타렌즈 프로젝트 소개2025.09.02 - [app/metalens] - 바이브코딩을 위한 MetaLens 코딩 파트너 설정기 이제 본격적으로 코드로 집을 지을 차례다. 이제 몇번 프로젝트를 진행하다 보니 앱의 안정성과 확장성을 책임지기 위해서는 기초적인 설정들이 중요하다는 것을 깨달았다. 이번 포스팅에서는 기능 개발이라는 '인테리어'에 들어가기 전, 반드시 먼저 해야 할 '기반 공사'에 대해 다룬다. 구체적으로는 아래 3가지다. 글로벌 출시를 위한 완벽한 다국어 지.. 2025. 9. 2.
바이브코딩을 위한 MetaLens 코딩 파트너 설정기 최근 7~8월에 바이브코딩을 해보면서 정보성 글의 작성은 GPT로, 코딩 작업은 Gemini로 하는 것으로 마음 먹었다. 요즘 대세는 클로드라서 곧 배송 올 "요즘 바이브 코딩 클로드 코드 완벽 가이드"를 읽어보면 또 클로드로 바뀔 수도 있다. (유독 클로드 관련 책만 많이 출시 되는것 같은 느낌은 기분 탓 인가?) 요즘 바이브 코딩 클로드 코드 완벽 가이드 - 예스24★ 200달러 MAX 플랜으로 매일 10시간씩 실험하여 얻은 노하우를 모두 담았다!★ 어디에도 없는 클로드 코드 최강 팁과 노하우, 레시피를 빠르게 알고 싶다면?★ 이 책으로 천상계에서 개발하는 진www.yes24.com 아무튼, 지금은 Gemini로 한다. ULTRA 요금제도 결제 되어 있으니 안 할 이유가 없다. Gemini에서는 ".. 2025. 9. 2.