第2期Perl入学式修了したので、MojoliciousとtwitterAPIのおさらい的なアプリを作ってみた
Perl入学式第2期が無事終了しました。
今期は非力ながらサポーターとして関わらせていただき、色々なエンジニアの方々との出逢いもあり、とても楽しく実りのある1年が過ごせました。
せっかくのタイミングなので、非ITエンジニアで何の知識も無い人でも、Perl入学式で1年学べば、こんな感じのものは作れるようになりますよ的なアプリを作ってみました。
少し前に、
@tomcha_ 僕はMacのsayコマンドが喋った発音派なので敵対勢力ですねw
— あずま(猫)@京都 (@azumakuniyuki) February 25, 2014
@azumakuniyuki mac、ターミナルでsayコマンドで喋るんですね!知らなかった
— tomcha (@tomcha_) February 25, 2014
Macのターミナルから喋らせる事ができる事を教えてもらったので、TL上でよく見かける面白ツイートを喋らせてみました。
今回新たにチャレンジしてみたこと
Config::PLモジュール
前にNet::Twitter::Lite::WithAPIv1_1を使ってtwitterbotを使った時は、TwitterAPIにアクセスする為のパスワードとかキーとかの公開しちゃいけない設定ファイルは、テクストファイルをわざわざopen関数で開いて、読んで、閉じて、使っていたのですが、songmuさんの作られたConfig::PLという、設定ファイル内容(キーと値)をハッシュ形式で書いて.plファイルとして保存しておけば、簡単にキーと値が読み出せるモジュールを使いました。面倒くさくなくて超便利。書いたコードも短いので、使い方は見たままです。
TwitterAPIから目的のTweetをとってくる部分をモジュール分離にした
Mojoliciousのgenerateコマンドで作られる最初のひな形コードに、TwitterAPIを弄るコードを直接書かず、Tweet.pmというモジュールに分離してみました。モジュールでは、引数に引用したいtwitterユーザーのidを渡してオブジェクトを生成すると、そのオブジェクトのget_tweetメソッドで対象ユーザーの過去300件のtweetから15文字以内の短いセンテンスのツイート群を配列リファレンスととして返すというものです。perlのオブジェクト指向っぽいコードの書き方を試してみました。
generate Mojoで作った実行ファイル「sample」を、とりあえずmorbo sampleで実行して、127.0.0.1:3000にアクセスしてみたらこんな感じです。
いつもの例によって、ひさいち先生にご登場頂きました。ボックスにtwitterIDを入れてボタンを作るボタンを押すと、しゃべらせるボタンが生成されます。
流石先生、いい感じなボタンが沢山生成されましたね。実際ボタンを押すと、
こんなことや
こんなことを
Macがしゃべります。
コードはGithubのこちらに上げました。コードもごく短かく、見たまんまです。動作はMac限定です。