スマホなんて無かった子供時代、単語や公式を覚えるのに、単語帳を使ってませんでしたか?

単語帳って定期的に覚えるべきことを目にするためのデバイスとして優れてるんだけど、いまどき物理的な何かを持ち歩くというのはしんどいので、twitter bot にしちゃえばいいと思いました。

 

そんな昔を思い出した理由は、PMPの勉強を最近してなくて、でも9月末の受験を諦めていなくて、でも重要ワードや公式を覚えて無くて。これはもう、単語帳作るしか無いなと思ったからなんですけどね。笑

 

実は、PMP関連の twitter bot は既にいくつか存在してます。でもPMBOK第四版までにしか対応してないんです。

 

 

で、下記のようにメンションしたのですが、1週間以上放置プレイだったので、じゃあ全部作っちゃうことにしました。

 

 

ということで今回から3回シリーズで、PMP のtwitter bot 作ります。
 

 
 

では1回目、サーバ環境構築始めます。今回は、GCP(Google Cloud Platform)のCompute Engineを利用します。AWS・EC2でも良いのですが、GCPの方が無料対象の条件が良いという理由でGCPを選択しました。

 

以下、GCPのアカウントを作った後の手順です。

 

プロジェクト作成

プロジェクトとは、サーバ等のインスタンスをまとめるグループです。作成しても課金される類のものではないので、今回用に作成します。①プロジェクトの選択をクリックするとダイアログが表示されるので、②新しいプロジェクトを作成します。今回は「pm-professional」としました。

Compute Engine インスタンス作成

Compute Engine は、AWSでいうところのEC2です。CPUやメモリー、OSを選択し、サーバを自由に構築できます。GoogleのGと合わせ、GCEと呼ばれたりします。先程作成した「pm-professional」内に1つ作成します。①→②→③とクリックしてください。

GCEインスタンス設定

インスタンスを設定します。①名前を「twitter-bot」とし、②サーバの場所をアメリカのサウスカロライナに設定しました。サーバの場所は、webサービス等の場合日本や台湾に設定すべきですが、今回はbotということで、日本や台湾より安いサウスカロライナにしています。右のゾーンは、そのままでOKです。
③マシンのスペックは、標準としておきます。これくらいのスペックの方が最初のサーバ構築でRuby等をインストールをする時に速いのでこうしていますが、構築が終わったらマシンのスペックを下げる予定です。④OSはUbuntu16を選択していますが、最新の18でも問題ないと思います(細かな調整が必要になる可能性はありますが)。

SSH設定

サーバに入るためのSSH設定します。GCEペインの①メタデータから、②SSH認証鍵をクリックし、③SSH認証鍵を追加します。

 

④に使用する公開鍵をコピペし、⑤保存します。鍵の作成は「秘密鍵・公開鍵を作成する(Mac)」「秘密鍵・公開鍵を作成する(Win)」あたりに情報がまとまっています。

SSH先IPの確認

①VMインスタンスをクリックすると、②外部IPが表示されます。このIPに対し、先程登録した認証鍵でSSHします。AWSと異なり、サーバの停止・起動時にIPが変わる確率が高いので注意が必要です。

 

以上で、Webコンソール画面からの操作は終了です。

 

以下、terminalから操作していきます。

 


 

ruby2.5.1のインストール(rbenv使用)

$ sudo apt-get update
$ sudo apt-get install -y emacs gcc make libssl-dev libreadline-dev zlib1g-dev

$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv
$ cd ~/.rbenv && src/configure && make -C src

$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ source ~/.bash_profile

$ emacs /.bash_profile #add <code>MARKDOWN_HASH2ac742365ce7306202dfba6a96727831MARKDOWN_HASH</code>

$ mkdir -p "$(rbenv root)"/plugins
$ git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build

$ rbenv install 2.5.1

 

mysql5.7のインストール

$ sudo apt install mysql-server mysql-client
$ sudo systemctl enable mysql

 

ひとまず、Ruby と mysql を、GCEにある ubuntu16 に入れました。

 

twitterへのアプリケーション申請あたりをカバーします。

 

1 のコメント

  1. ピンバック: twitter botで単語帳を作る(twitter API - Ruby 連携編) - All for CONTENT

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です