女子小学生と××したい

Webフロントエンド界のゴミクソメンヘラであり続けたい

10分でできるTwitter Bot@Rubyに6時間かかった話

jsやめます!!!!

お久しぶりです。あ、待ってない。あそう。
↑は嘘です。正確には「js(に頼るのは)やめます!!!!」です。
最近めっきりjsを書かなくなりました。自分の頭の悪さ故に頭打ちが見えたからですかね。
あ、艦これやってます艦これ。艦これウィジェット
お寿司だいすき (otiai10) on Twitter氏が意識高くてすげーなとか最近思ってます。艦これ自体は3-2で止まってます。
無駄話かつ愚痴になってしまったので本題に入ります。

武器を増やしたいなーと思って。正直jsってjQueryとかcreateJSのお陰である程度のレベルまでは簡単に行ける分野だと思います。あくまで個人的な意見としては。
武器を増やすためにこないだまでobj-Cやってました。DICE+ Digital board game controller | Smart electronic diceで遊んでました。でも僕にはobj-Cは難し過ぎたので一旦手を離しました。
弊社のイケメンエンジニアに「カジュアルにwebアプリケーション作るのに手っ取り早く何始めたらいいですかね」って聞いたら「そりゃおめぇRailsよ」って言われたので始めました。

で、表題ですよ。ちなみに僕はrubyド素人です。どのくらいド素人かというと

  • まともに触ったのが今日
  • bigin
  • defってなんやねんCの#defineみたいなもんか

という感じです。なんかruby素人以前に頭がおかしい感じしますがお気になさらず。
で、とりあえずtwitter botでも作るかーと思って以下の記事にたどり着きました。
10分でできるTwitter bot @ Ruby - 酒と泪とRubyとRailsと
先に言っておきますと、6時間かかったのはこの記事様に責任は一切ございません。悪しからず。

詳しい説明は省いてこの記事の通りにコードを書いて実行したところ動かない。
エラー再現させるのめんどくさいのでエラーメッセージは割愛しますが、ざっくり言うと

Twitter.configure do |config|

この行について、「configureとか知らんわpgr」って感じでした。
さぁこっからが長かった。ここも長くなるので割愛しますが、ググって試してコケてを数回繰り返し、駆逐艦隊を遠征に出して3-2-1で主力艦隊をレベリングしてググって試してコケてを繰り返して5時間が経過しました。なんか変なの入ってますね。

で、「なーんかjsのTwitter関連で前にもこんな困った覚えあるなー」と思って思い出したのが、TwitterAPIの1.0->1.1のアップデートでした。
どうやら上記記事が書かれた時点から現在までにTwitter gemにそれに係る大きな変更があったらしく。
というわけでTwitter gemのドキュメント読んで上記問題部分を

client = Twitter::REST::Client.new do |config|

にして

client.update(tweet)

したら一撃でした。何はなくともドキュメントを読めって話ですね。
というわけで、obj-Cのときはブログ書かなかったんですが、長続きさせる決意表明としてブログ書きました。obj-Cを途中で投げてしまったコンプレックスがあるので、なんとしても頭打ちのところまでは続けたいです、Rails。でもなんかこう、ちゃんとツイートが飛んだとき、初めてjQueryでDOMいじっておもろかったときの気持ちを思い出してほっこりしました。頑張ります。
次はこれを改造して、自分の一時間当たりのツイート数を監視して、一定数を超えてたら「親が泣いてるぞ」ってメンション飛ばすようなの作ってherokuに乗っけるとこまでやろうと思います。
ちょー頑張る。
ところで俺、あたかも誰かが読むことを想定しているような口調でブログ書くけど、誰か読んでくれてるんかしらね。でも別に自分の備忘録でブログ書いてるわけでもないし、これでいいのかきっと

P.S.
先日、学部時代にお世話になった電気通信大学の西野順二先生の研究室ページのリニューアルをお手伝いしました。
このへんファジィ 電気通信大学・西野研究室