daehy***
2022-07-24

스프레드시트, 지메일, 드라이브, 캘린더 등을 구글에서 제공하는 앱스 스크립트를 활용하면 얼마든지 자동화하여 쓸 수 있다. 자바스크립트를 잘 몰라도, 어디서부터 시작해야 할지 막막해도 따라 할 수 있도록 기초부터 실무에 꼭 필요한 내용을 친절하게 설명한다.
[리뷰]-구글 앱스 스크립트 완벽 가이드
당신의 잠재력을 10배 높여줄 수 있는 키워드 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를 통해 당신의 능력을 한층 끌어올리길 바라며, 그 길잡이로 이 책을 추천한다.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."