WiKicker の開発PCを移行(DynaBook -> ThinkPad)してから、手元で動作確認をする環境を用意していなかった(実サーバ上でテストしている)。 そろそろまた大幅な改造をする予定なので、手元に動作環境を作らねば。
ということで、これを機に deb も作るかなと。 dh-make-perl でひな型を作ってパッケージ化。 ライブラリ部分はこれで簡単にまとまるのだが、CGI プログラムとCSS、デフォルトプロパティファイルをどうやって提供するかな。 実際、今の source tar ball でも提供してないし。
WiKicker のメモリ消費量を抑えるためにメモリリークチェック用モジュールをいくつか試してみる。
結局うまく使えそうなのは、Devel::Cycle ぐらいかな。 循環参照を発見した場合の表示は見やすい。 WiKicker の何か所かでチェックしてみたけど、今のところ見つからず。
いやな日記で紹介されている PAR を試してみた。 PAR は Windows に限らず実行形式のファイルを生成する事ができる (UNIX 系ではメリットは少ないかもしれないが)。
PAR ファイル (ZIP) として必要なスクリプトやモジュールをパッケージ化できるのも嬉しい。 Perl は便利なのだが他人に使ってもらう時に面倒で Java の JAR ファイルが羨しかったのだが、まさにそれを実現してくれる (実行可能ファイルにしてしまうともっとお気楽)。
また PAR ファイルをHTTPサーバ上においておいてリモートから取得できる機能もあり、Java Web Start に近い使い方ができそうである。
Debian BOX に入れて遊んでみた。sid でもパッケージになっていないので dh-make-perl でパッケージ化してつっこむ。
$echo 'print "hello\n";' > hello.pl $perl hello.pl $pp -o hello hello.pl $ls -l hello -rwxr-xr-x 1 naney naney 1739227 2004-07-19 22:09 hello $file hello hello: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.0, dynamically linked (uses shared libs), stripped $./hello hello
$pp -p -o hello.par hello.pl $zipinfo hello.par Archive: hello.par 1184 bytes 5 files drwxr-xr-x 2.0 unx 0 b- stor 19-Jul-04 22:13 script/ -rw-r--r-- 2.0 unx 17 t- defN 19-Jul-04 22:12 script/hello.pl -rw-rw-rw- 2.0 unx 262 b- defN 19-Jul-04 22:13 script/main.pl -rw-rw-rw- 2.0 unx 434 b- defN 19-Jul-04 22:13 MANIFEST -rw-rw-rw- 2.0 unx 214 b- defN 19-Jul-04 22:13 META.yml 5 files, 927 bytes uncompressed, 678 bytes compressed: 26.9% $parl hello.par hello
$pp -o hello -e 'print "hello\n"' $ls -l hello -rwxr-xr-x 1 naney naney 1739237 2004-07-19 22:19 hello $file hello hello: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.0, dynamically linked (uses shared libs), stripped $./hello hello
Flickr ではWebページのフォームからの画像アップロードを行えるようになっている。
それに加えて Windows、Mac OS X では専用のツールが用意されていて、より快適にアップロードできるらしい。
残念ながら Linux 用のツールは Flickr から提供されていない。 しかし CPAN には Flickr::Upload モジュールがあって、コマンドラインからアップロードができる。
今までWebページのフォームからアップロードをしていたのだが枚数が多いと面倒なので、これを使えるようにしてみた。
インストールはまず依存している XML::Parser::Lite::Tree を dh-make-perl で deb 化してインストール。続けて Flickr::Upload も deb 化してインストール。
あとは、Flickr に登録してあるメールアドレスとパスワードを設定ファイルに書いて画像をアップロード。
touch $HOME/.flickrrc chmod 600 $HOME/.flickrrc echo email=naney@example.com > $HOME/.flickrrc echo password=secret >> $HOME/.flickrrc flickr_upload *.jpg
お手軽。
必要があれば title や tag もコマンドラインオプションで指定できる。 Flickr は Web上での編集機能がよくできているから、1枚づつ違うタイトルやタグをつけてもいい。よっぽど枚数が多い時はテキストファイルにまとめて書いておいて flickr_upload をまわすとか、Flickr::Upload モジュールを直接使って処理するといったこともできるであろう。
インストール方法は「Instant Client10g」を参考にした。
Oracle Technology Network License のもとで配布されている、Oracle Database 10g の instant client を利用する。 30日間試用可能。
をダウンロード。
/usr/local/oracle の下に展開。シンボリックリンクをいくつか設定する。
mkdir /usr/local/oracle cd /usr/local/oracle unzip /tmp/instantclient-basic-linux32-10.1.0.3.zip unzip /tmp/instantclient-sdk-linux32-10.1.0.3.zip unzip /tmp/instantclient-sqlplus-linux32-10.1.0.3.zip cd instantclient10_1 ln -s . lib ln -s libclntsh.so.10.1 libclntsh.so ln -s libocci.so.10.1 libocci.so
環境変数を設定する
export ORACLE_HOME=/usr/local/oracle/instantclient10_1 export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
まずはソースアーカイブを展開。
tar ztvf DBD-Oracle-1.16.tar.gz cd DBD-Oracle-1.16
次に Makefile.PL を編集
5a6,7 > push(@ARGV, '-l'); > 279c281 < my @h_dirs = find_headers(); --- > #my @h_dirs = find_headers(); 283c285 < push @h_dirs, 'network/public'; --- > #push @h_dirs, 'network/public'; 289c291,292 < my $inc = join " ", map { "-I$OH/$_" } @h_dirs; --- > #my $inc = join " ", map { "-I$OH/$_" } @h_dirs; > my $inc ="-I/usr/local/oracle/instantclient10_1/sdk/include"; 725c728 < exit 0; --- > #exit 0; 1606a1610 > 1;
ヘッダファイルディレクトリ自動取得を止めて決め打ちにし、また Makefile.PL 実行時に -l を指定するようにする。 それから dh-make-perl がモジュール依存関係取得するため Makefile.PL を require した際に真を返さないでエラーになってしまうようなので、これも修正。
でパッケージ化。
rm META.yml # あると dh-make-perl が deb パッケージ名をつけ間違える? dh-make-perl --build --notest
deb パッケージ
libdbd-oracle-perl_1.16-1_i386.deb
ができあがるので、これを dpkg でインストール。
とりあえず、手近のサーバに接続して、簡単な select が動くことを確認。
いまのところ DBD::Oracle を使用するPerlプログラム実行時にも LD_LIBRARY_PATH を同様に設定しておく必要あり。
Makefile.PL 書き換え時に、
$opts{dynamic_lib}->{OTHERLDFLAGS} .= '-Wl,-rpath -Wl,/usr/local/oracle/instantclient10_1';
と -rpath を指定してみたが、
DBI connect('host=192.168.x.x;sid=dbsid','usr',...) failed: ERROR OCIEnvNlsCreate (check ORACLE_HOME and NLS settings etc.) at test.pl line 3 ERROR OCIEnvNlsCreate (check ORACLE_HOME and NLS settings etc.) at test.pl line 5.
というエラーが出て駄目。
Twitter の following をがっつり整理した。
「フォロー通知を受けた人」や「follow している人の @ 相手」や「Blog などで Twitter していると知った人」などについて add することはよくあるのだけれども、remove する機会は多くない。 たまに follows リストの上から順に見ていって「もう飽きちゃって放置状態の人」なんを remove したりするぐらい。 しかし「もう飽きちゃって」の人はもう発言していないから、自分のタイムラインには影響がなかったりする。
フォロー通知を受けてひとまず add してみた人から、逆にその後 remove されて片想い状態なんかも結構多そうだ。 それとフォロー通知を受けた時にひとまず様子見にしてしまった人ももう追加することはまずなかった。
最近話題になっている follow 数上限にひっかかるまではまあいかないのだけれど、たまには見直しておくか。
を使ってみた。WWW::Scraper は Debian パッケージがないようなので、dh-make-perl してインストール。
で実行してみたところ、片想いが百数十人、片想われは spam もいて二百数十人。 follwing、followers が 六百人台だったで相思相愛は半分ぐらいって感じか。
片想いはある程度思い切って減らした。 現在の数は以下。
これでタイムラインの雰囲気はどう変わるかな?
連動して Google リーダーへの Blog のフィード登録も整理できるといいんだけれど、さすがにそれは無理か。
Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。
nDiki は1999年1月に始めたコンピュータ日誌を前身とする Naney の Web 日記(兼パーソナルナレッジベース)です。
#nNote タグがついている記事は他の記事に比べて、より断片的・未整理・不完全なちょっとしたノートです。まだ結論に至っていない考えなども含まれます。頻繁/大幅に更新したり削除したりすることがあります。
ナレッジベースアプリケーション Obsidian で書いているノートの一部を notes.naney.org で 公開しています。
※内容は個人的見解であり所属組織とは関係ありません。