« 2008年10月 | メイン | 2008年12月 »

2008年11月21日

『 パソナテック10周年記念 PTカンファレンスVol.6 インフラエンジニア討論会2008』 にでます

パソナテック10周年記念 PTカンファレンスVol.6 インフラエンジニア討論会2008 ~インフラエンジニア進化論~に参加させて頂く事になりました。

内容は

今やITシステムは社会において欠かすことのできない重要なインフラとなりました。
その中で、サーバ/ネットワークエンジニアが担当する運用業務は日々高度化、多様化を遂げています。
当カンファレンスでは、インフラエンジニアにフォーカスして、最前線で活躍する著名なエンジニアをゲストに迎え、現場で生まれた失敗談・成功談そしてここだけの秘話を通して、インフラエンジニアという仕事の面白さ・やりがい・将来性を皆さんと討論していきたいと考えています。
ここだけしか聞けない現場の生の声が盛り沢山!是非ご参加ください。

<討論テーマ>
・インフラエンジニアって何だろう?
・大規模サイトの運用,スケールアップ・スケールアウト
・お勧め運用管理ツール/気になるあのサービス
・インフラエンジニアのあるべき働き方とは? など


になります。
2008/12/06(土) 14:00~なのでご興味ある方はぜひ、来てください。

WWW::Curlで進捗表示しつつダウンロード

意味のないエントリー

perl - LWP::UserAgentで進捗表示しつつダウンロード

WWW::Curlだとcurlの機能でできるYo

#!/usr/bin/perl

use strict;
use warnings;
use WWW::Curl::Easy;
use File::Basename;

my $uri      = shift || die "$0 http://example.com/big.iso [filename]";
my $filename = shift || basename($uri);

open my $content, '>', $filename or die "$filename:$!";
open(my $header, '>', \my $header_data);

my $curl = WWW::Curl::Easy->new();
$curl->setopt( CURLOPT_WRITEDATA, $content);
$curl->setopt( CURLOPT_WRITEHEADER, $header);
$curl->setopt(CURLOPT_NOPROGRESS, 0);
$curl->setopt(CURLOPT_FOLLOWLOCATION, 1);
$curl->setopt(CURLOPT_TIMEOUT, 30);
$curl->setopt( CURLOPT_URL, $uri );
$curl->perform();


CURLOPT_NOPROGRESSのオプションだけ。
callbackもできるみたい。使い方はWWW::Curlのテストが参考になります

header情報が欲しい場合は、$header_dataをHTTP::HeaderとかでparseすればOK。
その際、s/\r\n/\n/gが必要なので注意

FOLLOWLOCATIONした場合のURIは、

my $effective_uri = $curl->getinfo(CURLINFO_EFFECTIVE_URL)

でとれるのかなぁ。(未確認)