⚙️ Chapter 04

드디어 코드를 쓰다

계획을 세웠으니 이제 실제로 만들 차례예요.
빌드 환경 세팅부터 기존 코드 분석, 기초 코드 작성까지 한 단계씩 나아갔습니다.

🔨 첫 번째 고비

앱을 켜는 것부터 시작했어요

코드를 쓰기 전에 개발 환경을 세팅해야 해요. 쉽게 말하면 "코드를 앱으로 변환하는 도구들을 준비하는 것"인데, 이것만 해도 꽤 시간이 걸렸습니다.

🛠️
개발 도구 설치
Android Studio(앱 개발 프로그램) 설치, Java 버전 맞추기, Gradle(빌드 도구) 설정. AI가 어떤 버전을 쓸지, 어디서 오류가 나는지 안내해줬어요.
📱
앱 처음 실행 성공!
기존 앱을 내 컴퓨터에서 빌드해서 에뮬레이터(가상 스마트폰)에 올리는 데 성공. 실제 스냅스 앱이 내 화면에 떴을 때 뿌듯했어요.
🔍
기존 코드 구조 분석
AI가 수십 개의 파일을 읽으며 앱 구조를 설명해줬어요. "이건 화면 담당, 저건 데이터 담당, 이건 서버 연결 담당" 같이 역할을 알기 쉽게 설명.
🤖 AI 활용

Notion에서 API 문서 자동으로 읽어왔어요

앱이 서버와 어떻게 대화하는지 알려주는 문서(API 문서)가 Notion에 있었어요. 직접 찾아보는 대신 AI가 Notion에 직접 접근해서 필요한 정보를 가져왔습니다.

🔌 Notion MCP 연결
AI 도구(Claude)에 Notion 접근 권한을 주면, AI가 직접 Notion 문서를 읽고 정리해줘요. 필요한 API 정보를 검색하고 요약하는 걸 사람이 아닌 AI가 대신 해줍니다. 덕분에 문서를 일일이 찾아보는 시간을 크게 줄였어요.
🔬 서버 분석

서버 알고리즘을 역으로 파헤쳤어요

폰에서 사진을 날짜 기준으로 묶으려면, 서버가 어떻게 묶는지를 알아야 비슷하게 만들 수 있어요. AI가 서버 Python 코드를 읽고 로직을 역으로 분석해줬습니다.

💡 AI가 분석해준 내용
서버는 사진들을 시간 순서로 줄 세운 뒤, 사진 사이의 시간 간격이 일정 기준(예: 6시간) 이상 벌어지면 다른 이벤트로 구분해요. 이 방법을 폰에서도 그대로 쓰면 됩니다. AI 없이 Python 코드를 혼자 읽었다면 한참 걸렸을 것 같아요.
🏗️ 코드 설계

기존 앱 방식대로 코드 구조를 잡았어요

기존 앱이 쓰는 코드 구조 방식(Clean Architecture)을 따르기로 했어요. 3개의 층으로 나눠서 역할을 분리하는 방식인데, AI가 알기 쉽게 설명해줬습니다.

🧠
Domain (핵심 규칙 층)
"사진을 어떻게 묶을까"의 규칙만 담아요. 안드로이드든 iOS든 변하지 않는 핵심 로직.
↑ 위에 올려서 사용
💾
Data (데이터 수집 층)
폰에서 사진 정보를 실제로 가져오는 코드. Domain에서 정한 형식으로 데이터를 전달.
↑ 위에 올려서 사용
📺
Presentation (화면 층)
사용자에게 보여주는 화면 코드. "스토리 목록을 어떻게 보여줄까"를 담당.
✅ 이 챕터에서 만든 것
Domain 층의 기초 코드를 AI와 함께 작성했어요. "스토리"가 무엇인지, "사진 클러스터"가 어떤 구조인지 정의하는 기반 코드가 완성됐습니다. 집의 기초 공사를 마친 셈이에요.
📄 이 챕터에서 얻은 것
빌드 환경 + 코드 분석 + 기초 코드 완성
개발 환경을 세팅하고, AI의 도움으로 기존 코드 구조를 파악했어요. 서버 알고리즘을 역분석하고, 기초 코드 구조(Domain 층)를 작성했습니다. 이제 본격적인 기능 구현을 시작할 준비가 됐어요.