StudyDad Loop 제품을 만들며 배운 운영과 설계를 기록합니다.

FamBlend를 중심으로 실제 구현, 운영 메모, GitHub 포트폴리오를 연결해 쌓아가는 StudyDad의 작업 기록입니다.

GoogleSheets 3

최신 데이터, 월별 스냅샷, 감사 백업을 나눠 저장하기

자동화 워크플로우 시리즈 6/8운영 자동화에서 데이터를 파일로 저장할 때 흔히 하나의 JSON만 만들고 싶어진다.data.json처음에는 충분해 보인다. 화면은 최신 데이터만 읽으면 되고, 동기화할 때 파일을 덮어쓰면 된다.하지만 운영하다 보면 최신 데이터 하나만으로는 부족하다.언제 어떤 데이터가 동기화되었는지, 월별로 어떤 상태였는지, 문제가 생겼을 때 어디로 되돌아가야 하는지 알 수 있어야 한다.그래서 최신 데이터, 월별 스냅샷, 감사 백업을 나눠 저장하는 구조가 필요하다.문제 상황스프레드시트를 원천 데이터로 두고, 화면 제공을 위해 JSON 파일을 생성해야 했다.필요한 데이터는 하나가 아니었다.운영자 화면이 읽는 최신 데이터월별 화면이나 기록을 위한 스냅샷외부 사용자에게 보여줄 공개용 데이터동기화 ..

Apps Script를 비즈니스 로직 엔진으로 쓰기

자동화 워크플로우 시리즈 4/8Google Sheets를 운영 데이터의 원천으로 두면 자연스럽게 Google Apps Script를 쓰게 된다.폼 제출 이벤트를 받을 수 있고, 시트 데이터를 읽고 쓸 수 있으며, 외부 API도 호출할 수 있다.이 정도면 작은 운영 자동화에서는 충분히 비즈니스 로직 엔진 역할을 할 수 있다.하지만 Apps Script는 만능 백엔드가 아니다. 잘 맞는 역할과 넘기면 안 되는 역할을 구분해야 한다.Apps Script가 자연스러운 위치스프레드시트 중심의 업무에서 Apps Script는 데이터 가까이에 있다.예를 들어 다음 작업을 하기에 좋다.폼 제출 시 후처리입력값 정리상태값 업데이트특정 조건의 행 필터링운영자용 메뉴 추가외부 API 호출JSON 데이터 생성정기 동기화 실행..

Google Sheets를 Source of Truth로 둘 수 있는 조건

자동화 워크플로우 시리즈 3/8스프레드시트를 데이터 원천으로 쓴다고 하면 불안하게 들릴 수 있다.개발자 입장에서는 데이터베이스가 더 자연스럽다. 스키마가 있고, 권한이 있고, 쿼리가 있고, 트랜잭션도 있다.하지만 모든 운영 자동화에 RDB가 필요한 것은 아니다.특정 조건에서는 Google Sheets가 Source of Truth, 즉 원천 데이터 저장소 역할을 할 수 있다.중요한 것은 스프레드시트를 무작정 쓰는 것이 아니라, 어떤 조건에서 가능한지 명확히 아는 것이다.Source of Truth란 무엇인가Source of Truth는 같은 정보가 여러 곳에 있을 때 "원본으로 인정하는 곳"이다.운영 자동화에서는 데이터가 여러 곳에 복제될 수 있다.폼 응답스프레드시트S3 JSON운영자 화면공개 페이지월별..