Twilio新春チャレンジに参加してきました!
SendGridチーム新人の佐々木です。2月12日(金)と2月13日(土)に開催されたオンラインイベントの「Twilio新春チャレンジ」に参加しましたので、その様子についてご紹介します!
Twilio 新春チャレンジとは
「Twilio新春チャレンジ」とは、Twilio社が提供する「TwilioQuest 3」をプレイし、参加者同士でXPと呼ばれるポイントを競い合うイベントです。Twilioの各種サービスや、JavaScriptやPythonなどのプログラミング言語について、ゲーム感覚で楽しみながら学ぶことができます。
なんと上位入賞者には豪華賞品まで用意されており、チャレンジの1週間前には「TwilioQuest 攻略情報」という、XPの稼ぎ方について前回大会優勝者から講義を聴けるイベントまで開かれました。興味に応じて好きなサービス・言語だけ学ぶのも良し、入賞を目指して寝る間を惜しんでプレイするのも良し、非常に自由度の高いイベントです。
ゲームの導入方法や基本的な操作方法などは、Twilioブログ記事の「Game + Tutorial = TwilioQuest3のはじめかた」にて、分かりやすく解説されています。また、このイベントは定期的に開催されており、前回2020年10月にもSendGridチームで参加体験記をレポートしていますので、ぜひご覧ください。
プレイ内容の紹介
・Basic Training(チュートリアル)
多くのプレイヤーがまずこのステージから攻略を開始するのではないでしょうか。
このステージはゲームの進め方や操作方法を把握することが主目的です。クエスト画面に表示される「Objective」と「Help」の説明さえきちんと読み解けば、初心者でも攻略可能なクエストが多く用意されています。Basic Trainingの進め方については、Twilioブログ記事にも詳しい案内があります。
・JavaScript Test Lab(JavaScriptステージ)
Basic Trainingを終えて、次に私が手を付けたのは、初心者にもおすすめと名高いJavaScriptのステージです。文章の出力や四則演算にはじまり、定番のFizzBuzz問題まで、基本的な内容が幅広く学べるようになっています。
ただし取っつきやすいとはいえ、クエストの数が非常に多いので、100%コンプリートを目指そうと思うと根気が必要になります。 私は6割程度クリアしたところで離脱しましたが、未経験の言語でも、熱中して2〜3時間プレイしているうちにそれなりに動かせるようになっているのですから、不思議な気分です。イベント序盤にして、TwilioQuest 3というゲームの狙いに気付かされました。
・Mysteries of the Pythonic Temple(Pythonステージ)
続いては、Pythonのステージです。JavaScriptと同様にインタプリタ型言語で、初心者でも簡単にコーディングができます。難しい環境設定等もなく、比較的スムーズにクエストを進められますので、個人的にはこのPythonステージもおすすめです。
1つのクエストで得られるポイントは100〜200XP程度のものがほとんどですが、最後に用意されているパズルを解くと、なんと1,000XPがゲットできます!私はこの1,000XP欲しさに、深夜遅くまで攻略を続けてしまいました。
・Ocean of Email(SendGridステージ)
最後は、普段の業務で使い慣れているSendGridのステージに挑戦してみました。
注意点として、このステージを進めるにはSendGridのアカウントが必要になります。私はアカウントを所持していた分、他の参加者の方に比べて有利だったかもしれません。
SendGridチームの一員として、クエスト攻略のヒントをご紹介します!
・Authentication is Key
SendGridダッシュボードでAPIキーを作成し、提出するだけでクリアとなります。
トランザクションメールを送信するための第一歩となる手順ですので、以下のドキュメントをしっかり理解しておきましょう。
チュートリアル資料:APIキーの発行方法
APIキーの管理について
・Special Delivery
作ったAPIキーを利用して、指定された宛先にメールを送信するクエストです。
メール送信のリクエスト方法は、こちらを参考にしてください。
ちなみに、前のクエストでAPIキーが自動でゲーム内環境変数に設定されており、リクエストコードもすでにエディター上に書いてあります。したがって、このクエスト自体は実質送信先を指定するだけでクリアできてしまいます!
・Webhooked on Email
SendGridが提供する機能である「Event Webhook」を実装するクエストです。
ダッシュボード上では、送信したメールで発生したイベントを最大7日前まで確認することができます。イベントを確認することで、送信したメールが届いているかどうか、開封されたかどうか、などを知ることができます。
Activity画面でメールが届いているかどうかを確認する方法
Event Webhookを使うことで、発生したイベントデータをPOSTし、外部データベース等に格納することができます。これにより、Activity画面の表示制限を超えて、全てのイベントログを保持することができるようになります。
手元のマシンでEvent Webhookを実装する場合には、受信用アプリケーションを用意する必要があります。是非こちらのブログ記事も参考にしてみてください。
プレイを終えて
今回のイベントでは、1日目と2日目を合わせて約10時間ほどプレイしました。
私の最終結果は10,000XP、順位は11位となりました!
賞品は上位10位までに用意されていましたので、非常に惜しい結果でした。
PythonやJavaScriptを中心にポイントを稼ぎ、序盤は調子がよかったのですが、数多くあるTwilioサービス関連のクエストを触りきれなかったことで、点数が伸び悩んでしまったようです。
Twilio社では、頻繁にハンズオンやウェビナーが開催されており、初心者から開発者まで幅広く興味に応じて参加が可能です。(Twilio Japanのイベント情報はこちら)
私もこれらのハンズオンに参加してトレーニングを積むことで、次回こそ上位入賞を狙いたいと思います。
皆さんも是非「TwilioQuest 3」をプレイして、SendGridやTwilioの各種サービスを楽しく体験してみてくださいね!