技術書典7にて発行した「DiscordBot運営実践入門」です。 A5 / 180ページ 15万人が使う読み上げBot「shovel」を題材に、セキュリティ・監視・開発プロセス・運営・運用・広報・お金・etc… サービス運営に関するアレコレを考える、「個人開発サービスを身内向けで終わらせないための本」です。Discord Botを作りたい方にはもちろん、Webサービスを本格的に一般公開したい人にもおすすめの一冊です。
かならずお読みください
【紙の冊子+PDF版】 紙の冊子はBooth倉庫より発送されます。 また、おまけでPDF版が付いてきます。PDF版は購入後すぐにお読みいただけます。 【PDF版】 PDFは、購入後すぐにお読みいただけます。
目次
第1部 shovelを解剖してみよう 第1章 DiscordとDiscord Bot 1.1. ゲーマーに大人気! ボイスチャットサービス「Discord」 1.2. Discord Botの正体 1.3. Discord Botで「Hello, world!」 第2章 shovel - 日本語読み上げBot 2.1. 15万人が使う読み上げBot「shovel」 2.2. shovelの機能を紹介! 第3章 shovelのシステム構成 3.1. shovelの必要スペックは? サーバー性能公開 3.2. shovelのシステム全体構成 3.3. shovelを助けるミドルウェアたち 3.4. shovelを見守る監視体制を実現するツール 第4章 shovelのソフトウェア構成 4.1. shovel本体を俯瞰する 4.2. cog - shovelを構成する歯車たち 4.3. shovelの機能を請け負うモジュール 4.4. 多くの外部パッケージがshovelを支えている 4.5. shovelが使う外部アプリケーション 第2部 高品質なBotをつくる 第5章 たくさんの人に使ってもらえるサービスを作ろう 5.1. たくさんの人にサービスを使ってもらうには 5.2. shovelの戦略 - ユーザーを逃がさない! 5.3. システムの品質について考える 5.4. 開発プロセスを俯瞰する 第6章 品質を上げるための設計のポイント 6.1. ユーザビリティを考える 6.2. ユーザビリティの実例 - shovelの工夫 6.3. 異常系に漏れなく対応しよう 6.4. 漏れた異常系を後からみつける 6.5. ログはBotを良くするヒントの宝庫! 6.6. アプリケーションログはBotの活動日記 第7章 開発環境 - 開発効率と品質をあげる要 7.1. コードを書き、動かす環境を整えよう 7.2. 環境を3系統用意しよう 7.3. 環境をつくる手順 7.4. コード変更なしに環境を切り替える方法 第8章 実装 - いざ、コーディング 8.1. 実装の流れ 8.2. リファクタリングで保守性を担保! 8.3. リファクタリングのヒント 8.4. 保守性を高める実装の例 8.5. ユーザビリティのための実装 第9章 試験 - コードの品質をまもる、最後の砦 9.1. 試験とは何なのか 9.2. 試験を設計しよう 9.3. 試験を実施しよう 第10章 Discord Botの試験自動化 10.1. 試験自動化とは 10.2. shovelの試験に欠かせないモジュール「jishaku」 10.3. 試験自動化の実装方法を紹介! 第3部 Botの信頼性を高める土台 第11章 アップデートのための作業 11.1. アップデートリハーサルをしよう 11.2. 本番アップデートの実施 11.3. 2系統アップデートでダウンタイム大幅短縮! 第12章 Botの土台作りのダイジェスト 12.1. どこでBotを動かすか検討しよう 12.2. サーバーのセットアップをダイジェストで紹介! 12.3. データベースでデータを永続化しよう 12.4. バックアップ設定 第13章 セキュリティ - Botとユーザーを守る壁 13.1. 知らないうちに犯罪に加担しないために 13.2. サーバーのセキュリティを固めよう 13.3. Botを狙う攻撃手法を知ろう 第14章 監視 - 24時間みまもり体制 14.1. みまもり+非常アラート=監視 14.2. 何を監視する? 14.3. 監視に役立つツール 14.4. Botをツールから監視できるようにしよう 第15章 バックアップ - 安心を確保する 15.1. バックアップの必要性 15.2. さまざまなバックアップ 15.3. バックアップの作法 第4部 Botの運営 第16章 運営 - 個人開発の醍醐味! ユーザーと接しよう 16.1. 情報発信の拠点をつくろう 16.2. ユーザーとどう関わるか考える 16.3. サービスを段階的に公開するメリットとデメリット 16.4. 効果的な広報でBotを知ってもらおう 16.5. Botに機能を追加する 16.6. Botから機能を削除する - 破壊的変更 16.7. 動作詳細ログでアプリケーションを分析する 第17章 Bot運営の金銭面 17.1. Bot運営は儲かるのか? 17.2. Bot運営で出ていくお金 17.3. Bot運営で入ってくるお金 17.4. shovel収支報告