2011-02-01から1ヶ月間の記事一覧

Pythonのfor文のリストの評価は一度だけ

pythonのfor文を使う時に for i in xrange(len(list)): って書き方をすると思うのですが、 len()が毎回実行されたりするのかなぁ?と思って気になりました。 何か関数とかをここで実行した時にパフォーマンスに関わるのかな?という疑問ですね。 確認するた…

Web::Queryの使い方練習のためにApple Storeのnew製品を取得する

この種のライブラリとして Web::Scraper があるが、Web::Scraper の DSL をおもいだすまでにどうしても時間がかかりがちだったので、こういう風なのもいいかなとおもった。jQuery は日常的につかってるので、わすれないし。 わーぃ。いつもWeb::Scraper使う…

ブクログの本棚のデータを新刊.netへ登録するGoogle App Engineのアプリを作ってみる

さてさて、僕は漫画が大好きで常に漫画に囲まれていたいとか思っちゃう方なのですが、 記憶力があまり良くなくて「あの本買ったっけかな?」「あの本読んだっけかな?」と時たま思うことことがあります。 それをなるべく減らそうと、 新刊.netにキーワードを…

Pythonでリストの内包表記を使って2次元リストを1次元リストにする

やりたかったことは list = [[1, 3, 5], [2,4]] こういう2次元のリストを [1, 3, 5, 2, 4] こういう1次元リストにしたくてどうすればいいのかなぁと。 for文作ればすぐできそうだったのですが、大した処理でもないので1行で書けないのかなと思いました。 「…

Tweepyでエラーにならないように例外処理する

PythonでTwitter APIを扱うためにTweepyを使ってみたのですが、404エラーになるようなAPIを叩いた時にエラーになっちゃう。 >>> oauth_api.retweets(1) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/tmp/tweepy/binder.py", line 184, i</module></stdin>…

Googleの検索結果にFacebookの「いいね!」を追加表示してあらあらうふふ

最近、facebookの「いいね!」の数を表示しているページが増えてきたなぁと感じます。 ただ、facebookの良いところは「自分の知っている近くの誰か」なので、数だけ出しているよりも「あなたの知り合いの〜さんが」的なことまで表示してるページの方がfacebo…

Google App EngineでOAuth使ってTwitterAPIを扱う

Google App Engine Pythonの話です。 「Google App EngineでTwitterのAPIを扱うためには何使うのがいいのかなぁ」 とちょっとググってみたところ、Tweepyというのが見つかりました。 これを使ったサンプルもtweepy-examplesにあったのでそれなら何となくわか…

PythonではNoneの比較は==ではなくisを使う

前にPythonの勉強を軽くしたものの、短期間で基本的な部分だけをサラッとやったために時間が経ったら忘れてしまってました。 で、久々に何となく書きつつ、 「あ、pythonはeqとかなくて判断する時は==一種類でいいんだったっけ。」 とかうろ覚えのままif文書…

TwitterのAnywhereでタイムラインやユーザのデータを取得

今さらですがTwitterのAnywhereを使おうと思いまして、 ちょっと軽くページを見てみたら「ユーザ名に自動でリンク追加」とか「マウスオーバーでユーザ情報を取得する」みたいなのしかなく、 「あれ?こんなくらいしかできることないんだっけ?もっといろんな…

MacでWindows7のDVDからisoイメージファイルを作る

mac

MacBookのドライブをスーパードライブに交換するでDVDドライブの交換が終わったので、元々の目的だったWindows7をVMware Fusionにインストールしました。 すごいね。サクサク動く。ビックリした。こんなにサクサク動くのね。 今までXP動かしてたのが8年前く…

MacBookのドライブをスーパードライブに交換する

もう結構昔のタイプの2007 lateのMacBook(MB061)の話です。 (自分のMacBookのタイプが分からなくて困ってたんですが、Mactracker使えばサクッと調べられるんですね) そもそもMacBookのコンボドライブの調子が悪くなっていて最近はDVDもCDも使えずの状態…

はてなダイアリーでCSS3を使ったフォトギャラリーのプロトタイプ

既に作っている人がいるかなと思ったけど、前にjQuery使ってスライドショーを作った時に「CSS3だけで作れたらはてなダイアリーでも使えるのか」と思ったので軽く練習してみた。 HTMLはこんな感じ。 <div id="galleries"> <a href="#" tabindex="1">1</a> <div class="gallery"> <img src="http://distillery.s3.amazonaws.com/media/2010/10/30/8b9c34670730483d939b1a2536caa32c_7.jpg"> </div> </div>

findで複数のORを使う場合はarrayで囲む

CakePHPでfind使うとき SELECT * FROM t WHERE "id" = '1' AND (("status" = '1') OR ("flg" = '1')); というSQLが書きたければ find('find', array( 'conditions' => array( 'id' => 1, 'OR' => array( 'status' => 1, 'flg' => 1, ), ), )); みたいな感じ…

bindModelで別のモデルを関連づけてsaveAllする際、isUniqueのバリデーションルールのせいでsave()できない場合は第2引数にfalseをセットする

タイトルの通りですがsaveAll()で保存に失敗してハマったのでメモ。 流れは以下のような感じ ModelA hasMany ModelB ModelBはModelAのキーであるmodel_a_idをもつ(外部キーがmodel_a_id) ModelA->saveAll()を使ってModelAとModelBの両方を同時に保存したい…