Archive for May 2009

WebShot 2009

written by shn, on May 21, 2009 10:09:00 PM.

昨日の夜中に突然ウェブページのSnapShotを撮るサーバが欲しくなった。SBMのサイトによくある奴。FreeBSD / Linuxでやりたいのよね。

先人の知恵を探すのだが、良い検索語がわからない。「Webnailと呼ばれているらしい」ということでGoogleさんに聞いてみたら「もしかして: Webmail」とか言われて死にたくなった。結局 "Webpage screenshot"とかで良かったよ。

んで探すと良く出てくるのがXvfb + firefoxの組み合わせ。2006年のSimpleAPIの時にみなこぞって作ってたらしく、その頃の話が出てくる。 この方法は、Firefoxを使っているので、いろいろな通知系を殺さないといけないのと、そもそもonLoadのイベントが取れないからsleepを適当にやってからScreenshot撮るってのがぜんぜんだめ。

んでもうちょっと探すと、Xvfb + QtWebKitを使った話がでてきた。これだとonLoadのイベントが取れる。

試してみたら、かなり簡単に撮れて拍子抜け。PortsでXorg + Qt一式のビルドに3、4時間かかったけどな!

元コードをちょっと弄って、scrollbarを消してみた

frame = self.page.mainFrame()
# hide menu bar
frame.setScrollBarPolicy(Qt.Horizontal, Qt.ScrollBarAlwaysOff)
frame.setScrollBarPolicy(Qt.Vertical, Qt.ScrollBarAlwaysOff)

縦長のScreenShotを撮るには baseSize = QSize(800, 600) # まず基準となるサイズにする self.page.setViewportSize(baseSize) # contentSizeの方が多きかったら(スクロールバーが出てたら) contentSize = self.page.mainFrame().contentsSize() if contentSize.width() > baseSize.width(): self.page.setViewportSize(contentSize)

あと僕の環境だと、Qtの画像縮小は汚ないのでPILとかを使ったほうが良い。

これの前段にSquidとか挟むべきなんだろうな。まぁなにはともあれ、やりたい事はできた

やっとOS XにQ4Mが入れられたぜ日記

written by shn, on May 18, 2009 5:21:00 AM.

うわーん 5時だ。

MacちゃんにQ4Mに入れるのを、主に私の無知によりてこずった。 環境はMacOS 10.5.7, MySQL 5.1.34 x86_64 (from MySQL AB)。

普通に ./configure -> make するとリンクできない って怒られる。 原因はQ4Mをi386でビルドしているからなので、

% ./configure --with-mysql=/usr/local/mysql CFLAGS='-arch x86_64' CXXFLAGS='-arch x86_64'

で、ビルド & インストールまでは完了。(ARCHFLAGSでも良いのかな。) perlが32bitでDBD::mysqlが入らず、テストが動かないのが泣きそうなのだが、ちょっと試した感じ一通りの機能はうごいてる。

こんな記事を読んだあとだと堪えるね! まぁ でもガンガンはまってこそ、その次にはまらなくなると信じて生きてゆきたい。

FastweetにAdWhirlを載っける

written by shn, on May 13, 2009 10:51:00 PM.

Fastweetは無料で配布していますが、広告を載せてみる事にしました。副次的に効果測定もできるようになります。 AdWhirlが勢いがあるぜ! という記事を目にして即AdWhirlにしてみた鳥頭なんですが、そもそもAdWhirlを良くわかってなかった。

AdWhirlは複数のAdNetworkを一つにまとめて自動的に最適化してくれるサービスなんですね。 対応するAdNetworkはいまの所、AdMob, Pinch Media, Videoegg, Quattro, MobClix。他に自分でもAdを追加できる(自分の作っている他のアプリの広告とか)

iPhoneアプリへの組み込み自体は至極簡単で、SDKをインストラクション通りに導入すればすぐ。 320 x 50の広告がデフォルト30秒間隔で表示される。

"広告の最適化"は、AdNetworkに対して働くみたい。(AdMob 7割、Pinch Media 3割のように)

広告料の支払いに対して、W-8BENの申請等はどうなるのだろう? 要調査なのだがFastweetはそんなにユーザー多くないので後まわしかな。

次のステップは、「AdWhirlにFastweetの広告を載っける」だな。