org.apache.commons.httpclient.MultiThreadedHttpConnectionManagerを使っているから. くそー...面倒くさいな..
2009年9月20日日曜日
java-twitter とGAE
java-twitterはApp Engineでは使えない.
java-twitterのインストール
twitterのAPIをwrapしたライブラリjava-twitterをインストールしようとしたら,はまったのでメモ.バイナリがダウンロードできるのだが,依存しているjarが全然書かれていないので,一筋縄ではないかない,という...これがmaven時代のjavaプロジェクトのありかたなのか.
前提として,mavenはインストールされていること.適当なプロジェクトを作る.
> mvn archetype:create -DgroupId=com.example -DartifactId=sample > cd samplepom.xmlを編集して,下記を追加.レポジトリを追加しているのと,コンパイラのバージョン指定.
<repositories>
...
<repository>
<id>java-twitter-repository</id>
<url>http://java-twitter.googlecode.com/svn/repository/</url>
<name>java-twitter maven repository</name>
</repository>
...
</repositories>
...
<dependencies>
...
<dependency>
<groupId>net.unto.twitter</groupId>
<artifactId>java-twitter</artifactId>
<version>0.9-SNAPSHOT</version>
</dependency>
...
<dependencies>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
で,
> mvn package > mvn dependency:copy-dependencies -DoutputDirectory=libとやるとlibにすべてのjarが集められる.
> cd lib > ls commons-beanutils-1.7.0.jar ezmorph-1.0.6.jar commons-codec-1.2.jar google-collections-0.9.jar commons-collections-3.2.jar java-twitter-0.9-SNAPSHOT.jar commons-httpclient-3.1.jar joda-time-1.6.jar commons-io-1.4.jar json-lib-2.2.3-jdk15.jar commons-lang-2.4.jar junit-3.8.1.jar commons-logging-1.0.4.jar protobuf-java-2.2.0.jarこんなにたくさん...たしかにこれはいちいち書いてられないかも.
2009年9月15日火曜日
OOWebとPOST
OOWebというcherrypyににたサーバフレームワークがある.メソッドをURLツリーにマップして,リフレクションでよびだしてくれてなかなか面白いのだが,どうもPOSTで生データを送ったりするのに対応できないっぽい.formからPOSTする場合のデータはちゃんとハンドルしてくれるのだけど,逆に生のデータがとれないのだ.
メソッドにはRequestStateという引数がわたるのだけど,このRequestStateのなかに生データへアクセスする方法が含まれていないようなのだ.eclipseで止めてのぞいてみたがだめっぽい.
ソースをみても,RequestState以外を引数として呼び出すコードはない.ということで多分だめ.うーん,面倒だなあ.やっぱりjettyを使うのか..
2009年8月27日木曜日
NHKのラジオ講座をMacでダウンロード
NHKのラジオ講座は,今年度から前の週1週間分だけ,ストリーミングできるようになった.
これはこれですばらしいことではあるが,なんで一週間分なんだ! とか怒りもわいたり.
さらに問題なのは,ストリーミングにフラッシュを使っているので,普通にダウンロードすることが
できないこと.しかも昨年度の試行では普通にできたのに,わざわざ今年度からできなくしているのだ.
こういう嫌がらせにどういう意味を見いだしているのか理解できない.
それはさておき何とかならないか,調べてみると,Windows上には
高梨IT製作所のキャプチャツール
というツールがあり,フラッシュをダウンロードしてmp3に変換してくれる.
すばらしいのだが,MP3の名前をSJISにしているので,Macにコピーして iTunesに取り込むと文字化けする.
コピーするのも面倒.
で,幸いこのツールはRubyで書かれているので,Macで使えるようにしてみた.
このキャプチャツールはrtmpdumpという外部プログラムを
使ってflvをダウンロードし, ffmpegを使ってmp3に変換する.なので,これらをMac上に
用意する必要がある.ちなみに,rtmpdumpはadobeの独自プロトコルをリバースエンジニアリングして
作った物のようで,ちょっとグレイかもしれない.
ffmpegは
sudo port install ffmpegで入る.rtmpdumpのほうはソースからコンパイルする.このときopensslが必要なので,
sudo port install opensslでopensslを導入し,rtmpdumpのメイクファイルを編集し,CFLAGSとC++FLAGSに
-I /opt/local/includeを,LDFLAGSに
-L /open/local/libを追加しておく.これでmakeすると rtmpdump_x86 というバイナリができる.これを 適当なパスにコピーしておく. キャプチャツールにはCUI版とGUI版がある.CUI版のほうを使う. ここ からダウンロードできる. ZIPを展開すると,トップディレクトリにget-flv.rbがある. このなかで,rtmpdumpとffmpegのバイナリを指定している場所があるので 適当に書き換える.id3も指定しているが,使っていないようなので無視. ファイル名がSJISになっているのは,わざわざSJISにしているから. lib/get_flv.rb に何カ所か tosjis を呼んで部分があるが, それらを全部削除. これで,完成.
ruby get-flv.rb korとやると,mp3/kor に日本語名でファイルがつくられる. iTunesに入れても文字化けしない. すばらしい.
2009年7月28日火曜日
2009年7月24日金曜日
linux container ホスト,ゲスト通信
Linuxコンテナでは,ゲスト上で任意のジョブを実行することができない.vserver だとできるのだが.ネットワークをちゃんと設定してsshでやればいいのだが,macvlanを使う場合にはなかなか面倒らしい.
で,いろいろ試してみたら,FIFO (名前付きパイプ) で通信できることがわかった.ゲストのファイルシステム上にFIFOをつくればいい.簡単.
2009年7月17日金曜日
VMware serverのコマンドラインからの制御
ここにいろいろ書いてある.VMのIDは16,32,といくようだ.ひょっとして48を指定すると,16と32が同時に制御できるのか?
vmware-vim-cmd vmsvc/getallvms - リスト取得 vmware-vim-cmd vmsvc/power.on 16 vmware-vim-cmd vmsvc/power.off 16 vmware-vim-cmd vmsvc/power.reboot 16
登録:
投稿 (Atom)