タグ

2016年10月15日のブックマーク (4件)

  • Tweepy+Pythonによるユーザーストリーム〜pip, tweepyのインストールから〜(Mac)

    Tweepy+PythonによるTwitterのStream REST APIとStreaming APIがあります。 REST APIは取得回数に制限があり、リアルタイムに更新するような動作はできません。そこで、Streaming APIを用いると、The WorldやYorufukurouみたいに、制限をあまりきにすることもなくリアルタイムにツイートを取得できます。 REST APIについては、 Qiitaー「PythonTwitter API にアクセス」 こちらのサイトがとてもわかり易いです。 ツイートの投稿、検索、タイムライン取得などの操作ができます。 以下、Streaming APIについて。 まず、インストールから。 Tweepyを入れようとしたら、 ImportError: No module named pip.req と言われ、何のことかと思えば、pipを入れてな

    gokichan
    gokichan 2016/10/15
    twitter python
  • Streaming APIで大量のつぶやきをリアルタイムに保存する方法(Python編) | 配電盤

    前提:Twitter Developersでアプリのconsumer_key等を取得しておく必要があります。詳しく知りたい人は「Twitter OAuth」などを調べるといいでしょう。 なぜこんな技術が必要なのかは、cURL編で書きました。 Streaming APIを使うときは、接続が切れてしまったときにいかに接続し直すかというのがキモなわけですが、cURLで簡単に実現する方法がわからなかったので、240秒ごとに強制的に接続し直すという方法を採用しました。この方法には、(1)再接続のときにつぶやきを取りこぼす危険と重複して取得する可能性があること、(2)接続が切れてから再接続を試みるまでに平均で120秒かかる、という問題がありました。 Streaming APIは、つぶやきが無いときには「CR LF」を30秒おきに送信してくるので、これをチェックすれば切断を検出できるのですが、検出と再接

    Streaming APIで大量のつぶやきをリアルタイムに保存する方法(Python編) | 配電盤
    gokichan
    gokichan 2016/10/15
  • イテレータを実装しよう

    イテレータ(iterator)は C++ STL(Standard Template Library)の中核を成す概念のひとつで、ポインタの機能を抽象化したものである。 参照外し(dereference)、インクリメント・デクリメント、比較などのポインタ同等の機能を持つ。 STLの各コンテナには、それ専用のイテレータクラスが定義されており、 イテレータオブジェクトの生成はコンテナの begin(), end() メソッドなどで行う。 コンテナの最大要素を取得する例: vector<int> cntn; ..... // cntn にデータを格納する処理 int val = MIN_INT; for(vector<int>::iterator itr = cntn.begin(); itr != cntn.end(); ++itr) val = max(val, *itr); イテレータは、

  • 独自のイテレータを実装する - C++ プログラミング

    C++ の STL (Standard Template Library) では、std::for_each 関数 や std::fill 関数、std::vecotor<> クラス や、std::unordered_map クラス など、さまざまな場面で "イテレータ" という考え方が登場します。 イテレータというのは、ある値の保存場所を示すもので、通常の C 配列操作と互換性のあるクラスです。 std::vector<> や std::unordered_map<> では、それらが保持する値を順次取得するためのイテレータがあらかじめ用意されていますが、そのようなイテレータを自分で作って、独自のクラスで使用することもできるようになっています。 そこで今回は、イテレータを自分のクラスに実装する方法について見て行きます。 イテレータの種類と実装内容 イテレータの種類 自作のクラスにイテレータ