25102005
PDFのPerlStyleがかなりためになった。特に2回のClass::DBIのあたりと3回のTemplate-Toolkitの使い方はかなりわかりやすかった。
ってことはCatalystに突入かも。
ちょっと作り直したいものがあるので、Catalystでやってみたい気分満載じゃ。
25102005
PDFのPerlStyleがかなりためになった。特に2回のClass::DBIのあたりと3回のTemplate-Toolkitの使い方はかなりわかりやすかった。
ってことはCatalystに突入かも。
ちょっと作り直したいものがあるので、Catalystでやってみたい気分満載じゃ。
24102005
DOM & OPTICALでなにやら、ファンキーチックなのが出てきたヨ

24102005
CurlではOKだけどWgetはプロキシーが超えられないという謎の挙動は、結局解決しなかった。500番(Internal Server Error)でSSLの接続ができないというエラーなのはわかったが。
Some added "magic" is apparently needed since rhnlib is able to go through it but urllib isn't. Actually the same problem happens with wget vs curl: curl is able to go through the proxy with https, wget isn't, with the same exact proxy config. Any ideas?
色々調べたけど、そういうものっぽいのか?
というわけで、WWW::Curlを入れてみた。
make testのあたりが素直でないので、perl -MCPANでなくて、普通にmake test無しでいれた。force installでも良かったのかな
#!/usr/bin/perl use strict; use WWW::Curl::Easy; my $url = 'https://www.google.com/adsense/'; my $curl = new WWW::Curl::Easy; $curl->setopt(CURLOPT_URL,$url); #$curl->setopt(CURLOPT_SSL_VERIFYHOST,0); #$curl->setopt(CURLOPT_SSL_VERIFYPEER,0); my $code = $curl->perform;
認証周りで悩んだときはCURLOPT_SSL*をつけておけばいい。ちょっと使ってみた感じではやっぱCURLOPT_周りがわかりにくいのと、やっぱWWW::Mechanize使いたかったなぁってこと。
24102005 静岡
沼津の西浦で久々のボート釣り。狙うはカワハギ
富士山を眺めながら、昼過ぎ釣り開始。暖かくて、釣り日和かなと思っていた割には、釣りはじめてすぐに風が強くなってしまった。やたらと荒い波に、ボートが木の葉のように揺れまくって、あたりはとりにくいし、餌も針につけづらくなっている状況に加え、干潮がやってきて、あたりが全然なくなったのと同時に会話も途絶えた。
ちょっと失敗したかなと思った(っていうか全然釣れないし、帰ってもいいかななんて。)が、久しぶりの釣りという事で、強風のなかなんとかボートを波の弱い生簀と生簀の間に移動。揺れに耐えながら釣り続行。結局3時過ぎには、風が弱まって快適に。

海面が綺麗なので撮ってみた。そして、外道で石鯛の稚魚が二匹と真鯛の稚魚が3匹釣れたがリリース。一応、アジとか鰯とかのためにサビキ仕掛けは持っていったが使わなかった。

結局七匹釣れたので、ノルマとしては達成したかな。日が落ちる寸前まで釣っていたので、富士山赤く染まり始めてました。てっぺんは白く染まってます。
帰って捌いて肝和えにして旨かった。明日は、残った白身を鍋にでもしようかと。
22102005 HPC
クラスタでPVFS組んだら、実際にI/O performanceがどのくらいあがるのかは気になるところだ。
IBM dW:Linux:高性能Linuxクラスタリング、第1回:クラスタリングの基本 - Japan
ファイル入出力がボトルネックになるとき一部のアプリケーションは、ディスクに大量のデータを頻繁に読み書きする必要があり、しばしば、計算の中で最も遅いステップになります。より高速なハード・ドライブがあればよいのですが、十分に高速でない場合もあります。
Linuxクラスターで一般的なように、物理ディスク・パーティションがすべてのノード間で共有されていた場合(たとえば、NFSを使用して)、問題は特に明白になります。このような場合は、並列ファイルシステムが便利です。
並列ファイルシステムは、ファイル内のデータを、クラスターの複数のノード(I/Oノードといいます)に接続された複数のディスクに分散します。プログラムがファイルを読み取るときには、そのファイルの複数の部分が複数のディスクから並行して読み取られます。これにより、特定のディスク・コントローラーの負荷が軽減されて、より多くの要求を処理できるようになります。(PVFSは、オープン・ソースの並列ファイルシステムの好例です。標準的なIDEハード・ディスクを使用したLinuxクラスターで1GBsec以上のディスク・パフォーマンスが達成されています。)
19102005
大抵の会社のイントラはサーバーがIISで、しかも、ウィンドウズの認証使っていることが多いはず。(そして、素人にもわかる微妙なASPで汚いHTMLが吐き出されていて、改行のないHTMLが、、、)
まぁそういったURLも、自動チェックさせるとやっぱ便利なんで、すこしイントラのサイトも、WWW::Mechanize+XML::RSSで効率よく捌こうとおもっている。ところで、WWW::Mechanizeでウィンドウズの認証どうすんの?という話になるがLWP::Authen::Ntlmがあるから大丈夫らしい。
ポイントはkeep_aliveを忘れないことと、credentialsメソッドを使うことだ。
use strict; use WWW::Mechanize; # my $mech = WWW::Mechanize->new( keep_alive => 1, autocheck => 1); # $mech->credentials('www.company.com:80', '', "MyDomain\\MyUserCode", 'MyPassword');
curlだったら--ntlmオプションをつければよい。
curl --ntlm --user username:password site_url
ただ、HTMLをGETしたいだけだったらcurl->mailでもいいかもとは思う。
13102005
--traceオプションでトレースできて便利!
さて、WWW::Mechanizeのhttps通信がプロキシを超えられなくてすっかり凹んでる。IEもネットスケープもcurlもうまくいっているのにwgetとWWW::Mechanizeはプロキシにはねられテルっぽいってどういうこと?はねられてるってよりも500返してきてるってのがどうも気に入らないゾ。
プロキシかまさなければ、WWW::Mechanizeもきちんと通信出来ているので、もしやヘッダーか?やっぱヘッダーなのか?と疑っているが、正直疲れた。
なんか鍵絡みの気がしないわけでもないが、、、
12102005
-d -nvオプションでプロトコルの通信観察
wget -d -nv http://www.google.co.jp DEBUG output created by Wget 1.8.2 on linux-gnu. Caching www.google.co.jp => 66.249.89.99 66.249.89.104 Created socket 3. Releasing 0x97d8688 (new refcount 1). ---request begin--- GET / HTTP/1.0 User-Agent: Wget/1.8.2 Host: www.google.co.jp Accept: */* Connection: Keep-Alive ---request end--- HTTP/1.0 200 OK Cache-Control: private Content-Type: text/html Set-Cookie: PREF=ID=baf86144a9be5a54:TM=1129121888:LM=1129121888:S=reVdqc7erWetD6sn; expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=.google.co.jp cdm: 1 2 3 4 5 6 Stored cookie .google.co.jp 80 / permanent 0 Mon Jan 18 04:14:07 2038 PREF ID=baf86144a9be5a54:TM=1129121888:LM=1129121888:S=reVdqc7erWetD6sn Server: GWS/2.1 Date: Wed, 12 Oct 2005 12:58:08 GMT Connection: Close Closing fd 3 21:58:08 URL:http://www.google.co.jp/ [2255] -> "index.html" [1]
-Sオプションでヘッダー確認
wget -S http://www.google.co.jp --22:03:33-- http://www.google.co.jp/ => `index.html.1' www.google.co.jp をDNSに問いあわせています... 完了しました。 www.google.co.jp[66.249.89.104]:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 1 HTTP/1.0 200 OK 2 Cache-Control: private 3 Content-Type: text/html 4 Set-Cookie: PREF=ID=1ce3fbd22c53afbf:TM=1129122213:LM=1129122213:S=WZxpmqf7Lv35vEwc; expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=.google.co.jp 5 Server: GWS/2.1 6 Date: Wed, 12 Oct 2005 13:03:33 GMT 7 Connection: Close [ <=> ] 2,255 367.02K/s 22:03:34 (367.02 KB/s) - `index.html.1' を保存しました [2255]