カテゴリー
サインイン 新規登録
学習時間 8時間
難易度 初級
質問投稿
価格 ¥1,980
月額 ¥2,980
Unlimited会員はこちらの教材を含む100種類以上のUnlimited対象教材が学び放題

【Ruby × GAS × AWS Lambda】毎朝、自動でテレビ会議と担当者を教えてくれるBotを作ろう!

RubyとGASを使い、Zoom会議作成Botの作成。教材内では、Zoom APIやWebhookを用いたSlack通知だけでなく、AWS Lambda, CloudWatch Eventsを用いたサーバーレス開発についても学ぶ。リファクタリングの章では、著者が実務で苦労したことをもとに解説。

4.3
最終更新 2020/8
らんぼー

Rubyを学習したけど「作りたいものが見つからない」という方にオススメ

本教材では、Zoom API、Google Apps Script(GAS)、Webhook を使い、Zoom会議の作成、及び会議担当者の名前をSlackに通知するBotの開発について解説します。

さらに、AWS Lambda や CloudWatch Events などAWSサービスを使い定期処理をサーバレスで行っているので、流行りのサーバレスアプリケーションに興味がある方にもオススメです。

教材の終盤では、リファクタリングの章を設けており、クラスやメソッドをどのように分けていくか?など、著者が実務経験で苦労したことを中心に、一緒に考えながらコードを見直していきます。そのため、オブジェクト指向の理解も深まり、Rubyの復習にもオススメです。

作成するアプリケーションのイメージをつかもう

本教材の作成後のイメージは以下のようになります。

決まった時刻(ここだと10時28分)にSlackにZoomのURLと当日の会議担当者を送ります。

ユーザーは毎回Zoom会議を作成する必要はなく、URLをクリックするだけで簡単にZoomに参加できます。

では、本サービスの構成を紹介します。

今回は、以下の処理を実行して決まった日時に会議を設定し、SlackにZoomの会議URLと当日の会議担当者の名前を送ります。

  1. CloudWatch Eventsによる定期処理をトリガにAWS Lambdaを動かします。
  2. Rubyで書いたAWS Lambdaのコードから、Zoom APIを叩きZoomを予約します。
  3. AWS Lambdaのコードから、GASを叩き当日の会議担当者を取得します。
  4. Slackに予約したZoomのURLと、当日の会議担当者を通知します。

学習内容

  • Zoom APIを用いたZoom会議の予約
  • Google Apps Script(GAS)で会議担当者を取得
  • Webhookを使ったSlack通知
  • リファクタリングを通して変更に強いRubyコードを書く方法
  • AWS Lambdaを使ったサーバレス開発
  • CloudWatch Eventsでの定期処理実行

この教材の対象者

  • Rubyを使ってAPIとのやり取りを体験したい方
  • 変更に強いRubyコードを書きたい方(リファクタリング)
  • AWS LambdaやCloudWatch EventsなどAWSサービスを試してみたい方
  • サーバレスアプリケーションに興味がある方
  • GASを触ってみたい方

受講における必要条件

  • Rubyの基礎知識

Rubyを一度も触ったことがない方は、まずはProgate等で学習することをおすすめします。

学ばないこと

RubyとGASを用いた開発なので、Railsに関しては一切学びません。

本教材の対応バージョン

  • Ruby2.7系
    AWS LambdaによるRubyの対象バージョンの最新版が2.7.0なので、本教材でも2.7.0を使用します。

本教材で質問対応可能なOSや環境

  • Mac OS

本教材の構成について

0章 はじめに

本教材を進める上での環境を整えたり、設計を解説していきます。

1章 Zoom APIで会議室を予約する

Zoom APIとは?また、Zoom APIを使って実際に会議室を予約してみます。

2章 Google Apps Script(GAS)を作成する

GASを書いてみたり、GASを実際にRubyのコードから呼んでみたりします。

3章 Slackに通知してみる

1章と2章で受け取った値をSlackに送れるように実装します。

4章 リファクタリングをしてみる

オブジェクト指向に沿って、クラスを分けたり、メソッドを分割してみて可読性の高いコードを作っていきます。

5章 lambdaを使用してみる

lambdaを使ってサーバーレスでRubyのコードを実行してみます。

6章 CloudWatch Eventsを使い定期処理をしてみる

CloudWatch Eventsを使って、lambdaを実際に動かしてみます。

カリキュラム

Section 0 はじめに
Section 1 Zoom APIで会議室を予約する
Section 2 GASを作成する
  • 2-1 GASとは何か?
  • 2-2 スプレッドシート側の設定をしてみよう
  • 2-3 GASを書いてみよう
  • 2-4 GASをAPIとして公開してみる
  • 2-5 作成したGASを外部から呼んでみよう

講師のプロフィール

教材のレビュー

4.3
3件の評価
66%
0%
33%
0%
0%
ryoma 1年以上前
素晴らしい教材。 しかし、リファクタリングの項目にコードの記載モレがかなりあった。 まったくのプログラミング初心者はリファクタリングの項目は飛ばした方が、ハマらないでしょう。
村田裕昭 1年以上前
日々のZoom会議効率化の第一歩として楽しく学ぶことができました。GoogleSpreadSheetなどよく使うので自動化の為になりました。
イノキ 1年以上前
浅く広く色々学べて良かったです。