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

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

업무자동화 9

Apps Script에서 S3로 직접 쓰지 않은 이유

자동화 워크플로우 시리즈 5/8Google Apps Script에서 AWS S3로 파일을 직접 업로드할 수도 있다.이론적으로는 가능하다. AWS Signature Version 4 서명을 직접 만들고, S3 PUT 요청을 보내면 된다.하지만 운영 자동화에서는 "가능하다"와 "좋은 선택이다"가 다르다.나는 Apps Script가 S3에 직접 쓰는 방식보다, API Gateway와 Lambda를 경유해 S3 저장을 위임하는 구조가 더 낫다고 봤다.문제 상황스프레드시트의 데이터를 가공해 JSON 파일로 저장해야 했다.이 JSON은 운영자 화면과 공개 페이지에서 읽을 데이터였다.구조는 단순해 보인다.Sheets-> Apps Script-> S3 JSON-> Console/Public page여기서 선택지는 두 ..

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운영자 화면공개 페이지월별..

Google Forms를 입력 도구로 인정하기

자동화 워크플로우 시리즈 2/8운영 시스템을 만든다고 하면 입력 화면부터 직접 만들고 싶어진다.회원 인증을 붙이고, 신청 폼을 만들고, 검증 로직을 넣고, 데이터베이스에 저장하고, 관리자 화면에서 조회하게 만드는 방식이다.하지만 모든 입력 흐름에 직접 만든 화면이 필요한 것은 아니다.특히 외부 사용자가 간단한 신청 정보를 제출하는 업무라면 Google Forms 같은 도구가 충분히 좋은 입력 도구가 될 수 있다.문제 상황외부 사용자가 특정 기간에 신청 정보를 제출해야 하는 업무가 있었다.입력 항목은 정해져 있었고, 제출량은 폭발적으로 많지 않았다. 운영자는 제출된 내용을 확인하고, 이후 상태를 관리해야 했다.이 상황에서 선택지는 두 가지였다.첫 번째는 신청 화면을 직접 만드는 것이다.두 번째는 Googl..

운영 자동화는 어디서 시작해야 할까

자동화 워크플로우 시리즈 1/8운영 자동화를 시작할 때 가장 먼저 떠올리는 것은 도구다.폼을 만들까, 스프레드시트를 쓸까, 관리자 페이지를 만들까, 자동화 스크립트를 붙일까, 아니면 처음부터 데이터베이스와 백엔드를 갖춘 시스템을 만들까.하지만 자동화는 도구에서 시작하면 자주 실패한다.먼저 봐야 할 것은 업무 흐름이다.누가 입력하고, 누가 확인하고, 어떤 기준으로 상태가 바뀌고, 결과가 누구에게 공개되는지부터 정리해야 한다. 그다음에야 어떤 도구가 충분한지 판단할 수 있다.문제 상황신청을 받고, 내부에서 확인하고, 일정이나 결과를 공개하는 업무가 있었다.처음부터 완전한 백오피스 시스템을 만들 수도 있었다. 로그인, 신청 화면, 관리자 화면, 상태 관리, 데이터베이스, 알림, 공개 페이지를 모두 직접 구현하..

왜 정산 자동화가 필요한가

📌 정산 자동화 시리즈 #1왜 정산 자동화가 필요한가![정산자동화1편]1️⃣ 정산 자동화를 시작한 이유✅ 반복 작업의 시간 낭비매월 수작업 정산에만 팀원이 10시간 이상 소모‘월 마감’이 다가올수록 본 업무를 멈추고 데이터 정제와 오류 검증에 몰두수기로 돌리다 보니 사람이 빠뜨리거나 잘못 입력해 재검증 반복✅ 정확하지 못한 데이터 기반 운영카테고리별 수익률 분석이 어려워 ‘느낌’에 의존해 광고, 재고, 가격 전략을 결정어떤 카테고리가 수익성이 좋은지, 반품·환불 비율이 높은지 알기 어려움결국 현금 흐름 예측과 사업 의사결정이 불투명✅ 사업 확장 시 한계거래 건수가 늘어날수록 수작업 정산은 리스크와 비용만 증가데이터 기반 의사결정이 필요한 시점에 ‘데이터 신뢰성’부터 흔들림2️⃣ 정산 자동화가 가져올 변..

3편: 트리거 활용 - 완전 자동화의 완성

[반복되는 폼 자동화] 시리즈 안내1편: 도입 – 왜 자동화가 필요했을까?2편: 실전 – 구글 앱스 스크립트로 자동 폼 만들기3편: 트리거 활용 – 완전 자동화의 완성 (현재 글)각 편은 독립적으로 읽을 수 있으며, 시리즈 전체를 따라오시면 자동화의 모든 과정을 쉽게 익히실 수 있습니다.트리거로 완성하는 완전 자동화 – 반복 업무에서 완전히 손을 떼다광고 신청 폼은 자동으로 생성되고,응답 시트는 보기 좋게 정리되며,공유용 시트도 알아서 완성된다.이 시점에서 드는 생각은 하나다."그럼 이제 이걸 매달 누가 실행하지?"사람이 버튼을 누르지 않아도매달 같은 날, 같은 시간에모든 게 자동으로 시작되면 완벽하다.이번 편에서는 그 마지막 퍼즐 – 트리거에 대해 이야기하려고 한다.1. 트리거는 자동화의 관제탑이다자동..

2편: 실전 – 구글 앱스 스크립트로 자동 폼 만들기

[반복되는 폼 자동화] 시리즈 안내1편: 도입 – 왜 자동화가 필요했을까?2편: 실전 – 구글 앱스 스크립트로 자동 폼 만들기 (현재 글)3편: 트리거 활용 – 완전 자동화의 완성각 편은 독립적으로 읽을 수 있으며, 시리즈 전체를 따라오시면 자동화의 모든 과정을 쉽게 익히실 수 있습니다.👉 다음 편이 궁금하다면 [3편: 트리거 활용 – 완전 자동화의 완성]를 확인해보세요!실전! 자동 폼 생성과 응답 처리 – 광고 신청 업무를 완전히 자동화하다“폼은 만들었고, 공유도 했는데... 시트가 또 꼬였네.”광고 신청 업무를 담당하면서 내가 가장 자주 들었던 말이다.매달 반복되는 업무지만, 그때마다 꼭 하나씩 빠지거나 어긋난다.날짜가 틀렸거나, 응답 시트가 덮여버렸거나, 보기용 파일이 빠져 있거나.작은 실수가 쌓..

1편: 도입 – 왜 자동화가 필요했을까?

[반복되는 폼 자동화] 시리즈 안내1편: 도입 – 왜 자동화가 필요했을까? (현재 글)2편: 실전 – 구글 앱스 스크립트로 자동 폼 만들기3편: 트리거 활용 – 완전 자동화의 완성각 편은 독립적으로 읽을 수 있으며, 시리즈 전체를 따라오시면 자동화의 모든 과정을 쉽게 익히실 수 있습니다.👉 다음 편이 궁금하다면 [2편: 실전 – 구글 앱스 스크립트로 자동 폼 만들기]를 확인해 보세요!반복되는 폼 작업, 왜 자동화해야 했을까?매달 돌아오는 신청 업무. 나는 늘 이렇게 시작했다.지난달 구글 폼을 복사한다.제목의 날짜를 바꾼다.질문 내용을 조금 수정한다.링크를 따서 공유한다.응답 시트를 연동하고 확인한다.처음엔 이게 빠르고 편리하다고 생각했다. 하지만 매달 반복할수록 깨달았다.이건 자동화되어야 할 일이라는 ..