CodeZine(コードジン)

特集ページ一覧

LINE Botで暗記カードを作って新人さんの勉強をサポートしよう!

自分自身で課題を解決するDX事例紹介 第3回

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2021/02/10 11:00

 本連載では、DX(デジタルトランスフォーメーション)、その中でも特に業務効率化をテーマに、プロトアウトスタジオの生徒や関係者が日々の生活や業務で発生している課題を見直し、技術を活用しながら解決していく方法をご紹介していきます。第3回となる本記事は、LINE Botで「暗記カード」を作成し、新入社員の教育をサポートした様子をお伝えしていきます。

目次

新入社員に参考書を読む以外の勉強方法を提供したい

 こんにちは、プロトアウトスタジオ卒業生の周防(スオウ)です。普段はクラウドサービス AWS を使いインフラの設計/構築などをしているインフラエンジニアです。

 新型コロナウイルス感染症が拡大し、オフィスへの出社が困難となった中、新入社員が配属されることになりました。そして私は、業務で使用するクラウドサービスのAmazon Web Services(以下、AWS)を教えることになりました。基本的には在宅勤務なので、オンライン会議で講座を開いたり、チャットで質疑応答を行ったりします。それだけでも十分な教育が可能ですが、自習のとき参考書を読む以外の勉強方法を提供したいと考えました。そこで思いついたのが、暗記カードです。

図1:暗記カード
図1:暗記カード

 暗記カードとは、短冊形のカードをリング状の金具でまとめたもので、文具店で購入できます。英語や古文の単語を覚えるときに使った方もいると思います。

 AWSには、仮想サーバーやAIなどインフラやアプリに関するさまざまな機能がサービスとして提供されており、サービスごとにアイコンがあります。AWSの構成図はそれらアイコンで作図するため、アイコンを覚えないと構成図が理解できません。

 そこで、新入社員用にAWSのアイコンを覚える暗記カードを、LINE Botで作ることにしました。

なぜLINE Botで暗記カードを作ったのか

 私のAWSの勉強は、専門用語の暗記から始めました。AWSが提供するサービス名と、その概要を紙に書き暗記カードを作りました。そして、会社の最寄り駅の1駅前に降りて、歩きながら暗記しました。暗記カードは持ち運びが楽で、ちょっとした時間に気軽に勉強できるので、暗記に重宝しました。

 今はいろいろなものがデジタル化に向かっているので、暗記カードも紙ではなくLINE Botで作ることにしました。LINE Botならスマホで使えるので持ち物が増えません。

対象読者

 リモートワーク時代の新しい教育方法を模索している方を対象にしているため、LINE Botの作り方の詳細やプログラムコードは割愛しています。

LINE Botで暗記カードを実現する仕組み

 AWSでAPIを作りました。そして、作成したAPIとLINE Messaging APIを連携させてLINE Botにしました。作成したAPIの仕組みを構成図で説明していきます。

図2:LINE Botで暗記カードを実現する仕組み
図2:LINE Botで暗記カードを実現する仕組み

画像データについて

 AWSのアイコン画像はS3というストレージサービスに格納し、LINE Messaging APIからアクセスできるようインターネットに公開します。

図3:AWSストレージサービス S3
図3:AWSストレージサービス S3

 S3に格納した画像データですが、AWSのサービス数は100を優に超えるので、画像を用意するのに苦労しました。

図4:S3に格納したAWSサービスのアイコン画像
図4:S3に格納したAWSサービスのアイコン画像

問題文について

 問題文は、Dynamo DBというデータベースに登録しました。

図5:AWSデータベースサービス DynamoDB
図5:AWSデータベースサービス DynamoDB

 データベースには、アイテムという単位で1問ごとに問題を登録します。1つのアイテムに登録する情報には、表1のように問題文(Q)の他に正解(OK)/不正解(NG1、NG2)/画像ファイル名(img)などの情報があります。

                 
表1:DynamoDBに登録するアイテム
項目 キー
問題文 Q 何のアイコン?
正解 OK Kinesis Data Firehose
不正解 NG1 CloudTrail
不正解 NG2 WAF
画像 img kinesisdatafirehose.png

 DynamoDBに登録したデータはこのようになりました。

図6:データベースに登録した問題文
図6:データベースに登録した問題文

制御について

 問題を出題したり、正解/不正解を判定したりと処理を行うプログラムはLambdaで行います。AWSのLambdaはさまざまなプログラム言語に対応していますが、今回はPython 3.6を使用しました。プログラムコードと作り方は、GitHubに公開しましたが、こちらでは概要を紹介します。

図7:AWSファンクションサービス Lambda
図7:AWSファンクションサービス Lambda

 また、Lambdaで実装したプログラムが実行されたときに、AWSの監視サービスCloudWatchにログを出力します。プログラムのデバッグやユーザーの利用状況などをログから確認できるようにしています。

図8:AWSログ監視サービスCloudWatch
図8:AWSログ監視サービスCloudWatch

API化について

 LINE Messaging APIと連携するため、AWSのAPI GatewayでAPI化しました。

図9:AWS APIサービス API Gateway
図9:AWS APIサービス API Gateway

 このようにして、LINE Bot暗記カードが完成しました。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:自分自身で課題を解決するDX事例紹介

著者プロフィール

  • 周防 壮史(スオウ タケフミ)

     クラウドサービスAWSを使いインフラの設計/構築などをするインフラエンジニア。アイディアを形にしたくなり、プロトタイピング専門スクール「プロトアウトスタジオ」の2期生として入学する。卒業後も個人開発を進めアウトプットを続けている。

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5