# 3-3.What is Apps Script?

## 📑 Google Apps Script 소개

- **Google Workspace 전용 자동화 플랫폼**

- **JavaScript 기반** → 진입 장벽 낮음

- **클라우드 실행 환경** → 별도 서버 불필요

- **손쉬운 배포** → 웹 앱, 애드온, API 호출 지원

- **대표 활용** → 반복업무 자동화, 데이터 처리, 간단한 웹앱 구축

---

### 1. Google Apps Script란?

- Google이 제공하는 **클라우드 기반 스크립트 플랫폼**으로, 별도의 설치나 서버 구축 없이 웹 브라우저에서 바로 작성하고 실행 가능

- **Google Workspace(Gmail, Sheets, Docs, Calendar 등)** 과 밀접하게 연동 → 반복적인 작업 자동화에 최적화

- JavaScript 문법을 기반으로 하므로 웹 개발 경험이 있으면 쉽게 접근 가능

### 2. 주요 특징

1. **클라우드 실행 환경**

- 사용자가 코드를 로컬에 설치할 필요 없음

- Google의 서버에서 실행 → 확장성과 안정성 확보

2. **간단한 개발/배포 과정**

- Apps Script 에디터(웹 기반 IDE) 제공

- 클릭 몇 번으로 웹 앱, Add-on, API 엔드포인트 등으로 배포 가능

3. **Google Workspace 연동**

- Gmail 자동 응답, Google Sheet 데이터 처리, Calendar 일정 등록 등 **업무 자동화에 특화**

4. **다양한 트리거(Trigger) 지원**

- 시간 기반(매일/매주 실행)

- 이벤트 기반(시트 수정 시, 폼 제출 시 등)

5. **무료 사용 및 확장성**

- 기본적으로 무료 제공 (일일 실행 횟수 등 할당량 제한 있음)

- 필요 시 Google Cloud Platform과 연계하여 확장 가능

### 3. 대표적인 활용 사례

- **Gmail 자동화**: 특정 키워드 메일 자동 분류/응답

- **Google Sheet 활용**: 데이터 정제, 보고서 자동 생성

- **폼(Form) 응용**: 설문 결과 자동 저장 및 요약 메일 발송

- **웹 앱(Web App)**: 입력폼, 간단한 대시보드, 예약 시스템 구축

---

---

# 📑 Google Apps Script 실행 구조 & 에디터 환경

- **프로젝트 = 코드 모음집**

- **파일 종류**: 스크립트 파일(.gs), 웹 화면(HTML)

- **실행 방법**: 직접 실행 / 자동 실행(트리거) / 웹 앱 배포

- **에디터 기능**: 코드 작성, 실행, 로그 확인

---

### 1. Apps Script의 구조

- **프로젝트(Project)**: 하나의 작은 프로그램 단위, 여러 개의 파일이 들어 있음

- **주요 파일 종류**:

1. **스크립트 파일 (.gs)**

- JavaScript 문법으로 작성

- 기능(함수)을 정의하는 곳

- 예: "메일 자동 발송" 함수 만들기

2. **HTML 파일**

- 웹 화면(폼, 버튼, 결과 화면 등)을 만들 때 사용

- 예: 사용자가 이름 입력 → 시트에 저장

👉 쉽게 말해, **.gs 파일은 "두뇌(생각하는 부분)", HTML 파일은 "얼굴(보이는 부분)"** 이라고 생각하면 됨.

---

### 2. 실행 방식

1. **직접 실행**

- 개발자가 에디터에서 "▶ 실행 버튼" 눌러서 테스트할 때 사용

2. **트리거(Trigger) 실행**

- 특정 조건이 발생할 때 자동 실행

- 예: 시트가 수정되면 → 자동으로 합계 계산

- 예: 매일 아침 9시에 → 리포트 메일 보내기

3. **웹 앱(Web App) 배포 실행**

- 프로그램을 인터넷 주소(URL)로 배포해서, 누구나 접속 가능

- 예: 예약 폼, 설문 응답 페이지

👉 쉽게 말해, **"내가 직접 돌리기" / "자동으로 돌리기" / "웹으로 열어주기"** 세 가지 실행 방식이 있음.

---

### 3. 에디터 환경

- **코드 입력 창**: 프로그램을 작성하는 공간

- **실행 버튼(▶)**: 코드를 돌려보는 버튼

- **로그 확인(Console / Execution Log)**: 실행된 결과나 오류 메시지를 확인

- **디버깅(Debug)**: 코드가 어디서 잘못됐는지 추적

👉 마치 **글을 쓰는 워드(Word)** 처럼, Apps Script도 **코드를 쓰는 전용 워드**라고 생각하면 이해하기 쉬움.

---

---

# 📑 Google Apps Script 웹 앱 기본 원리

- **웹 앱 = 주소로 여는 작은 프로그램**

- **흐름**: 접속 → 화면 보기 → 입력 → 처리 → 결과 확인

- **특징**: 서버 없이, 구글만으로 가능

---

### 1. 웹 앱(Web App)이란?

- "인터넷 브라우저에서 실행되는 앱" - 예를 들어, 구글 메일, 카카오톡 웹버전 등

- 주요 특징

    - 설치 없이 인터넷만 연결되면 언제 어디서든 사용 가능  

    - PC, 모바일, 태블릿 등 다양한 기기에서 동일하게 작동  

    - 앱처럼 동적인 화면 구성과 사용자와의 상호작용 가능  

    - 업데이트가 즉시 반영되어 항상 최신 상태 유지

즉, 웹앱은 앱처럼 보이고 작동하지만, 웹사이트처럼 브라우저를 통해 접속하는 프로그램으로, 간편하고 빠른 접근이 장점인 서비스

- 구글이 서버 역할을 해주기 때문에, 우리가 직접 서버를 설치하거나 관리할 필요 없음

- 활용 사례:

    - 예약 신청 페이지

    - 간단한 설문

    - 자동으로 정리된 결과 보여주기

---

### 2. 동작 흐름

1. 사용자가 웹 주소를 클릭 → **화면 열림**

2. 화면에 입력 폼이나 버튼이 보임 → **사용자가 입력**

3. 입력된 내용이 프로그램으로 전달됨 → **처리(저장, 계산)**

4. 처리된 결과가 다시 화면에 나타남 → **피드백 제공**

👉 쉽게 말해:
**"사용자(입력) ↔ 프로그램(처리) ↔ 사용자(결과)"** 라는 왕복 구조

---

### 3. 인문학적 비유

- 웹 앱은 **도서관 사서 서비스**와 비슷

    - 방문자(사용자)가 책을 요청(입력)

    - 사서(프로그램)가 책을 찾아 처리

    - 다시 방문자에게 책을 건네줌(결과 제공)

---

For the site tree, see the [root Markdown](https://slashpage.com/lion.md).
