タグ

ブックマーク / higumachan725-aoj.blogspot.com (2)

  • WebベースのTwitterClientを作るまで

    まず、どうして作ったのか。うちの学校では基的に学内回線からTwitterできません(スマフォClient、テザリング、ポケットWiFiとか使えばいいんだけど)しかも、私はガラケーです。 最後の望みで合ったTabtterの仕様期間も切れてしまったので、作ってみようかなと思いました。 実装はPython+Flaskです 今回の実装は実装速度を重視したので、ステップの横に所要時間を書いて行きます。 Twitterの認証:前々に紹介したFlaskでTwitter認証を行うモジュールで一瞬でした(10分) TimeLineの取得:Tweepyというライブラリを使って瞬殺。(5分) Tweetする:Tweepyで瞬殺(3分) もう取得したTweetはTimeLineに表示しない:取得したTweetIDの最大を持っておいて次に取得したときそのさっきのTweetIDの最大より大きい間でWhileを回す。

    h6n
    h6n 2012/05/02
    52分でTwitterクライアントを作った話。これを見ると1時間でTwitterクライアントを作る競技とかあってもよさそうだなーと思う。
  • 自前LISPのGCの実装

    昨日の続きで自分でLISPを実装した話をしていきます。 今回の実装でいちばんバグが多かったのは今日話すガーベジコレクタ(GC)ですね GCとは動的に取ってきたメモリ領域を使われなくなった部分だけ開放するというものです。 まず、このような処理系を実装するのは初めてなので自分は王道がわかりませんでした。 それなので、静的記憶域、動的記憶域(スタック)と関数テーブルの中を探索してここは使われてますよっていう、チェックをつけました。 しかし、これだけでは変数が参照として持っているものが開放されてしまうので、チェックしたところの中の値を調べて参照ならまたその中を調べるを再帰的に繰り返すことで、必要なところ全てにチェックがつきました。 そして、これをコンパクションつまり、詰めて行きます。 そして、実行したら動きました。 しかし、GCを動かしたあとにたまに不具合が。 テストをいっぱいしていると不具合が起

  • 1