온라인 협업 도구로 구글 워크스페이스가 많이 쓰이고 있는 가운데 구글 스프레드시트에 대한 인기가 뜨겁다. 하지만 구글 워크스페이스에는 스프레드시트만 있는 게 아니다! 지메일, 드라이브, 캘린더, 문서, 프레젠테이션, 번역 등도 구글에서 제공하는 앱스 스크립트를 활용하면 얼마든지 내 입맛에 맞게 자동화하여 쓸 수 있다. 자바스크립트를 잘 몰라도, 어디서부터 시작해야 할지 막막해도 따라 할 수 있도록 기초부터 실무에 꼭 필요한 내용을 친절하게 설명했다. 구글 워크스페이스를 통합하고 자동화하여 좀 더 편리하게 일해보자.
저자소개
저자
다카하시 노리아키
플랜노츠 대표이사. 1976년 5월 5일 어린이날에 태어났다. 전기통신대학 대학원 전자정보학연구과 수료 후 색소폰 연주자로 활약했다. 서른 살이 된 것을 계기로 전직해 모바일 콘텐츠 업계에서 프로듀서, 마케터를 경험했다. 그러던 와중 ‘정사원이야말로 불안정’하고 ‘IT 업계에서도 IT를 충분히 활용하지 못하며’ ‘생산성보다 장시간 노동을 좋게 평가하는’ 상황에 주목하게 된다. 일본 사무직에게 필요한 일하는 방법, 생산성 향상 기법, IT 활용 기법 등에 대해 문제 의식을 갖고 2015년 6월에 독립했다.
현재 “IT를 활용해 일본의 ‘일하는’ 가치를 높인다”라는 주제로 VBA, 구글 앱스 스크립트, 파이썬 등의 프로그래밍 언어에 관한 연수 강좌, 집필, 미디어 운영, 커뮤니티 운영 등 비개발자를 위한 교육 활동을 하고 있다. 커뮤니티 ‘비개발자를 위한 스킬업 연구회’를 운영하고 있으며 블로그 ‘언제나 옆에 있는 IT 업무(いつも隣にIT のお仕事)’는 월 130만 페이지뷰를 넘을 정도로 인기가 있다.
구글 스프레드시트, 지메일, 드라이브 같은 구글 서비스는 이제 업무에서 없어서는 안 될 필수 도구입니다. 여기에 구글 앱스 스크립트를 더하면 생산성은 더욱 높아집니다. 간단한 스크립트 코드로 구글 서비스의 기능을 자동화하고 연동할 수 있습니다. 앱을 열지 않고도 캘린더에 이벤트를 등록하고, 구글 번역기로 문서를 자동 번역하는 작업이 가능합니다. 실행 환경은 브라우저에서 제공하므로 누구나 쉽게 이용할 수 있습니다. 구글 앱스 스크립트를 파악하고 실현하는 데는 많은 기술과 시간이 필요하지만 이 책 한 권으로 가능합니다. 입문자가 달인이 될 때까지 들여야 할 노력과 시간을 반으로 줄여보세요!
구글 앱스 스크립트 완벽가이드는 프로그램의 설치 없이 코딩을 할 수있는 구글에서 제공하는 스크립트 입니다. 기본적으로 구글의 워크스페이스로 다양한 사람들과 협업을 목표로 프로그램을 제공합니다 기본문법부터 8가지 구글앱에서 활용가능한 다양하게 구성을 할 수 있는 장점이 있습니다.
20억명이 사용하는 워크스페이스를 보다 효율적으로 사용을 할 수가 있는 장점이 있습니다.구글은 워크스페이스로 스프레드시트가 가장 활성화 되어 있는데 따로 제공 하는 지메일, 드라이브, 캘린더, 문서, 프레젠테이션, 번역 등도 구글에서 제공하는 앱스 스크립트를 이용하여 자동화 프로그램을 민들수 잇다는것게 놀랐습니다.
기본적으로 아무것도 배우지않았어도 천천히 따라하다보면 어렵지않게 사용법을 배울 수 있는 장점이 있습니다. 기본적으로 자바스크립트 베이스로 하기때문에 개발자와 일상적인 업무를 하는 사람도 기초적으로 코딩을 배울 수 있는 장점이 있습니다.
다양한 실습예제가 들어 있습니다 구글 앱스 스크립트 완벽가이드는 인터넷 환경만 있다면 어렵지 않게 할 수가 있고 바로바로 실습을 통해 배움을 얻을 수가 있습니다. 어렵지 않게 배우다보면 손쉽게 할 수가 있습니다. 기초문법부터 이제는 프로그램의 필요한 부분까지 세세하게 배울 수 있는 상당히 장점이 높은 프로그램 입니다.
GAS 구글앱스스크립트의 목표성은 자동화에있습니다 단순화 업무를 자동화하는것에 목표로 합니다 현재는 RPA를 통하여 자동화를 C언어로 하고 있습니다 파이썬을통하여도 가능한 세상이 왔습니다. 이제 스크립트를 통하여 자동화를 하여야 한다면 당연히 구글앱스가 세상을 지배할 것 이라고 생각합니다.
이미 일본과 미국의 경우 구글 앱스 스크립트 완벽가이드를 통하여 다양한게 구성할 수가 있는 장점이 있습니다.이제는 단순반복 업무
캘린더에 등록된 오늘 일정, 메일전송, 설문지에 응답자에게 감사 메일 자동으로 전송, 캘린더에 등록한 스프레드 시트 복사등 필요한부분을 다양하게 지원하는 만큼 구글 앱스 스크립트를 통하여 업무효율을 높여보세요.
시도해봐야지 생각만 하고 있다가 이번 기회를 틈타 정복해보려고 한다. 정복을 위한 책인 만큼 책의 두께는 좀 두껍다.... 거의 700쪽
책 뒷표지에 있는 것 처럼 구글 앱스 스크립트를 통해 이런 것들을 할 수 있다.
• 캘린더에 등록된 오늘의 일정을 메일로 전송
• 설문지 응답자에게 감사 메일을 자동으로 전송
• 캘린더에 등록된 일정을 스프레드시트로 복사
• 문서 내용을 본문으로 하여 스프레드시트의 이메일 주소 목록으로 메일 전송
• 문의 메일을 스프레드시트에 저장
생각했던 것보다 엄청나고 특히 구글클래스룸을 이용한 수업에서 빛을 발휘할 것 같은 느낌이 든다! 상호작용 되는 크롤링 느낌! 구글 클래스룸에서 가능할까?
무엇보다 챕터 3, 4, 5, 6, 7에서는 자바스크립트 기초 등 프로그래밍 기초에 대한 내용을 담고 있어서, 코드를 모르고 있던 사람도 책 한권으로 GAS를 다룰 수 있게 해준 것이 장점이다!
기본서 못지 않은 친절함...
코드에 대한 설명도, 주석달듯이 각 줄마다 설명을 추가해서 이해가 잘된다!
구글앱스스크립트는 구글워크스페이스의 능력을 업그레이드하는 무기라고 요약할 수 있는데, 업무자동화를 위한 첫번째(!) 단게라고 할 수 있다. 즉 업무자동화를 하고 싶다면 GAS가 중요한 시작이 될 수 있을 것 같다. 특히 구글 클래스룸을 포함하여 구글 스프레드시트, 설문지를 밥먹듯이 쓰는 나에게는 꼭 마스터해야 할 산인 것 같다!
평소 업무 때문에 손에 달고 사는 구글 앱스 스크립트. 계속 사용해오기는 했지만 쓰는 기능들만 사용하게 되는 것 같아서, 딱 필요했던 이 교재. 이 책을 받아보고는 생각보다 많은 내용에 깜짝 놀랐습니다. 흔히 사용하는 기능들부터 보기만 했지 사용은 안해 본 항목들까지 자세하게 담아 놓았더라구요.
솔직히 전부 다는 다 익히기 힘들었고, 많이 사용하거나 알아두면 좋을 것 같은 기능 위주로 보았습니다.
제일 많이 사용하고 있는 스프레드 시트, 지메일, 드라이브, 캘린더 기능들을 먼저 보았는데, 꽤 깊은 내용들은 더 공부해봐야 하는 숙제로 남았습니다.
그리고 평소 알고 싶었던 설문지 작성법도 자세히 나와있어서 무척 반가웠습니다. 아직 이것 까지는 못해봤지만, 조만간 천천히 따라해 보려고 합니다.
널리 알려진 기능들 외에도 외부 서비스 접속기능이나 저장소 내용, 파일형태에 대한 내용, 번역 서비스, UI 확장 등 까지 깊이 있게 다루고 있어서 부족함이 없었습니다. 프로그램에 대한 기본 지식이 있는 상태에서 보면 더 좋을 것 같은 교재라는 생각이 들구요. 다 해보지 않더라도 필요한 기능들만 유용하게 활용하기에 부족함이 없는 안내서 였습니다.
구글앱 많이 쓰나요 ? 저는 구글스프레드시트를 많이 쓰는 데요. 엑셀로 주로 문서작업을 많이 했었는 데,공유나 서로 고쳐주기 구글드라이브랑도 연동해서 편히라더라구요. 요즘 대학생들은 공유하기를 통해서 그룹으로 프로젝트를 진행하기도 하는 지 잘 쓰는 것 같아요.이 책은 사실 앱만 잘 사용한다고 해서 쉽게 하는 책은 아니구요. 역시나 그굴앱을 구성하는 텍스트 프로그래밍 언어에 대한 책입니다.
목차를 보시면 아시겠지만 기본적인 C언어나 파이썬 문법을 하신 분들 이라면 이해 하기 쉽게 되어있습니다.말 그대로 스크립트 언어를 배우는 책이구요. 저 처럼 소규모그룹들과 소통하고 서류작업이 별로 없는 이들에게는 그렇게 큰메리트가 없는 듯도하 지만 일단 스트립트 언어이니 배워두면 언젠가 써먹기는 할 테지만 말입니다. 하지만 회사에 다니거나 그룹프로젝트 같은 일들을 한다면 아주 유용하게 써먹을 수 있을 것 같아요. 일단 기본지식을 배우고 나서 간단한 기본 문법들을 배워가야 합니다.
저는 처음 알게 된 구글앱들도 좀 있어요. 이모든게 무료계정도 있고 사용료를 내고 사용해야 하는 것들도 있네요. 아무래도 돈을 내면 뭔가 더 좋을 것들이 있겠지요. 다양한 요금제들이 있는 것 같은데 아직은 잘 모르겠네요.
대표사진 삭제
사진 설명을 입력하세요.
구글 앱스 스크립 할 수 있는 일들이 많아서 신기하네요. 저처럼 혼자일을 보는 경우는 생각보다 앱스활용도가 낮아요. 하지만 그룹별로 문서를 공유할때는 저보다 어린친구들과 일하는 경우가 많아서 저도 하루가 다르게 더 많은 것들을 사용하게 되더락요. 둘러보다보니 여러가지 활용해보면 재미있을 것 같아서, 천천히 시간을 두고 읽어나가면 좋을 것 같아요 .구글앱스 스크립트(GAS)가 알아두면 일하는 데 편리한점이 많은 데, GAS를 마치 치트키 처럼 활용하면 유기적이고 효율적일 것같습니다. 제가 아는 20-30대 친구들은 구굴앱스를 많이 활용해서 그룹활동을 하기는 걸 보면 무척 편리하다고 하는데 대부부닝 그렇듯이 모든 기능들인나 스크립트를 다 알고 활용하는 건 아니니, 이렇게 대략적으로 한번 둘러보는 것만으로도 생각보다 도움이 될것같아요. 아무래도 자바스크립트를 잘 아는 분들이 사용하기는 더편하겠지요. 언어를 배울때 기본을 배우고 뒤로 갈수록 배운것의 응용이나 더 어려운 알고리즘을 배우게 되어있는 것 처럼 이책도 처음에는 기본적인 문법을 뒤로 갈면 각각에 앱에 활용되는 것들을 더 상세하게 다루고 있어요.처음에는 초보인 저도 쉽게 따라 갈 수 있을 것 같았는데 생각보다는 쉽지않아요. 뒤로 갈수록 아는 것이 많아야 완전히 이걸 배우고 다룰 수있겠구나 하는 퉅툴거림이 나오네요, 하지만 구글앱스를 활용해서 많은 일들을 하고있고 기본적으로 프로그램언어를 이해하고 사용할 수 있다면, 특히나 자바스크립트를 잘 다루시는 분들이라면 많은 도움을 받을 수 있는 책입니다.페이지수가 좀 되서 처음에는 기죽는다고 해야 하나요. 그래도 한번쯤은 봐볼만 한 책인것 같아요.
한빛미디어에서 출간한 <구글 앱스 스크립트 완벽 가이드> 책 한 권으로 GAS가 무엇인지부터 사용되는 각종 문법, 지메일 또는 캘린더 등의 앱에서 어떤 식으로 활용할 수 있는지에 대해 익힐 수 있기 때문에 업무 또는 일상에서 각종 구글 앱을 사용한다면 꼭 한번 읽으며 공부해 보면 좋을 것 같습니다.
1~2챕터에서는 구글 앱스 스크립트가 무엇인지 그걸 어떤 식으로 사용할 수 있는지에 대해 알려주는데요. 구글 앱스 스크립트의 경우 자바스크립트 기반으로 자바스크립트를 익히신 분들에게는 학습하는데 큰 어려움은 없을 것 같아요. 다만 완벽히 자바스크립트와 똑같지는 않기 때문에 다른 점에 대해서는 확실히 짚고 넘어가야 합니다.
GAS에서 사용되는 자바스크립트 문법들은 3~7챕터에 걸쳐 자세히 설명해 주니까 자바스크립트를 잘 다룰 줄 알더라도 가볍게, 혹은 자바스크립트가 너무 낯설다면 꼼꼼히 읽으며 학습해야 해요.
8챕터부터는 구글에서 제공하는 다양한 서비스들마다 GAS를 어떤 식으로 적용하고 사용하는지에 대한 설명들이 기재되어 있습니다. 구글의 서비스들을 코드 몇 줄로 어떻게 더 편리하게 사용할 수 있는지에 대한 예시가 자세히 쓰여있으므로 이 중에서 나한테 필요하다고 생각되는 부분만 우선적으로 학습해도 좋을 거 같아요.
저는 개인적으로 구글 캘린더와 구글 설문지에서 GAS를 이용해 조작하는 방법이 가장 눈길이 갔는데요. GAS로 캘린더를 조작하는 방법을 잘 익힌다면 지메일로 수신한 메일에서 바로 이벤트를 캐치해 구글 이벤트에 등록할 수 있고 아니면 캘린더의 이벤트 내용을 바로 구글 문서에 쓸 수 있다는 게 참 편리한 것 같았습니다. 또한 가끔 구글 설문지에 응답하다 보면 제대로 제출이 되었겠지? 하는 의심(?)이 들 때가 있는데요 GAS를 사용해 응답자에게 제출이 잘 되었다는 알림 메일을 자동으로 보낼 수도 있다는 걸 처음 알았어요 ㅎㅎ
이처럼 구글 서비스들을 더 똑똑하게 사용할 수 있기 때문에 구글 앱스 스크립트 GAS만 제대로 익힌다면 일잘러 또는 갓생러가 될 수도!? ㅎㅎㅎ
구글의 다양한 서비스를 업무 또는 일상에서 자주 사용하는 분들이라면 한 번쯤 이 책을 통해 GAS에 대해 학습하고 조금씩 연습하면서 나만의 구글 자동화 시스템을 만들어 보시길 추천합니다!
** 본 리뷰는 한빛미디어 <나는 리뷰어다> 리뷰어 활동으로 도서만을 제공받아, 리뷰어의 주관적인 견해로 작성된 리뷰입니다. **
구글이 제공하는 다양한 기능들을 사용해 왔지만 공부를 해봐야겠다는 생각을 했던적은 없었던것 같다. 파워포인트나 엑셀과 비슷한 기능을 이용해서 문서작성만 간단히 하고 그 이상을 활용해본적은 없었다. 그래서 이책에서 보여주는 다양한 스크립트를 활용해서 기능을 사용할수 있다는 것을 처음 알게 되었다.
우선 이 책은 600 페이지가 넘는다. 총 23개의 챕터로 이루어져 있는데 목차를 살펴보면 스크립트 관련 내용이 많다. 자바 스크립트와 비슷한 형태이지만 분명 차이점이 있는 언어이다. 그렇기 때문에 프로그래밍을 하거나 자바스크립트를 할줄 아는 분들은 쉽게 이해를 할수 있을 것이다. 그리고 모르는 분들도 책 내용에 처음부터 끝까지 언어에 대한 설명과 예제를 보여주고 있으니 부담 갖을 필요는 없다.
이런 사전 지식들이 바탕이 되어서 다음 챕터들에서 나오는 지메일이나 스프레드시트, 드라이브등 구글의 서비스들을 스크립트를 통해서 조작이 가능해진다.
책을 읽으면서 느꼈던 점은 스크립트를 통해서 어떻게 조작하느냐도 중요하지만 이런 것들을 어떻게, 또는 어떤 부분을 자동화해서 편하게 사용할수 있을지를 더 고민해 봐야겠다는 생각을 했다.
개인계정으로 구글을 사용하고 있고, 회사에서도 구글 계정으로 g-mail, 캘린더, Google meet 등 Google Workspace를 사용하고 있다.
이 책은 이런 구글 서비스들을 자동화하고 서로 연동하여 사용할 수 있도록 해주는 구글 앱스 스크립트(Google Apps Script : GAS)의 문법과 활용법을 설명한다.
Google Apps Script는 Google Sheets, Google Docs, Google Forms를 비롯한 Google Workspace(이전의 G Suite) 제품을 맞춤설정하고 자동화할 수 있는 스크립팅 플랫폼이다. Google Apps Script를 사용하면 맞춤 함수와 매크로를 만들고, 웹 애플리케이션을 구축하고, Google Workspace 제품 내부 및 제품 간에 작업을 자동화할 수 있다.
GAS로 할 수 있는 것들
Google 시트에서 데이터 분석 또는 데이터 입력과 같은 반복 작업 자동화
Google 시트, 문서 및 양식에서 사용자 정의 메뉴, 대화 상자 및 기타 사용자 인터페이스 요소 만들기
외부 API 및 데이터 원본에 연결하여 Google Workspace 문서로 데이터 가져오기
Google Workspace 응용프로그램에서 전자 메일 및 텍스트 메시지 보내기
Google Forms를 사용하여 사용자 정의 양식 및 설문조사 작성
Google Apps Script는 자바스크립트와 거의 동일하지만 지원하는 것은 코어자바스크립트와 3가지 서비스만 지원한다.
이 책에서는 초보자를 위해 자바스크립트의 기본 문법을 설명하는데 이 부분은 건너뛰고 활용부터 봐도 괜찮을 것 같다. 그리고 단순한 예제보다는 코드의 양이 많더라도 바로 유용하게 쓸 수 있는 예제를 제공하는 것이 GAS를 쓰는 동기 부여가 되기 빼문에 더 좋을 것 같다.
그리고 가장 중요한 것은 서비스가 자주 업데이트 되기때문에 구글 사이트의 관련 자료를 보는 것을 추천한다.
구글 앱스 스크립트(GAS, Google Apps Script)는 구글이 제공하는 스프레드시트, 지메일, 드라이브, 캘린더, 문서, 프레젠테이션 등의 구글 서비스들을 자동화하고 연동할 수 있는 스크립트이다. 스프레드시트에서 테이블을 만들고, 지메일에서 알림 메일을 보내고, 드라이브의 폴더나 파일을 정리하고, 캘린더에 이벤트를 등록하고, 문서로 회의록 템플릿을 만들어 번역하는 등의 작업을 프로그래밍으로 할 수 있다. 무엇보다 중요한건 이러한 GAS를 사용하는데 서버나 환경 등을 구글이 모두 제공하며, 누구나 무료로 이용할 수 있다고 한다.
제 1장에서는 구글 앱스 스크립트 기본지식을 제공하고, 2장에서는 스크립트 편집기와 대시보드 기능들을 설명한다. 3장에서는 기본 문법에 대해 다루며, 4장에서는 제어문을 설명한다. 일반적인 프로그래밍 언어를 설명하는 책과 동일하다. 5장에서는 함수, 6장에서는 클래스와 객체, 7장에서는 자바스크립트의 내장 객체를 다룬다. 이후 부터는 구글의 서비스들을 직접 다뤄볼 수 있다. 8장에서 스프레스시트, 9장에서 지메일, 10장에서는 드라이브, 11장은 캘린더, 12장은 문서, 13장은 프레젠테이션, 14장에서는 설문지 등 다양한 서비스에 대해 다룬다.
우선 구글 앱스 스크립트는 자바스크립트 기반의 언어이다. 또한 철저히 클라우드 기반 환경을 지향한다는 것이 특징이다. GAS를 사용하려면 구글 계정, 웹브라우저, 인터넷 연결 가능한 PC 이 세가지만 있으면 된다고 한다. 구글이 정말 대단하다고 느낀 점은 구글의 서비스를 조작할 수 있는 스크립트 언어까지 나왔다는 사실이다. 또한 그러한 스크립트 언어를 배울 수 있는 책까지 나오다니. 앞으로 이 스크립트 언어를 통해서 유저들이 어떠한 유익한 서비스를 개발해낼지 기대가 된다. 여기서 제일 중요한건 무료로 배포했다는 점이다. 이제껏 발전한 서비스나 기술들을 보면 무료로 배포했다는 점이 한 몫했던 듯 하다. 책에서 설명도 비전공자도 쉽게 이해할 수 있도록 설명되어있어서 좋고, 다양한 구글 서비스들을 직접 연동할 수 있도록 상세한 설명 페이지도 담고 있으니, 구글 앱스 스크립트에 대한 모든 것들이 궁금하다면 이 책을 적극 추천한다.
구글 드라이브와 스프레드시트 정도는 이제 웬만한 이들은 다 경험을 해 봤으리라. 그저 그냥 단순한 오피스 기능 정도로만 알았는데 이 책을 통해 별 기능이 다 있다는 걸 알게 된다. 클라우스 서비스가 어디까지 진화할 수 있는지도 생각해 보게 된다. 자동화 기능은 흥미롭지만 실무에서 얼마나 사용할까 싶기도 하다. 언제나 그렇듯 웹베이스 라는 태생적 한계는 사용자 환경이나 솔루션의 AS를 기대할 수 없다는 한계가 있다. 그런 의미에서라도 레퍼런스로 한 권 소장해도 괜찮을 듯 싶다.
책은 잘 쓰여졌다. 설명도 아주 친절하고 중요한 키워드는 색을 강조해 놨다. 엄청난 두께의 분량인데 편집자 수작업이 엄청났을 텐데 고생 많이 했겠다.
3~5장은 자바스크립트 기초부분인데 굳이 넣을 필요가 있었을까 하는 생각도 든다. 책 두께를 줄였으면 어땠을까 싶다. 개인적으로 지하철에서 책을 종종 보는 편인데 책이 무거우면 들고 나갈 엄두가 나지 않기 때문이다.
정리하면 책 자체는 나무랄 곳이 없다. 구글 서비스를 자주 이용하는 사람이라면 거의 필수 완비해야하지 않을까 싶도록. 내용도 좋고, 편집도 아주 좋으나, 두껍다는 것이 아쉽다.
구글 앱스를 자주 사용하는 사람이라면, 한번쯤 도전해볼만 하다. 나만의 자동화 프로그램이 가지고 싶다면 도전! 좋은 앱들을 더 좋게 사용할 수 있는 방법이 무료라면, 솔직히 한번쯤은 해보는게 이득이지 않을까? 반복된 작업을 좀 더 효율적으로 쓰고싶은 사람들에게 권유해주고싶다. 자바스크립트를 잘 다루는 사람들이라면, 더 쉽게 적응하고 금방 잘 사용할 것 같다.
구글 앱스의 존재를 알게 된 건 얼마 되지 않았다. GAS(Google Apps Script). 어떤 원리로 구동하는지 궁금했었는데 좋은 기회를 얻을 수 있었다. 자바스크립트를 모르면 입맛대로 제어할 수 없다는 단점이 있다는 것도 알았고 자동화라는 매력적인 프로세스를 개인화시킬 수 있다는 것도 알 수 있었다.
구글 앱스로 뭘 할 수 있는가
구글의 각종 서비스는 기본적으로 온라인상태에서 활용하는 것을 전제로 하고 있다. 그리고 IT에 종사하지 않더라도 구글의 각종 프로그램들은 이제 일반적인 툴에 속한다고 생각된다. 이런 일반적이라 생각되는 영역까지 자리 잡은 구글의 각종 서비스를 내가 원하는 방식으로 조작할 수 있다면 어떨까? 이메일, 캘린더, 스프레드 시트, 드라이브를 내가 원하는 방식으로 제어할 수 있다는 건 대단한 거 아닌가? 이런 대단한 것들을... 다루기 위해선 그만큼 시간과 바른 지식이 필요할 텐데 구글 앱스 스크립트 완벽가이드는 딱 좋은 가이드 북이 아닐까 생각된다.
구글 앱스 스크립트 완벽가이드
웹에서 움직이는 세상의 거의 모든 툴들이 자바스크립트로 움직이고 있는 것 같다. 스크립트를 알면 이것저것 정말 많은 일들을 할 수 있는데 구글에서 제공되는 스프레드 시트, 지메일, 드라이브, 캘린더, 문서, 프레젠테이션, 설문지에 번역까지 다양한 앱을 활용할 수 있게 된다.
구글 앱스 스크립트 완벽가이드의 전반부는 자바스크립트에 대해 다루고 있다. 자바스크립트 서적이라 해도 이상하지 않을 것 같았다. 전반 자바스크립트 파트가 정리되고 드디어 구글 앱스를 시작하게 되는데 이건 또 다른 세상이다. 완벽가이드라는 제목에 걸맞게 대표적인 구글의 서비스를 구글 앱스로 제어하는 방법들을 자세히 다루고 있기 때문에 각종 스크립트가 난무하며 구글의 앱을 조절가능한 세세한 설정들의 열거는 읽는 사람을 지치게 만드는 경향도 있다.
구글 앱스 스크립트 완벽가이드는 가이드 북인만큼 원론적인 내용들로 이루어져 있다. 따라서 응용과 관련된 내용은 다른 정보를 사용하면서 구조나 원리를 이해하고 싶을 때 구글 앱스 스크립트 완벽가이드를 펼쳐보면 좋을 것 같다. 책을 따라 하면서 해보는 것도 좋지만 어떤 식으로 동작하는지 궁금한 하기 페이지의 코드를 그대로 복사해서 적용해보면 동작 원리를 이해할 수 있을 거라 생각된다.
공식 사이트에서 제공하는 퀵 가이드를 따라해 보면, 작동 방법에 대해 빠른 이해가 가능할지도 모르겠다.
https://script.google.com/ 에서 제공되는 코드를 복사해서 붙이고 실행
스크립트를 실행시키면 메일 함에 메일이 들어온다메일함에는 자동으로 생성된 파일의 링크가 딸려온다.링크를 열어보면 짜~잔.
이러한 메일을 보내면서 문서까지 생성시키는 과정을 스크립트 몇 줄로 해결 가능하다는 것을 알 수 있다. 이 샘플 프로세스를 보고 각종 아이디어가 떠오른다면 주저 말고 책을 봐야 할 사람이 아닐까.
후기
구글 앱스 스크립트 완벽가이드의 전반부, 아니 과반수를 자바스크립트에 대해 다루고 있어서 읽으면서도 자바스크립트 관련 서적인가 착각이 들었다. 또한, 구글 앱스를 통해 업무와 관련된 것들은 자동화, 통합하는 등 나만의, 또는 소규모의 설루션을 구축할 수 있다는 장점은 이해할 수 있었지만... 개인적인 생각이긴 하나 어지간한 작업이 아니라면 큰 효용성은 느끼지 못할지도 모르겠다.
하지만, 실제로 비즈니스에서 사용될 여러 상황들을 고려한다면 효용성은 분명히 있겠다. 폼을 만들고 자동화시켜서 정보들을 엑셀로 저장하고, 엑셀의 정보를 기준으로 프레젠테이션 자료를 만들고 간단한 번역까지 자동화시키고 이걸 기간에 맞춰 자동으로 이메일로 보고서를 받아 볼 수 있게 만들 수 있다면? 이런 식으로 보고서 작성이나 데이터를 주로 다루는 업무라면 상당히 많은 도움을 받을 수 있을 것이라 생각된다.
구글이 제공하는 프로그래밍 언어인 GAS를 통해서 지메일, 구글 스프레드시트, 구글 캘린더, 구글 드라이브, 구글 번역 등 구글이 제공하는 다양한 애플리케이션을 조작할 수 있습니다.
저는 제가 주로 사용하는 구글 스프레드시트와 구글 번역기 중 구글 스프레드시트의 장을 집중적으로 읽어보았습니다. GAS 언어는 자바 스크립트에 기본하고 있기 때문에 자바스크립트를 알아야 합니다. 자바스크립트에 대한 내용은 책의 내용에 같이 다루고 있어서 편하게 같이 볼 수 있었습니다.
구글 스크립트를 열고 Hello World와 같이 기본적인 출력을 해 보는 시간을 먼저 가질 수 있습니다.
스크립트 편집기는 구글 스프레드시트와 같이 자동 저장을 지원하지 않는다고 합니다. 그래서 수동으로 저장을 해야 한다고 합니다.
스프레드시트에서 만들고 저장한 스크립트는 스프레드시트 메뉴의 [도구] -> [스크립트 편집기] 에서 다시 편집할 수 있다고 합니다. 작성한 스크립트 실행시에는 툴바에서 실행을 클릭하거나 Ctrl + R 또는 Command + R 키를 눌러서 실행할 수 있습니다.
7월 한빛출판사의 '나는 리뷰어다'에서 선정된 도서는 '구글앱스 스크립트 완벽 가이드'입니다.
이 책에 대한 소감을 한마디로 정리하자면 '구글 앱스 스크립트를 애용하는 사람에게 사전과 같은 책'입니다.
이전부터 구글의 다양한 문서시스템이나 기능을 사용하고 있었지만 3년 전 구글을 주 업무시스템으로 사용하는 회사에 입사하게 되면서 구글스프레드시트를 이용한 업무 자동화에 매우 큰 관심을 갖게 되었고 현재도 매우 잘 활용하고 있습니다만 기능이 필요할때마다 검색해보고 그것도 구글스프레드시트에 한정되어 사용하면서 생겼던 답답함을 어느정도 해소할 수 있었습니다.
책의 구성을 보면
Chapter1. '구글 앱스 스크립트 기본지식'에서는 구글앱스에 대한 기본적인 지식을 전달하고 있습니다. 구글 서비스와 기반 언어 등에 대해 설명하는 챕터이고 양도 그리 많지 않으니 가볍게 읽고 넘어가도 괜찮을 것 같습니다.
Chapter2. '스크립트 편집기와 대시보드'에서는 편집기와 대시보드를 어떻게 다뤄야 하는지를 얘기하고 있습니다. 저 역시 그랬습니다만 많은 이들이 문서에서 'Google Apps Script'메뉴를 이용해 편집기에 들어오기 때문에 편집기에는 익숙하더라도 대시보드에는 익숙하지 않은 경우가 많고 로그나 디버그에 대해 신경을 쓰지 않는 경우가 많지만 스크립트에 대한 전체적인 파악을 위해서 대시보드도 활용도가 상당하고 디버그나 로그는 힘들게 말할 필요가 없을 만큼 중요한 영역이니 놓치지 말고 읽어보셨으면 하는 영역입니다.
Chapter3. '기본문법'과 Chapter4. '제어문', Chapter5. '함수', Chapter6. '클래스와 객체', Chapter7. '자바스크립트의 내장객체'는 GAS에서 사용하는 문법을 다루고 있습니다. 자바스크립트를 기반으로 하기 때문에 자바스크립트에 익숙하신 분이라면 굳이 이걸 봐야하나 싶을 정도로 유사합니다만 자바스크립트와 완벽하게 동일한 언어는 아니기 때문에 가볍게 한번 훑으시는 것도 괜찮을 것 같습니다. 또한 자바스크립트를 모른다고 하더라도 그리 어렵지 않게 받아들일 수 있으니 하나씩 따라 하다보면 익숙해질 수 있습니다. 다만, 이 내용이 너무 많은 양을 차지하기 때문에 자바스크립트에 익숙한 저로서는 시간이 아깝다는 생각이 들기도 한 챕터입니다.
Chapter8. '스프레드시트', Chapter9. '지메일', Chapter10. '드라이브', Chapter11. '캘린더', Chapter12. '문서', Chapter13. 프리젠테이션, Chapter14. '설문지', Chapter15. '번역'은 각각의 서비스에서 사용할 수 있는 클래스, 메서드와 더불어 각 서비스의 특성에 맞는 기능을 설명하고 있습니다. 제가 앞에서 '사전'과 같은 책이라고 표현한 것은 이 챕터와 뒤에 나오는 공통 영역에서의 클래스, 메서드때문에 그렇게 표현한 것입니다.
Chapter16. 'Base서비스'는 GAS의 모든 영역에서 호출이 가능한 Base에 대한 설명으로 어디서나 사용하는 console 클래스를 생각하시면 편할 것 같습니다.
Chapter17. '사용자 인터페이스'는 UI에 대한 내용을 담고 있습니다. 다이얼로그는 기존부터 계속 다뤄왔던 부분이라 새로울 것이 그닥 없었습니다만 Menu작성은 매유 새롭기도 했습니다. 이 영역을 잘 응용한다면 아주 효율화된 구글 문서를 만들 수 있지 않을까 싶습니다.
Chapter18. '파일과 데이터 조작', Chapter19. 'Utilities 서비스', Chapter20. 'Properties 서비스'는 Base서비스나 UI와 마찬가지로 GAS의 모든 영역에서 사용할 수 있는 서비스들에 대한 설명입니다. 저같이 특정 서비스에서 업무 자동화를 목적으로 사용해오신 분들에게는 자동화 또는 효율화를 한층 업그레이드 시키고자 할 때 이 영역을 참고하시면 많은 도움이 되지 않을까 싶습니다.
Chapter21. '이벤트와 트리거'는 매우 유용한 기능이고 특히 대량의 데이터를 다루는 작업을 자동화 할 때 개인적으로 매우 유용하게 사용하는 기능입니다. 다만, 심플 트리거만 사용하고 있었고 심플 트리거의 조합을 이용해 자동화를 시킨 입장에서 조금 더 발전시킬 수 있지 않을까 하는 기대를 해보고 있습니다.
Chapter22. '외부 서비스 접속'에서는 다양한 웹의 데이터를 가져오는 내용에 대해 설명하고 있습니다. 이것을 잘 이용한다면 업무중 활용되는 데이터중 일부를 쉽게 끌어올 수도 있을 것으로 생각됩니다.
Chapter23. '라이브러리'는 제가 불편해하던 영역에 대해 시원하게 해결을 해준 챕터였습니다. 시간 처리나 DB 접속처럼 자주 사용하는 스크립트를 그동안 파일 하나를 만들어서 거기에 집어넣어서 보관하고 새로 만든 스크립트 파일에서 필요한 내용이 있다면 복사하는 방식을 사용해 왔는데요 라이브러리를 이용해 굳이 번거롭게 그런 작업을 할 필요가 없었습니다.
아무래도 대부분 언어 기초와 각 서비스별 클래스, 메서드 설명이 주를 이루기 때문에 재미있는 책이라고 말씀드리기는 어려울 것 같습니다. 다만, 항상 옆에 두고 인덱스를 해두고 언제든 필요할 때 찾아보기 너무나 좋은 책이라는 생각이 들었습니다.
나 또한 MS로 자동화를 하고 있지만, 이번에 구글 앱스 책이 나오면서 구글에 대한 자동화를 전반적으로 살펴보고 싶었다.
이전에 '일잘러의 비밀, 구글 스프레드시트 제대로 파헤치기 책'도 읽었지만, 이번에는 구글 생산성 앱들의 자동화에 좀 더 포커스를 두고 있다고 생각하면 좋을 것이다.
구글 서비스 전반적으로 서비스간 연결은 API로 한다. 구글 앱스도 마찬가지로 자바스크립트를 이용해서 자동화를 구축한다.
자동화에 대한 이야기를 하면, MS가 좋아요, 구글이 좋아요란 질문을 많이 받는다.
제 생각에는 현재 자신이 처한 환경에 맞게 선택하는 것이 좋다고 본다. 구글이 소스 코드 제어가 많고, MS가 클릭 위주로 자동화로 할 수 있는 것이 많지만, 양쪽 다 단점과 한계가 존재한다. 그래서, 앞으로 전반적으로 구글 웍스 환경에서 회사가 일을 한다면, 이번에 구글 앱스 관련 자바스크립트를 배우는 것이 좋겠다.
로우 코드로 자동화를 하려고, 회사의 환경을 자신이 바꿀수는 없을테니 말이다. 그런데, 이책에 나오는 자바스크립트 정도를 배우면, 나중에 MS의 자동화 툴에서도 요긴하게 활용할 때가 있다. 물론 좀 더 복잡한 고급 기술 응용이기는 하지만, 저도 가끔 이렇게 중간 중간에 소스 코드로 자동화하였어요...
이 책은 전반부에는 자바스크립트 내용을, 후반부에는 각 스프레드시트, 메일, 캘린더, 문서 , 드라이브, 프레젠테이션 의 클래스와 메소드 및 그 사용법을 이야기한다.
먼저 구글 앱스 스크립트 전반적을 설명을 한다. 편집툴과 대시보드 사용법에 대해서 이야기하는데, 그냥 슬쩍슬쩍 따라해보면 좋다. 간단하지만, 손으로 익힌 것과는 눈으로 익힌 것은 나중에 차이가 난다.
다음으로 자바스크립트 이야기를 하면, 적당한 설명과 쉬운 예제라고 할 수 있다. 언어를 처음 배우는 사람도 어느 정도는 따라할 수 있다. 시중에 이보다 더 쉽고 더 많은 해설이 있는 자바스크립트 책들도 있지만, 처음에는 이 정도 선상에서 따라하면서(스크립트를 직접 타이핑하면서 확인해보는) 공부하는 것도 좋다고 본다. 이 책도 좀 모자란다고 생각하면, 나중에 좀 더 내용 설명이 많은 책을 선택하면 된다.
자바스크립트를 공부했더라도, 최신 이론을 잘 모른다면 이 책을 가볍게 읽어 보는 것도 좋다. 최신, 예를 들면 화살표 함수 라던가... 나도 모르는 설명과 팁들이 있어서 책에 형광펜으로 칠해두었다.
이렇게 자바스크립트 공부를 끝내고 나면, 본론이 나온다.
후반의 각 서비스 공부는 필요할 때 그때그때 찾아서 본다고 하는 것이 옳겠다.
각 서비스의 구조가 조금씩 다르므로, 클래스로 전체 모양을 그린다음에, 각 필요한 기능들을 메소드를 보면서 익혀야 하기 때문이다.
책이 700페이지 정도여서, 일단 스프레드시트 정도 공부해보았다.
메일, 드라이브 정도 살짝 보았는데, 구체적 내용은 다르지만, 전개는 비슷하였다.
스프레드시트(MS 엑셀 같은 것)가 40페이지 정도 되는데, 클래스의 주요 멤버들을 보여주지만, 모든 멤버들의 실습 예제는 제공해주지 않는다.
멤버와 반환값, 설명을 보고, 이해해야 한다. 물론 주요 멤버는 살짝 예제로 언급한다.
문제는 이 책의 예제 정도라면, 기초적인 스프레드시트의 자동화는 가능하다.
그것은 다른 RPA 툴 책들을 보아도 비슷하다. 가끔 예제 위주의 책인 경우, 더 깊숙하게 자동화를 전개하지만, 그 정도 실력이 되려면, 자동화만 2년 정도 다루어야 스스로 할 수 있다.
우리가 막연하게 생각하는 자동화, 매크로 정도 하려면, 사실 이 책의 예제보다 더 많은 것들을 알아야 한다.
엑셀 매크로 책의 경우 1000페이지에 달하는 내용으로 설명한다. 문제는 그 이후, 여러 클래스의 통합 내지 응용은 또다른 문제라고 봐야 한다.
그래서 완벽 가이드란 말에 스프레드시트를 자유자재로 다루는 정도는 아니라는 것에 유의할 필요가 있다.
그렇게 할 수 있는 기초 지식을 어느 정도까지 공부해야 하는지 파악하는 정도라고 보는 것이 좋다.
그러므로, 이 책으로 구글 앱스 스크립트 전체적인 개관을 파악하고, 필요할 때마다 찾아서, 각 서비스를 어느 정도 파악하고, 온라인에서 더 깊은 내용을 공부하는 것이 좋다고 본다.
마지막으로 이 책으로 구글 앱스 전체적인 자동화 흐름을 파악한 것은 이 책을 읽기 전보다 더 나은 효용을 얻게 되었다고 말하고 싶다.
지메일, 스프레드시트, 지드라이브, 슬라이드, 구글 캘린더 등 "구글 워크스페이스"는 전세계 직장인들이 하나 이상은 필수적으로 사용하고 있습니다.
대부분의 애플리케이션이 그러하듯이, 모든 사람들이 개발자는 아니기 때문에, 쉽게 조작할 수 있는 인터페이스를 만들어뒀죠. 뒤에서는 프로그래밍 코드가 돌아가지만요.
하지만, 모든 기능을 구현해놓을 수는 없죠! 즉, 그만큼 자유도가 떨어진다는 뜻입니다. 아무 예시나 들어보자면, "1분 뒤에 메일 보내기", "2분 뒤에 메일 보내기" 이런 식으로 만들 수 없다는 거죠.
하지만 구글에서는 구글 앱스 스크립트를 사용해서 워크스페이스를 마음대로 커스텀 할 수 있게 해뒀습니다!
그리고 이 책은 구글 앱스 스크립트의 문법부터 워크스페이스 기능 활용 방법까지 아주 상세하게 다루고 있지요.
코딩을 꼭 할 줄 알아야 하나요?
결론부터 말씀드리자면, 꼭 그렇지는 않습니다. 왜냐하면 일단 이 책이 기본 문법부터 다루고 있기 때문입니다.
GAS(Google App Script)라는 게 사실 자바스크립트나 파이썬 같은 범용적인 프로그래밍 언어가 아니고, "구글 제품과 관련 지원 제품을 위해서" 만들어졌기 때문에, 처음부터 알려줄 수밖에 없기 때문이죠.
자바스크립트와 매우 닮아있지만, 엄연하게 다름을 강조하고 있습니다. 코어한 부분은 같으니 프로그래밍 언어를 알면 빠르게 익힐 수는 있겠지만요.
코딩을 한 번 배워보고 싶었다면 오히려 좋은 기회일 수 있습니다. 자바스크립트나 파이썬을 배워도 실무에서 쓸 일이 없다면 금방 잊어버릴텐데요. 구글 워크스페이스는 아주 일상적으로 사용하기 때문에, 구글 앱스 스크립트를 배우면 바로 써먹을 수 있습니다. 그래서 꼭 개발자나 코딩에 익숙하지 않은 분들에게도 추천합니다.
활용할 때 좋았던 디테일
설명에는 예제가 반드시 붙어있습니다. 실제로 그대로 따라서 써볼 수 있지요. 그리고 이해를 돕는 그림도 적절하게 사용하고 있습니다.
지루하게 흰 바탕 검은 글씨 아니구요. 주요 어휘와 문장에는 강조처리가 되어있어서, 휘리릭 훑을 때도 편리합니다. 거의 모든 문단 마다 주의점이나 추가 설명이 필요한 경우 'note'를 따로 써두어서 꼼꼼함도 챙겼습니다.
책 자체가 찾아보기 부분까지 합치면 약 700페이지에 달하는데요. (크기가 손바닥 두 개만 해서 더 두꺼워진 것도 있는 거 같습니다.) 제목 '완벽 가이드'처럼, 정말 디테일하게 모든 정보가 들어있습니다. 이 한 권만 있으면 어느 정도 기본 문법 익힌 뒤에, 워크스페이스 앱에 적용해보고, 필요할 때 찾아보기도 좋습니다.
구글 워크스페이스를 사용하면서 좀 더 입맛에 맞게 커스텀 해서 써보고 싶었다거나, 자동화를 해보고 싶다면, 구글 앱스 스크립트와 이 책을 추천합니다.
구글을 사용하지않는 사람은 없을 것입니다. 많은 사람들이 구글에서 매일 원하는 정보를 검색하며 지메일로는 소통을, 구글캘린더로 일정을 관리하고 구글스프레드시트와 구글문서로 웹에서 편리하게 문서작업을 하는 일과를 보내고 있습니다. 구글앱에서 좀 더 편리하게 활용하고싶은 분들을 위한 한 권으로 끝낼 수 있는 가이드북 <구글 앱스 스크립트 완벽가이드>의 리뷰입니다.
저자는 구글앱스(Google Apps)를 구글에서 제공하는 애플리케이션 그룹으로 설명합니다. 구글 워크스페이스 서비스는 여러 서비스가 있지만 책에서는 스프레드시트, 지메일, 드라이브, 캘린더, 문서, 프레젠테이션, 설문지, 번역만 설명합니다.
좋았던 점
1. 시작하기 좋다.
GAS 개발의 준비물을 1. 구글계정 2. 웹브라우저 3. 인터넷을 연결할 수 있는 PC 로 소개합니다. 구글을 활용하는 누구나 책만 읽으면 할 수 있다는 자신감을 주는 점이 좋았습니다. 실습도 스크립트편집기를 구글 스프레드시트에서 사용할 수 있어서 접근성이 좋았습니다.
2. 예제 소스로 바로 실습할 수 있다.
한빛미디어의 책들은 대부분 예제소스를 제공하기에 공통적인 장점입니다. 자바스크립트가 처음이여서 구조나 문법에서 막힘이 있을까 걱정했는데 홈페이지의 링크를 타고 들어가서 활용할 수 있었습니다. 직접 타이핑치고 에러난 부분을 계속 고치려면 상당한 시간이 더 걸렸을 것입니다.
3. 자바스크립트의 기초를 설명해준다.
후반의 실습코드말고도 3~7장까지 자바스크립트에 친숙해질 수 있도록 해줍니다. 별도로 자바스크립트의 공부를 마치고 책으로도 돌아오지않고 한 권으로 끝낼 수 있습니다. 처음 책을 봤을 때는 두껍기도 하고 후반부가 어려워보여서 겁을 먹었는데 차분히 읽고 따라하면 후반부 실습도 도전할 수 있습니다.
후기
자바스크립트 기반인 구글 앱스 스크립트 (Google Apps Script, GAS)를 소개하고, 구글앱스를 효율적으로 활용할 수 있도록 책에서 소개하고 있습니다.
앞부분에는 자바스크립트에 대한 이해를 높여주고 이후에는 구글에서 활용할 수 있는 스프레드시트, 지메일, 드라이브, 캘린더, 문서, 프레젠테이션, 번역과 같은 서비스에서 활용할 수 있도록 구성되어 있습니다.
다양한 실습 예제와 그림을 통해서 자바스크립트의 개념을 알려줍니다. 단순히 예제만 있으면 이해하기 어려운데 그림과 함꼐 해당 실습의 설명을 해줘서 이해하기가 쉽습니다.
구글은 무료로 누구나 사용가능하다는 장점이 있고, 개인뿐만 아니라 회사에서도 많이 활용됩니다. 평소의 업무자동화에 관심이 있는 분들께서 읽어보시길 권장합니다.
현대인에게 Google의 서비스는 필수적이며, 거의 대부분의 사람들이 매일 몇 개 이상의 구글 서비스를 이용 중이다. 나의 경우 Gmail부터 시작해서 Youtube, Drive는 매일 사용 중이며, 종종 Maps, Docs, Sheets, Slides도 사용하고 가끔씩 Google Earth도 사용한다. 사실 일반인이 구글 서비스를 활용하는 패턴은 위와 같이 거의 비슷할 것이다. 하지만 구글을 개인적인 차원을 넘어 좀 더 본격적으로 사용하기에는 위의 서비스에는 한계가 있다. 기업이나 기타 조직의 경우 가장 중요한 것 중 하나는 여러 사람들이 함께 사용할 수 있는 ERP 및 그룹웨어 서비스일 것이다. 규모를 떠나 이미 자리를 잡은 기업은 어차피 쓰고 있는 툴이 있을테니 이 책의 주제인 Google Apps Script와는 전혀 상관이 없을 것이다. 새로 시작하는 팀의 경우에는 어떤 서비스를 기반으로 시작할지 많은 고민이 될텐데, SAP처럼 글로벌 1위 솔루션이 있지만 소규모에서 그런 비싼 솔루션을 사용하기에는 비용 면에서도 큰 부담이기도 하고, 해당 기능을 익히고 관리하는 인력을 가지는 것 자체도 부담이 될 것으로 보인다. 무엇보다 회사 차원이 아닌 사내의 작은 조직이나, 프로젝트를 위해 꾸려진 서로 다른 소속의 사람들이 모이는 경우에는 무거운 솔루션을 도입하기 더욱 어렵다. 그래서 대부분의 적은 규모의 팀 차원에서는 기본적인 구글 드라이브 및 문서 도구를 사용하며 Slack과 Notion, 혹은 MS Teams 등을 사용할 것으로 예상된다. 그 중에서 가장 대중적으로 사용되는 구글의 서비스는, 개인이 무료 서비스만 활용해도 정말 부족함 없이 완성도 높은 작업을 할 수 있다. 하지만 구글의 기본적인 서비스를 무한히 응용할 수 있는 방법이 있다는 것을 대부분의 사람들 (약 99.9% 이상)은 키워드조차 알고있지 않을 것이고, 나도 이 책을 읽기 전까지 마찬가지였다. 그 마법의 키워드, Google Apps Script (GAS)를 짧게 소개하려 한다.
일단 이름에서 눈치를 챈 사람도 있겠지만, GAS는 JavaScript를 기본으로 하는 구글 앱스 전용 언어이다. 구글 앱스란 우리가 흔히 사용하는 Docs, Sheets, Drive, Gmail, Forms, Sheets 등을 모두 포함한다. 우리가 위 서비스를 사용하는 방법은 각각의 프로그램을 열어서 특정 작업을 하는 것이다. 거기에는 어떠한 프로그래밍도 필요하지 않지만, 구글은 더 진보한 작업을 지원하기 위해 사용자가 프로그래밍을 통해 자동화를 할 수 있는 기능을 제공해왔다. GAS를 통해 할 수 있는 일은 정말 다양한데, 예를 들면 1) 자동으로 Gmail의 받은 메일의 제목 중 특정 키워드가 포함된 메일만 추려서 Sheets에 원하는 양식으로 자동으로 업데이트 되게끔 할 수 있고, 2) 해당 메일 리스트가 100개가 된다면 자동으로 그 내역을 지정한 사람들에게 해당 국가의 언어로 번역하고 Drive 내의 파일을 첨부하여 포워딩해줄 수 있으며, 3) 메일 포워딩을 하며 미리 만들어둔 Forms를 활용해 설문조사를 보내고, 4) 설문조사가 완료되면 그 내용을 Sheets의 프레젠테이션 슬라이드의 원하는 및 위치에 기록하면서, 5) 자동으로 그룹의 캘린더에 미팅 일정을 추가할 수 있다. 위의 예시에서 보다시피 GAS의 가장 큰 장점은 구글 내의 여러 서비스를 넘나들며 자동화된 작업을 할 수 있다는 것이다. 처음에 이 사실을 알았을 때 나는 정말 큰 충격에 빠졌는데, 일단 내가 그동안 원했던 기능이 이미 예전부터 탑재가 되어있었구나… (구글은 다 계획이 있구나) 하는 생각이 가장 컸다. 지금 당장은 큰 필요가 없지만 추후에 소규모로 프로젝트를 진행할 일이 많이 있을텐데, 위의 기능이 되는 서비스가 어디에 있을까 고민하고 있었기 때문이다. 추후 클라우드 기반의 서비스를 사용할 때, 구글만큼 모두가 곧바로 사용할 수 있으며 협업하기 좋은 플랫폼도 없기 때문이다. 예전부터 비슷한 서비스에 관심이 많아서 구글의 Enterprise 서비스도 사용하여 도메인 및 메일서비스 연동 등 다양한 기능을 살펴보았는데, GAS가 제공하는 수준의 서비스가 따로 있지는 않았다. 이 책을 통해 GAS를 활용하여 간단한 코딩으로 프레젠테이션 슬라이드가 업데이트 되는 것을 보고 정말로 큰 희열을 느꼈다. Hello World 대신 Hello GAS를 외치는 순간이었다.
물론 GAS는 전문적인 개발자나 회사 솔루션에 비해서는 제한된 기능이 많을 것이다. 애초에 제대로 틀이 잡힌 곳은 GAS나 구글에 두리번거릴 필요도 없다. 내가 보기에 GAS를 가장 필요로 하는 곳은 개인 및 소규모 인원으로 구성된 팀이다. 이미 익숙한 구글 서비스를 통해 협업을 하면서, GAS를 통해 최대한 많은 부분을 자동화하면 전문적인 솔루션 못지 않은 시스템을 무료로 구축할 수 있으며, 필요한 경우 엔터프라이즈 레벨로 업그레이드를 하여 손쉽게 scale-up할 수 있다. 나는 평소에도 효율적이고 자동화된 시스템을 어떻게 혼자서 구축할 수 있을지 취미로 고민을 하는데, GAS는 다소 공상에 그쳤던 그런 고민을 단번에 해결해줄 수 있는 올해의 키워드 중 하나라고 생각한다. 물론 실제 사용해본 사람들의 후기나, 다른 대체제를 좀 더 찾아보고 본격적으로 사용할 때 도입을 고민할 예정이다.
서론은 여기까지 하고, 이 책에 대해서 간단히 이야기해보려 한다. 이 책은 총 23장까지 구성되어 있다. 1-7장은 간단한 GAS 소개 및 JavaScript (JS) 문법에 대해 다룬다. 갑자기 왠 JS가 나오는지 궁금할 수도 있는데, 앞서 말했듯이 GAS가 JS 기반이기 때문에 기본적인 문법을 다룬다. JS문법의 경우 기본적으로 프로그래밍 언어를 공부한 사람이라면 이해 자체는 어려운게 없어서, 그냥 쭉 읽다가 나중에 실전 때 다시 뒤적거리며 보면 될 것 같다. 물론 실제로 손에 익히며 자유자재로 사용하는 것은 별개의 일이지만, 일단 지금은 JS가 목표가 아니니 가볍게 넘어가는 것을 추천한다. 8-15장은 비로소 우리가 많이 쓰는 Sheets, Gmail, Drive, Calendar, Docs, Slides, Forms, Translation을 차례로 소개한다. 각 서비스마다 제공되는 클래스 및 함수가 다르기 때문에, 각각을 모두 공부해야한다. 하지만 여기도 이런 기능이 가능하구나~ 정도만 빠르게 읽고, 나중에 실제로 사용할 때 참고하면 될 것 같다. 16장부터 23장까지는 GAS의 특수한 기능들에 대해 소개한다. 이 중에서 특히 중요하다고 생각한 것은 속성을 정하는 properties (각종 권한 등을 정할 수 있다), 그리고 이벤트 및 트리거이다. 특히 이벤트 및 트리거의 경우, if A then B를 자동으로 처리할 수 있는 마법의 기능이라 추후에 필수로 사용하게 될 것 같다.
정리하자면, 이 책을 읽고 이제 구글 서비스도 마치 코딩하듯이 연동하여 사용할 수 있어서 너무 편하고 활용성이 무궁무진하다는 생각이 들었다. 시간이 갈수록 혼자서 정말 많은 일을 할 수 있도록 다양한 서비스가 나오는데, 전 세계 지구인들이 모두 사용하는 구글 서비스와, 그 중 0.1%의 사람도 모르고 있을 GAS를 통해 당신의 능력을 한층 끌어올리길 바라며, 그 길잡이로 이 책을 추천한다.
기본 문법부터 8가지 구글 앱에서 활용하는 앱스 스크립트 활용 방법을 한 권으로 정복한다!
다카하시 노리아키 지음
김모세 옮김
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."
2022년 7월
2022 나는 리뷰어다 활동의 여섯 번째 리뷰
7월에 리뷰할 책은 "구글 앱스 스크립트 완벽 가이드"이다.
구글 앱스란 무엇인가?
어느새 우리 곁에 자리 잡은 스프레스시트, 지메일, 드라이브, 캘린더 등등...
MS-Office를 대체해가며 업무에 없어서는 안 될 존재가 된 구글 앱스이다.
2020년 기준 구글 워크스페이스를 도입한 조직은 600만 개 이상이며 액티브 사용자수는 월간 20억 명 이상으로 보고되고 있다.
구글 워크스페이스는 완전한 클라우드 환경 지원에 따른 훌륭한 서비스와 효과를 제공하는데, 여기에 이 능력과 잠재력을 한층 향상할 수 있는 방법이 있다.
바로 구글 앱스 스크립트 (Google Apps Script) - GAS 이다.
사실 본인은 이 책을 접하기 전에는 GAS라는 것이 있는지도 몰랐다. 그냥 사용했을 뿐.
GAS의 장점에 대해서 알아보자.
GAS를 사용하면 구글 서비스들을 자동화하고 연동할 수 있다. 스프레드시트에서 테이블과 슬라이드를 만들고, 지메일에서 알림 메일을 보내고, 드라이브의 폴더나 파일을 정리하고, 캘린더에 이벤트를 등록하고, 문서로 회의록 템플릿을 만들어 번역하는 등의 작업을 프로그래밍으로 할 수 있다.
그리고 GAS를 시작하는 데에 가장 큰 장점은 서버나 환경은 모두 구글이 제공하며 누구나 무료로 이용할 수 있다는 점.
하지만, GAS를 잘 사용하려면 공부를 많이 해야 한다. GAS의 구조와 사양, 프로그래밍 구문, 규칙이나 제약 등 많은 지식과 이를 실현할 스킬이 필요하다.
간단히 목차에 대해 알아보자.
1장과 2장에서는 GAS를 시작할 준비를 한다.
3장에서 7장은 GAS의 기반이 되는 자바스크립트 기초부터 객체 사양까지 차근차근 설명한다.
8장에서 15장은 실제로 구글 앱스를 다뤄본다.
16장에서 23장은 구글 서비스에서 공통으로 사용할 수 있는 노하우들을 제공한다.
구글 앱스 스크립트를 이용해 할 수 있는 작업들은 무궁무진하다. 구글이 제공하는 강력한 무기인 GAS를 제대로 배우고자 한다면 이 책은 좋은 가이드가 될 것이다.
개발자라면 좀 더 쉽게 접근이 가능하겠지만, 코드가 익숙하지 않은 직군은 초반에 어려움을 겪을 수도 있다. 하지만 걱정할 필요는 없다.
목차
목차를 보면 아시겠지만, 자바스크립트의 기본 문법부터 제어문, 함수로 이어지는 기본을 제공하고 있다.
이제는 구글의 크롬 브라우저 하나로 상당히 많은 업무를 처리할 수 있다. 구글의 크롬 브라우저에서는 구글 워크스페이스라고 불리우는 다양한 앱을 지원하고 있는데, 그 앱을 사용하는 것 뿐만 아니라 프로그래밍을 통해 더 간편하고 쉽게 업무를 수행할 수 있다. 전 세계 600만 개 이상의 조직에서 구글 워크스페이스를 도입했고, 액티브 사용자만 월간 20억명이라는 보고가 있다. 구글 워크스페이스는 MS 오피스를 위협하면서 그룹웨어의 표준이 되고 있다.
다카하시 노리아키가 펴낸 '구글 앱스 스크립트 완벽 가이드'는 구글 앱스 스크립트(GAS, Google Apps Script)를 통해 구글에서 지원하는 지메일, 구글 캘린더, 구글 드라이브, 구글 번역, 구글 문서, 구글 프레젠테이션 등 다양한 앱을 처리하는 방법을 배운다. 구글 앱스 스크립트를 통해 위에 언급한 다양한 구글 서비스들을 자동화하고 연동할 수 있다.
저자 다카하시 노리아키는 현재 플랜노츠의 대표이사이고, 한때 색소폰 연주자였지만 지금은 프로그래밍 언어에 관한 강좌, 집필, 미디어 운영, 커뮤니티 운영 등 비개발자를 위한 교육 활동을 하고 있다고 한다.
이 책의 역자 김모세님은 소프트웨어 엔지니어, 소프트웨어 품질 엔지니어, 애자일 코치 등을 하고 있고, 다양한 책의 번역도 함께 담당하고 있다. '구글 앱스 스크립트 완벽가이드'의 예제도 역자의 깃허브를 참조하면 다운로드 받을 수 있다.
이 책의 구성을 보면...
1장과 2장에서는 구글 앱스 스크리브의 기본 지식과실제로 다뤄볼 스크립트 편집기와 대시보드에 대해 설명하고 있다. 특히 1.4절의 GAS 학습 시 주의할 점을 잘 읽어보면 GAS는 자바스크립트를 기본으로 하지만, 일반적인 자바스크립트와는 동일하지 않고, 코어 자바스크립트만 이용할 수 있다는 점을 유념해야 할 것 같다.
3장부터 7장까지는 GAS의 기반이 되는 자바스크립트에 대한 설명을 하고 있다.
3장에서는 기본 문법, 4장은 제어문, 5장은 함수, 6장은 클래스와 객체, 7장은 자바스크립트의 내장 객체까지 설명하고 있다. GAS는 V8 런타임 지원에 대응하기 때문에 최신 구문과 명령을 포함한 'GAS를 위한 자바스크립트'를 학습할 수 있다.
8장부터 15장까지는 실제로 구글 앱스를 다뤄보는 실습을 해본다.
8장은 구글 스프레드시트, 9장은 지메일, 10장은 드라이브, 11장 캘린더, 12장 문서, 13장 프레젠테이션, 14장 설문지, 15장 번역 등 구글 워크스페이스의 많은 앱들을 직접 다뤄볼 수 있다. 개인적으로 설문지와 관련된 스크립트가 꽤 유용하고 편리할 것 같다.
16장부터 23장은 구글 서비스에서 공통으로 사용할 수 있는 기능들을 살펴볼 수 있다.
Base 서비스, 사용자 인터페이스, 파일의 데이터 조작, Utilities/Properties 서비스, 이벤트와 트리거, 외부 서비스 접속, 라이브러리 등 다양하고 막강한 기능의 GAS를 경함할 수 있다. 앞에서 언급한 각 서비스의 조작과 조합으로 각각의 서비스를 연동함으로써 스마트하게 개발할 수 있도록 도와준다.
책에서 나온 다양한 실습 코드를 통해 구글 워크스페이스의 다양한 기능을 좀 더 막강하게 다룰 수 있을 것이라 생각한다. 위에서도 언급했듯이 책에서 사용하는 예제 소스는 역자의 깃허브 저장소를 참고하면 된다.
Gmail, Google Drive 와 Docs, Spreed Sheet, Presentation, Google Forms 등 구글의 다양한 서비스들을 적극적으로 사용한지도 벌써 10년이 넘었다. 각각의 서비스를 사용함에는 꽤 숙련되어 있다고 생각한다. 개인적으로 문서를 다루는 측면에서만 봐도 지금은 Microsoft Office 시리즈들 보다 더 많은 시간을 Google 의 서비스로 진행하고 있다. 그런데 실제로 구글의 서비스들을 50% 아니, 20% 만큼이라도 활용하고 있는 사람이 과연 몇이나 될까?
Google Apps Script ( 이하 GAS ) 는 조금 더 일반인이 접근하기 쉽다고 해야될까. 프로그래밍을 해본 사람들은 당연히 사용하기 쉽고, 처음 배우게 되는 사람들도 가볍게 입문해볼 수 있다. 특히, Javascript 를 해본 사람들이라면 거의 기본문법에 대한 공부는 패스하고 사용할 수 있어서 굉장히 편하다. 아래 링크에서도 자세히 확인할 수 있다.
위 그림에서도 볼 수 있듯이 다양한 기능을 만들고 사용해볼 수 있으며, 책에서는 8가지 Google App 에 대해서 설명하고 GAS 를 적용하는 방법을 배울 수 있다. 개인적으로는 Google Spreadsheet 의 파트가 가장 필요한 내용이었다.
Google Spreadsheet
Gmail
Google Drive
Google Calendar
Google Docs
Google Presention
Google Form
Google Translate
이 책에서는 GAS 를 어떻게 시작하는지부터 시작해서 간단한 수준의 프로그래밍 문법도 배울 수 있다. Javascript 를 알고 있다면 눈으로 훑으면서 패스해도 될 수준의 내용이다.
어느 API 나 그렇겠지만 당연히 사용하는데 적당한 제약 사항들은 있다. 한번의 호출 (프로그램의 하나의 명령 단위 정도로 보면 된다) 이 각 서비스별로 얼마의 시간 내에 실행되어야 하는지, 그 호출의 크기 (용량) 은 어느 정도 까지 가능하면 하루에 몇 번 정도 수행할 수 있는지도 제약되어 있다. 물론 무료 계정에 한해 그렇다. 돈 내면 다 해결된다.
Gmail 을 스크립트를 이용해서 컨트롤 할 수도 있다.
이 책에서 소개된 앱을 단순히 활용하거나 자동화하는 정도로 사용할 수도 있고, 각 앱마다 가지고 있는 굉장히 세부적인 기능들을 활용해서 나에게만 필요한 기능들 (Custom Functions) 을 구현해볼 수도 있다. 아예 없는 기능들도 만들어낼 수 있다!
우리는 생각 이상으로 새로운 생산성을 위해서 굉장히 좋은 도구들과 서비스를 많이 쓰고 있다. 그러나 이 도구들을 100% 모두 활용하고 있느냐는 완전히 다른 이야기다. 더불어 너무 많은 서비스들을 혼용해서 사용하다보니 이들을 이용하는 것 자체가 새로운 일이 되는 경우도 많다. 이 때 필요한 것이 바로 자동화다. 많은 부분을 기본적인 서비스에서 해결해주고 있지만 개인이 사용하는 패턴이 모두 다르기 때문에 아직은 스스로 이런 반복 작업들과 편의성이 요구되는 일을 정의하는 것이 필요하다. 그리고 이 책은 그 요구사항들을 스스로 해결할 수 있도록 도구를 만드는데 도움을 주는 책이다. 한번만 익혀둔다면 구글의 서비스를 계속 이용하는 한 우리는 강력한 도구를 가지게 될 것이다.
구글 앱스는 지메일, 구글 스프레드시트, 구글 캘린더,구글 드라이브 등 구글이 제공하는 여러가지 어플리케이션을 통칭하는 것으로, 전세계적으로많이 사용되는 도구 중의 하나이다. 구글 앱스는 많은 기능을 가지고 있지만, 기본적으로 사용자가 데이터를 입력하고, 원하는 기능을 선택하는 형태로동작한다. 구글 앱스 스크립트는 구글 앱스가 제공하는 많은 기능을 자바 스크립트 형식으로 프로그래밍할수 있도록 한다. 이를 통해 다양한 업무를 자동화하고 생산성을 향상할 수 있다. 이를 이용하면 간단한 프로그래밍을 통해 구글이 제공하는 어플리케이션의 기능을 자동화하고 연동할 수 있는데, 예를 들어 설문에 응답한 사람에게 감사의 메일을 보내거나, 스프레트시트에기록된 데이터를 주기적으로 분석하여 분석보고서를 생성하여 구글 드라이브에 업로드 하는 등의 일을 자동으로 수행할 수 있다.
‘구글 앱스 스크립트 완벽 가이드’는 구글 앱스 스크립트의 기반이 되는자바스크립트의 기초와 함께 가장 많이 사용되는 구글 앱스 서비스에서 구글 앱스 스크립트를 사용하는 방법을 소개하고 있다. 1장과 2장은 구글 앱스 스크립트의 기초를, 3장에서 7장은 구글 앱스 스크립에 사용되는 자바스크립트의 기본문법, 제어문, 함수, 클래스와객체 사용법, 내장 객체에 대해 자세히 다룬다. 8장에서15장은 스프레드시트, 지메일, 드라이브 등 구글의 여러 서비스의 기능을 직접 사용하며 프로그래밍하는 방법을 소개한다. 16장에서 23장은 base 서비스, 사용자 인터페이스, 파일과 데이터 조작 등 구글 서비스에서 공통적으로사용될 수 있는 유용한 기능과 여러 노하우 통해 각 서비스를 잘 조합하여 사용자가 원하는 기능을 만들어 낼 수 있도록 돕는다.
구글의 서비스가다양한 만큼 이를 이용해서 자동화하거나 만들어낼 수 있는 작업은 무궁무진하다. 업무를 자동화하고 이를통해 생산성을 향상하고자 하는 이에게 적극 추천한다.
한 줄 요약 : Google Apps 서비스들을 커스터마이징해서 사용하길 원하는 사용자에게 권장
자동화. 매크로. RPA(Robotic Process Automation) 등 운영 환경에 따라 여러 이름으로 불리고 있지만 결국 사용자가 하고자 하는 일을 편리하게 만들고자 하는 것을 도와주는 기능들을 가리키는 용어들이다.
'한글' 문서를 사용할 때는 '메일 머지', 엑셀(Excel) 문서에는 'VBA(Visual Basic for Applications)'가 대표적이라 할 수 있다.
자동화 기능들은 사용자에게 편리함을 주었지만 불편함도 있었다. 예를 들면, 한 컴퓨터에서 만든 VBA기능을 적용하려면 일일이 VBA코드를 전달해야만 한다.
지금은 클라우드 기반의 소프트웨어들이 보급이 되면서 1명의 사용자가 N개의 장치(스마트폰, 노트북, 데스크탑, 태블릿 등)를 통해 소프트웨어들을 언제 어디서나 이용할 수 있게 되었다. 게다가 이런 소프트웨어들을 이용하여 작성한 문서, 프로그램들을 다른 사용자와 공유하기도 편리하다. 대표적으로 Google Apps가 있다.
Google Apps 제품들
Google Apps는 구글에서 제공하는 SaaS(Software as a Service) 제품이다. 언제 어디서나 스마트폰, 태블릿, 노트북 등 어느 장비에서든 사용이 가능하다. 또한 Google Apps는 '스크립트'를 작성하여 프로그램에 원하는 기능들을 추가하거나, 특정 시기, 특정 상황에만 원하는 동작을 하게 할 수도 있다. 스크립트는 수정을 하더라도 공유를 위해 무언가를 할 필요가 없다. 최초 공유를 한 이후 어떤 수정이 이뤄지는 경우 바로바로 반영이 되기 때문이다.
만약 프로그래밍 언어를 사용해 본 경험이 있다면(특히, 자바스크립트) 스크립트를 작성하는 것에 빠르게 적응할 수 있다. 스크립트가 자바스크립트와 거의 같기 때문이다.
이번에 리뷰하려는 '구글 앱스 스크립트 완벽 가이드'는 Google Apps의 제품에 사용가능한 스크립트를 알려주는 책이다.
구글 앱스 스크립트 완벽 가이드
책의 구성은 크게 두 영역으로 나눌 수 있다.
1. 스크립트 작성을 위해 필요한 스크립트 편집기, 스크립트 기본 문법에 대한 안내
2. Google Apps 제품들(Google Sheet, Gmail, Google Drive, Google Calendar, Google Docs, Google Presentation, Google Forms, 번역)을 스크립트를 이용하여 활용하기
스크립트 편집기, 스크립트 기본 문법에 대한 내용은 책에서 약 40%정도의 분량이다. 나는 프로그래밍 경험이 있어서 읽고 따라하는 것에 큰 어려움이 없었다. 프로그래밍 경험이 없더라도 꼼꼼하게 설명을 하고 그림자료, 실습 코드를 포함하고 있어서 어려움이 없을 것 같다.
마찬가지로 Google Apps 제품에 스크립트를 적용하는 부분도 쉽게 따라할 수 있게 되어 있다.
위 사진은 '9장 Gmail' 내용 중 일부다. 책 제목이 '구글 앱스 스크립트 완벽 가이드'인 것처럼 사용할 수 있는 스크립트 목록을 나열하여 설명하고, 스크립트를 연습해보는 예제가 있다. 그리고 예제를 이용하여 테스트도 진행한다. 스크립트 클래스를 하나씩 설명하는 것 보다 '특정 조건을 만족하는 메일만 추출해서 내용 다운로드하기' 같은 저자의 활용 팁이 있다면 더 좋았을 것 같다. 물론 기본기가 탄탄하다면 응용하는건 가능하기 때문에 문제는 없다. Google Sheet, Google Drive 등 다른 제품들에 대한 내용 구성도 비슷하다.
책을 리뷰하며 구글 앱스 스크립트에 대해 몰랐던 내용을 알 수 있어서 좋았고, 앞으로 메일, 드라이브는 스크립트 코드로 자동 필터링 되도록 해보려고 한다. 약 700페이지에 달하는 '구글 앱스 스크립트 완벽 가이드' 책을 따라서 하나씩 문제를 풀다보면 가능할 것이라 생각한다.
온라인 협업 도구로 구글 워크스페이스가 많이 쓰이고 있는 가운데 구글 스프레드시트에 대한 인기가 뜨겁다. 하지만 구글 워크스페이스에는 스프레드시트만 있는 게 아니다! 지메일, 드라이브, 캘린더, 문서, 프레젠테이션, 번역 등도 구글에서 제공하는 앱스 스크립트를 활용하면 얼마든지 내 입맛에 맞게 자동화하여 쓸 수 있다. 자바스크립트를 잘 몰라도, 어디서부터 시작해야 할지 막막해도 따라 할 수 있도록 기초부터 실무에 꼭 필요한 내용을 친절하게 설명했다. 구글 워크스페이스를 통합하고 자동화하여 좀 더 편리하게 일해보자.
구글 스프레드시트, 지메일, 드라이브 같은 구글 서비스는 이제 업무에서 없어서는 안 될 필수 도구입니다. 여기에 구글 앱스 스크립트를 더하면 생산성은 더욱 높아집니다. 간단한 스크립트 코드로 구글 서비스의 기능을 자동화하고 연동할 수 있습니다. 앱을 열지 않고도 캘린더에 이벤트를 등록하고, 구글 번역기로 문서를 자동 번역하는 작업이 가능합니다. 실행 환경은 브라우저에서 제공하므로 누구나 쉽게 이용할 수 있습니다. 구글 앱스 스크립트를 파악하고 실현하는 데는 많은 기술과 시간이 필요하지만 이 책 한 권으로 가능합니다. 입문자가 달인이 될 때까지 들여야 할 노력과 시간을 반으로 줄여보세요!
업무 자동화에 관심이 많았던 사람으로서 구글 앱스 스크립트를 깨작깨작 만져보다 말았는데, 마침 좋은 책이 나온 것 같아서 신청했다.
많은 회사들이 구글 워크스페이스를 쓰고 개인들도 gmail 하나쯤은 당연히 갖고 있는 세상이 되었으니 이왕이면 애플리케이션을 똑똑하게 써 보면 좋지 않을까. 초기 진입장벽이 있지만 기본적인 이해도를 갖추고 나면 삶의 윤택함(?)이 온다...!
- 타깃 독자: 구글 스프레드시트를 효율적으로 사용하고 싶은 사람
(구글 워크스페이스 내 앱까지 연동해서 쓰고 싶다면 매우 매우 좋다!)
-준비해야 할 것: 당신의 인내
(=앱스 스크립트를 잘하고 싶은 의지와 근성)
거의 700페이지에 달하는 만큼 예제와 이해에 필요한 설명이 친절하게 나와 있으나, 이걸로 한 번에 마스터가 가능하진 않을 것 같다. 그래도 기존에 없던 책이니 나처럼 도전해 보고 싶었으나 머뭇거리던 사람들에게 쓸모 있을 책이다. 개인적인 시선에서는 독자가 책을 경험하면서 두 가지* 때문에 어려움이 있겠지만, 필요하면 결과물은 어떻게든 나왔던 만큼, 기초를 다진다는 마음으로 도전해 보면 좋겠다.
*1) 자바스크립트의 장벽
2) 내가 구현하고 싶은 기능을 실제 코드로 구현해 낼 수 있을만한 숙련도
앱스 스크립트에서는 이런 것들을 할 수 있습니다 :)
캘린더에 등록된 오늘의 일정을 메일로 전송
설문지 응답자에게 감사 메일을 자동으로 전송
문서 내용을 본문으로 하여 스프레드시트의 이메일 주소 목록으로 메일 전송
문의 메일을 스프레드시트에 저장
캘린더에 등록된 일정을 스프레드시트로 복사
스프레드시트 목록에서 pdf 형식으로 슬라이드를 만들고 드라이브에 저장
문서 번역
앱스 스크립트에서는 나만의 작업이나 구글 내 여러 앱과 연동이 됩니다. 그만큼 무궁무진한 커스텀이 가능하지만,자바스크립트를 어느 정도 다룰 줄 알아야 합니다. 다행인 건(?) 앱스 스크립트에서 모든 자바스크립트의 요소를 사용하는 것은 아닙니다. 따라서 구글 앱스 스크립트 완벽 가이드에서는 자바스크립트 중 필요한 부분만 골라 알려줍니다. 그 내용을 챕터 3에서 7까지 다루고 있습니다.
챕터 3과 7까지, 7부 능선을 무사히 넘어가면 예제를 직접 실행해 보는 챕터가 있습니다. 캘린더, 문서, 프레젠테이션, 설문지 등 구글 내 기능과 연동하는 연습을 하게 됩니다. 실생활에서 모든 챕터의 예제가 다 쓰일 것 같진 않으니, 보고 싶은 챕터만 보면 됩니다. 개인적으로 책에서 좋았던 건 초심자의 입장을 고려해 상세한 설명이 있다는 점이었습니다. 도입부에 전체적인 구조를 알려주고 예제에서 다뤄야 하는 요소*를 언급하고 있습니다. 필요한 곳에 이미지도 잘 배치되어 있는 편입니다. 책의 순서를 따라가며, 예제를 직접 써 보며 익히면 되겠습니다. :D
귀여운 캐릭터와 함께 '도서정보'의 소개란 마지막에 있는 문구이다. 이 책은 이전에 GAS(구글 앱스 스크립트)라는 단어를 들어 보지 않았던 사용자일지라도 구글의 다양한 앱(지메일, 드라이브, 캘린더, 문서, 프레젠테이션, 설문지, 번역, 스프레드시트)을 사용하면서 뭔가 편리성을 추구하거나 단순 반복의 작업을 줄였으면 하는 필요가 있던 사용자라면 작지만 큰 변화를 만들어 줄 수 있는 책이다.
GAS(구글 앱스 스크립트)는 자바스크립트를 기반으로 하며, 어느 정도 자바스크립트를 사용하거나 아예 몰랐던 초심자 조차도 쉬운 가이드를 제공한다(자바스크립트에 익숙한 사람이라면 불필요해 보일 수 있는 부분도 있지만...)
책은 크게 두 파트로 나뉠 수 있다.
첫 파트는 GAS(구글 앱스 스크립트)를 어떻게 사용하는지와 어떻게 개발해야 하는지에 대한 가이드 그리고 기초 문법과 자바스크립트 사용법에 대한 내용이 그것이다.
두번째 파트는 실제 구글에서 제공하는 서비스, 앱들의 API를 연동하여, 자신만의 프로그램을 만들어 보기 위한 내용이다.
초심자를 위한 서적이다 보니 앞부분에 기초적인 내용을 다소 많은 다루고 있어 책이 두꺼워 지긴 하였으나, 구글의 서비스와 앱을 사용하며 자신만의 무언가를 만들어 보고자 하는이 그리고 업무의 생산성을 향상시키고자 하는 이에게는 GAS라는 용어조차 생소한 국내 사용자에게 좋은 시작을 이끌어 줄 수 있는 책인것 같다.
저는 개발자이기 때문에 오피스 프로그램을 전문적으로 쓸 필요가 없다보니, 구글의 오피스의 전문적인 기능에 대해 관심이 없었기 때문입니다. 그래서 구글 앱스 스크립트(GAS)가 있다는 걸 모르고 있었습니다.
우리가 어플리케이션 프로그램을 사용하며 업무를 진행하다보면, 반복적인 일들이 눈에 띄기 시작합니다. 이런 경우 이를 해결하기 위한 가벼운 기능으로 "매크로 기능"을 제공해주는 경우가 많은데요. 명령 몇가지를 순서대로 기억했다가 반복해주는 역할을 합니다. 그리고 "매크로 기능"을 향상시켜서 아예 프로그래밍 언어를 해당 어플리케이션 내부에 넣어 주는 경우도 있습니다.
대표적인게 MS엑셀의 VBA(visual basic for applications)입니다. 엑셀에 VBA를 이식하는 작업을 주도했던 사람은 스택오버플로를 창업하기도 한 조엘 스폴스키 이죠. 한 십년전 쯤 우연히 엑셀 VBA를 사용할 기회가 있어서 써본 기억이 있는데요. 엑셀에 입력된 데이터를 가공해서 다른 데이터를 만드는 역할을 잘 수행했습니다. 해당 문서를 공유하는 것 만으로도 "데이터 가공"이라는 기능을 완벽하게 공유할 수 있기 때문에 좋았습니다.
그보다 오래전 autoCAD라는 프로그램에서 auto lisp이라는 언어를 사용하는 것을 본적이 있습니다. CAD는 컴퓨터로 설계를 할 수 있도록 돕는 프로그램인데요. 건축이나 기계설계를 하다보면, 부품 관리나 공정에서 프로그램 요소가 꽤 필요한듯 하더군요. 이런 작업들을 Auto Lisp으로 구현하는 거죠.
구글의 오피스 어플리케이션은 의외로 많습니다. (사실 셀수 없이 많죠) 하지만 우리가 주로 사용하는 소프트웨어는 구글 프레젠테이션 구글 스프레드시트, 구글 문서 정도가 아닐까 싶은데요. 이 책에서는 지메일, 드라이브, 캘린더, 설문지, 번역에 대해서도 GAS (구글 어플리케이션 스크립트)를 쓰는 방법을 설명하고 있습니다. 이 부분이 좀 충격적인데요. "개발자의 회사"답게 구글은 어플리케이션 제품 모두에 프로그래밍 요소를 가미할 수 있도록 구성해 두고 있는 듯합니다. ( 다른 회사의 오피스 제품들에도 이렇게 프로그래밍 요소를 쓸 수 있다는 건 들어보지 못했거든요. )
책을 읽다보니, 아주 옛날 처음 프로그래밍 언어를 배울 때 문법 책을 보던 기억이 새록새록 떠올랐습니다. 한번 읽는 것만으로는 프로그래밍 언어 문법을 머리속에 다 집어 넣을 수 없기 때문에, 문법 책을 읽을 때는 전체적으로 이해하고, 하고 싶은 일이 있을 때 해당 문법을 빨리 찾을 수 있을 정도까지만 기억하도록 하면 되거든요.
이 책도 그런 필요가 있을 것 같습니다. 다시 말해 전부 읽은 다음, GAS를 사용해야 할 때, 어디를 펼쳐서 원하는 문법을 찾을 지만을 알면 될것 같다는 건데요. 이 책의 상태가 그걸 쉽게 하도록 되어 있습니다. 번역체가 마치 헬프데스크의 요원이 이야기하는 것 같은 문체인데다가 책의 인쇄 상태가 필요할 때 찾아보기 위해 책상 앞에 놓아두고 쓸만하더군요.
<일잘러의 비밀, 엑셀 대신 파이썬으로 업무 자동화하기>라는 책을 리뷰할 때도 했던 말인데, 앞으로 세상에서 중요한건, 어떤 어플리케이션을 사용하는 것보다 얼마나 반복을 줄이고 자동화 할 수 있느냐입니다. 그런 면에서, 이 책은 읽어볼 가치가 충분한 것 같네요.
바야흐로 15년 전만 해도 프로그래밍 좀 하려면 상당한 무게의 컴퓨터와고사양의 머신은 필수 사양이었다. 왜냐하면 코드의 분량이 늘어나고 이를 컴파일 돌려 바이너리를 뽑아내려면그만큼의 수고를 컴퓨터가 감당해야만 했기 때문이다.
하지만 요즘은 전혀 그렇지 않다. 요즘은 머릿속에 적당한 알고리즘과구현하고자 하는 프로젝트의 방향성에 대해서만 정확히 알고 있다면, 웹 컴파일러나 웹상에서 제공하는 클라우드환경에서도 충분히 프로그래밍할 수 있는 환경이 구축되어 있기 때문이다.
즉, 개인용 컴퓨터가 있으면 물론 베스트이긴 하나, 그렇다고 머신이 없어서 프로그래밍을 못하는 그런 시대는 이제 충분히 지났다고 봐도 될 것으로 보인다.
【책의 구성】 '구글 앱스 스크립트 완벽 가이드' 책은 어떤 책일까?
이 책은 여타 다른 언어 책들과 유사한 성격의 책이다. 다만 그 타겟이 구글 앱스 스크립트를 설명하고 있다는 점에서 차이가 있다.C++ STL, 윈도우 API를 위한 책, 그리고 Assembly와 기타 여러 책에서 알 수 있다시피 이 책들은 모두 해당 언어를 이용한 특정 프로그래밍을 위한책들이다.
그렇다면 구글 앱스 스크립트는 어떤/ 무엇을 위한 스크립트 책이란말인가?
간단하다. 구글에서 제공하는 다양한 서비스들을 위의 스크립트 언어를활용하여 보다 간편히 사용하게 하는 혹은 특정 목적에 맞게 행동하게 하기 위한 프로그래밍 방법 (구글에서제공하는 API와 구글 앱스 스크립트를 이용한 연동 과정)에대해 자세히 술 해둔 책이다.
1-2 챕터 : 구글 앱스스크립트의 배경
이 장에서는 구글 앱스 스크립트가 무엇인가, 어떻게 사용하는 것인지 그리고 어디서 개발해야 하는 것인지 술하고 있다.
책의 내용과 몇 가지 실습을 통해 알게 된 사실은 구글 앱스 스크립트의 경우 자바 스크립트와 굉장히 유사한 형태?를 하고 있기에 기존에 자바 스크립트에 대한 충분한 지식을 갖춘 사람이라면 이를 학습하는 데 있어서 큰 어려움은없을 것이라 생각된다.
또한 구글 앱스 스크립트를 이용하여 프로그래밍 하기 위해서는 클라우드 환경에 접근할 수 있는 머신만 구비하면되므로 이보다 실습하기 좋은 환경은 없을 것이라 생각된다.
3 -7 챕터 : 문법 + 자바스크립트 내장 객체
이 장에서는 구글 앱스 스크립트의 기본적인 문법과 자바스크립트 기반의 내장 객체에 관한 사용방법과 지원하는 기능들에 대해 친절하게 술하고 있다.
문법은 아무래도 자바 스크립트에 기반을 두었기 때문에 자바 스크립트와 거의 동일하며 지원하는 자바스크립트의 내장객체 역시 기존의 자바스크립트에서 지원하는 URI 파싱 등의 기능들을 제공하고 있으므로 자바스크립트를선행학습했다면 해당 장들은 건너 뛰어도 될 것으로 보인다.
8 -15 챕터 : 구글에서제공하는 서비스들의 API와 연동한 나만의 프로그램 만들어보기
이 장에서는 구글에서 제공하는 서비스들에서 제공하는 API들의 종류와 사용법에 대해서 술하고 있다. 그 말인즉, 이제 내가 짠 로직에 따라서 구글 서비스들을 코드로써 조정하고 조율할 수 있음을 의미한다.
이 장까지 왔다면 아마도 이 책을 통해 학습한 모든 학습자들이 이 책의 진정한 가치를 얻어 갈 수 있을 것이라기대된다
따라서 앞의 3~7장을 적당히 본 후에 반드시 8~15장을 두루 살펴보며, 구글의 서비스들을 어떻게 나만의 코드로조작하고 관리할지 설계와 구현을 해보도록 하자
【 "구글 앱스 스크립트 완벽 가이드"를 읽고 나서…….】
불과 몇 년 전만 해도 엑셀을 잘하면 회사 생활이 편해진다는말이 유행했다. (물론 지금도 이 말은 유효하다. 엑셀을잘해서 손해 봤다는 소리는 단 한 번도 들어본 적이 없기 때문이다. 아.. 엑셀을 잘하면 손해를 보긴 한다. 일복이 넘칠 것이기 때문이다.)
이제는 프로그래밍을 잘하면 회사 생활이 몹시! 편하다는 이야기가 유행하고있다. 왜냐하면 우리가 사용하는 모든 컴퓨터를 통해 하는 작업들이 단순 프로그래밍을 통해 자동화하고, 보다 정밀하게 분석할 수 있는 툴을 개발할 수 있으며, 나아가서는 AI를 접목시켜 선구안을 획득할 수 있기 때문이다.
즉, 이제는 세상 어딜 가든 프로그래밍과 관련되지 않은 것을 찾는게 더 빠를 만큼 프로그래밍은 대중화되었고, 우리 생활에 아주 밀접한 관계로써 우리 주변에서 공존하고있음을 항상 자각해야 한다.
우리는 이제 완벽하진 않지만 고도의 프로그래밍된 세계 속에서 살아가고 있는 것이다.
#본 도서는 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.
GAS(Google Apps Script)는 구글에서 개발한 스크립팅 플랫폼입니다. 구글메일,구글드라이브,구글문서,구글 스프레드 시트 등 구글 서비스가 통합한느 구글 워크스페이스(Google Workspace)에서 반복적인 기능이나, 간단한 업무를 수행하는 기능을 개발 할 수 있으며 자바스크립트에 기반을 두고 있습니다.
GAS 에서 제공하는 서비스
1. Google Workspace Services : 구글 워크 스페이스에 포함된 애플리케이션을 중심으로 조작하는 서비스(예, 스프레드시트,지메일,캘린더,드라이브,번역 등)
이번에 읽은 책은 한빛미디어의 "구글 앱스 스크립트 완벽 가이드"이다. 구글워크스페이스에서 오랫동안 작업을 많이 해왔지만 스크립트의 활용은 거의 없었는데 이번 기회에 한 가지 스크립트를 써먹어봐서 책 읽은 값은 했다고 생각한다.
구글 앱스 스크립트란?
구글 앱스 스크립트(GAS : Google Apps Script)는 구글이 제공하는 프로그래밍 언어이다. 자바스크립트 기반으로 하기 때문에 자바스크립트를 이미 알고 있다면 빠르게 동작하는 코드를 작성할 수 있는 장점이 있다. GAS를 사용하면 구글워크스페이스의 메일, 캘린더 등의 다양한 서비스들을 조작할 수 있는 가능성이 열린다. 나도 GAS를 이용하여 스프레드시트에 프로그래밍하여 자동으로 스프레드시트 안에서 구글 문서를 만드는 코드를 넣어서 요긴하게 써먹고 있다. 책에 GAS만의 기본적인 설명과 주의할 점이 잘 적혀있다. GAS는 자바스크립트를 기반으로 하지만 동일하지 않기 때문에 제한사항과 실행횟수등 할당되는 설정들이 있다. 개인적인 활용이 아닌 전문적인 사용이라면 체크해두어야 한다.
기본 문법부터 차근차근
구글 앱스 스크립트의 기본이 되는 프로그래밍 언어인 자바스크립트에 대한 기초 지식이 전혀 없어도 책을 읽기에 전혀 무리가 없다. 책의 거의 3분의 1 이상인 7장까지 변수, 연산자부터 시작해서 스코프, 함수, 클래스와 객체를 설명한다. 나처럼 고인물 개발자는 좀 많이 졸리기는 하지만 기초는 항상 중요하다. 현업 개발자라면 문법 설명 부분은 과감히 건너뛰고 8장부터 봐도 무방하리라 본다.
앱스 스크립트 활용
구글워크스페이스 서비스들이 많지만 그중에서 난 캘린더 서비스를 중점으로 읽고 활용하였다. 간단히 캘린더의 오늘 정보를 읽어와서 지금 이 시간 해당 일을 해야 하는지 여부를 큼직하게 표시하는 웹애플리케이션의 제작이었는데 캘린더 서비스 클래스가 어떻게 구성되고 어떤 이벤트를 요청해야 하는지 정리가 되어 도움이 되었다.
정리하며
무엇이든 배우면 써먹어야 한다는 누군가의 말처럼 구글워크스페이스 서비스들을 잘 써먹기 위한 기초가 되는 책이지 않나 싶다. 구글 앱스 스크립트의 문법과 서비스들에 대한 이해 기초 정보가 잘 정리되어 있다. 다만 활용하기 위해서 구글 API에 접속하는 것은 기본인데 이에 대한 가이드도 좀 있었으면 실제 활용까지 잘 이어지지 않았을까 아쉬운 점이 있다.
책은 총 23장으로 구성되어있고 약 700쪽에 달해 꽤 두껍기도 하다. 그러나 자바스크립트 코딩을 할 줄 알고 구글 서비스(구글 드라이브, 구글 문서, 지메일 등)를 좀 사용해 본 독자라면 7장까지는 스킵해도 크게 상관이 없어보였다. 이후 구글 서비스 별(스프레드시트, 지메일, 드라이브, 캘린더, 문서, 프레젠테이션, 설문지, 번역)로 기본적인 내장 함수와 각각의 사용 예시를 보여준다.
특히나 인상깊었던 사용 예시는 지메일 자동화 발송과 캘린더 일정 자동 등록, 설문지 생성 등이 있었고,
(내 업무 한정) 업무와 직결되는 사용 예시는 스프레드시트 자동생성 및 내용 불러오기, 번역 수행하기 등이 있었다. 이 둘을 결합하면 스프레드시트에 입력한 단어를 자동으로 원하는 언어로 번역해 다시 스프레드시트에 반영해주는 모듈이 구성 가능할 것으로 보였다.
뒷부분에 사용자 인터페이스를 구성하는 내용도 들어있는데, 이를 잘 활용하면 대화형 애플리케이션을 구성할 수도 있어 보여 사내 가이드를 전달해야 하거나 간단한 프로그램을 구성해야 할 때도 손쉽게 구성이 가능해보였다.
가장 강력한 편의성은 웹 기반으로 만든 프로그램을 다른 사용자와 공유할 때 서버를 고민하거나 권한을 고민하지 않아도 된다는 부분이 아닐까 싶다.
구글 워크스페이스를 구글 스위트 시절부터 써와서 나름 잘 알고 있다고 생각했는데, 구글 앱스 스크립트라는 것을 처음 듣고, '이건 뭐지?'라는 생각이 들었습니다. 마침 한빛미디어의 <나는 리뷰어다> 활동을 하고 있어서 책을 받을 수 있었습니다. 기본적으로 javascript의 구조로 되어있어서 초보자들도 쉽게 접할 수 있고, 다양한 예제를 하나하나 따라하다보니 어느새 구글 앱스 스크립트에 대해서 알 수 있었습니다. javascript에서는 쓰이지 않는 개념도 있긴 했지만, 구글에서 만든 다양한 앱들을 내가 원하는대로 조정하여 사용할 수 있다는 것이 매력적이었습니다. MS VBScript와 자주 비교되긴 하는데 로컬에서 동작하는 Excel과 클라우드환경에서 작동하는 Google Apps Script와는 조금은 다른 모습을 볼 수 있었습니다.
책은 처음부터 Google Apps Script에 대한 개념을 잘 설명하고 있습니다. 어떻게 나왔고, 어떻게 시작하고를 잘 설명합니다. 특히 그냥 구글 로컬 계정과 워크스페이스 계정의 차이점을 두고 설명해서 구글 로컬 계정만 가지고 있는 사람도 큰 차이점 없이 따라할 수 있는 것 같습니다. 하지만 구글 워크스페이스 계정이 아무래도 폭 넓은 부분을 커버하고 있어서 있다면 그것을 쓰는것을 추천합니다. 게다가 최근 초중고등학교, 대학이나 기관, 단체에서 구글 워크스페이스를 많이 쓰고 있으니 알아보면 아마 하나의 구글 워크스페이스 계정을 받을 수 있지 않을까 싶습니다.
3장에서 7장까지는 javascript를 간단하게 다루고 있는데 이부분에서 굳이 javascript를 모르더라도 Google Apps Script에서 사용하는 정도의 수준은 충분히 배울 수 있는것 같습니다. 또한 Google Apps Script에서만 쓰이는 용법도 있으니 비교해가면서 사용한다면 충분히 javascript의 기본을 배울 수 있을 것이라고 생각합니다.
또한 다양한 구글 문서도구에서 사용할 수 있는 메소드나 멤버변수에 대해서도 잘 다루고 있어서 필요한 기능이 있을때 수월하게 써먹을 수 있을 것 같습니다.