Practice of Programming

プログラム とか Linuxとかの話題

2008-01-01から1年間の記事一覧

Util::Any 0.04リリース

今回の変更では、exportする関数の選択をできるようにしたのと、関数の名前の変更に対応しました。http://search.cpan.org/dist/Util-Any/前者については、Data::Dumperの@EXPORT, @EXPORT_OK に、DumperとDumperXってあるんだけど、 Dumper内で、DumperX呼…

Helper::Simple

perlのシンタックスカラーを有効にしたら、コードが途中で切れてたので、修正 それ、Module::Setupで? 2ヶ月くらい前にCodeReposにあげて、途中放置して、忘れちゃったりで、グダグダだったのをここ数日でまとめました。 なんか色々微妙だったので、だいぶ…

Util::Any 0.03

名前が悪い、List::Util::Allにしたほうが良いよって、メールが来た。 いや、Listだけじゃないですからと返事をした。 だが、紛らしいのはドキュメントと機能が悪いからだということで、色々追記してみました。 Data::Dumper, String::Util, String::CamelCa…

local $@ と同一スコープで例外を吐いてはいけない

id:lestrratさんの http://perl-users.jp/articles/advent-calendar/2008/03.html を読んで。 そういや、つけたり、つけなかったりしてた...特にポリシーもなく。 全部につける必要はないとのことですが、つけてテストを書いたらはまった。 書いたコードを単…

UtilをまとめてしまうUtil::Any

#coderepos で、「怪しい名前空間w」と言われてしまいましたが(^^;; Util系のモジュールがPerlにいくつかあって、便利なんだけど、紛らわしいというか、覚えてなくて、毎度調べるみたいなことがあります。 たとえば、List::UtilとList::MoreUtils。 「uniq関…

LWPで進捗を表示してダウンロード

hanekomuさん作成のLWP::UserAgent::ProgressBar というものがあります。 http://search.cpan.org/dist/LWP-UserAgent-ProgressBar/lib/LWP/UserAgent/ProgressBar.pmただ、これ、get しか対応してません。postに対応した版は、code reposにちょっと前にcomm…

[Perl]use を最後に書いたら呼び出し元のシンボルテーブルを読める

import() は BEGIN ブロックで処理され、 BEGIN ブロックを処理してるときはまだ呼び出しもとパッケージのシンボルテーブルの情報は空っぽだった。 use しただけで呼び出しもとのパッケージのすべてのサブルーチンにフックを追加するようなモジュールは、こ…

Catalyst::Model::DBIC::Schemaのmodelメソッドを便利にする

Catalyst::Model::DBIC::Schemaのソース http://search.cpan.org/src/BOGDAN/Catalyst-Model-DBIC-Schema-0.21/lib/Catalyst/Model/DBIC/Schema.pmnew の後半部分。Modelクラスを動的に増やして、そこに、ACCEPT_CONTEXTを生やしている。 sub new { my $self…

greasemonkey で click() が効かないとき

JavaScriptでややこしいことしてるサイトで、.click() が効かないときがあるようだ。 んーっと思ってたんだが、setTimeout使ってやるといい。 setTimeout(function () { document.getElementById("target").click(); }, 200); みたいな。これだとOKだった...…

IE と vertical-align

css

下記のようなもの。IEで使うと img と img の間に空白ができてしまう。注意しよ。 <style> div { vertical-align:0px; } </style> <div> <img src="b.png"><br> <img src="a.png"><br> <img src="b.png"> </div>

Perl Quiz

こちらの問題。 http://d.hatena.ne.jp/gfx/20081007/1223340787回答がすでにいろいろ出てるけど。 これで。 #!/usr/bin/perl use strict; use Test::More 'no_plan'; sub f{ my $builder = Test::More->builder; my $out = $builder->output; print $out <

TemplateのWRAPPER

2009/2/1追記 WRAPPERで勘違いしていた。METAでしか値を渡せないのかと思ってたら、普通に渡せるんですね。下記のMETAでやってるやつ、別にMETAでやる必要がないですね orzCatalystのTTSiteで見かけてから、WRAPPERを使って楽をするようにしています。 同じp…

Dynamic DNS なドメインが悪意のあるサイトということでブロックされる

直ったようです。良かった。良かった。Dynamic DNSのサービスを使っているのですが、そこで使えるドメインで、マルウェアとか配ってるサイトができたらしく、該当ドメインが全部ブロックされちゃったみたいなことらしい...。 DynDNSのフォーラムで話題にあが…

NSM Dojo #2に行って来た

下書きに保存したつもりがなくって(保存したつもりになってたんだろうなぁ)、ショックを受けていて、こんなに遅れました orz というわけで簡単に...。 NSM Dojo #2 http://trombik.mine.nu/~cherry/w/index.php/2008/08/01/1329/network-security-monitoring…

portsを使う & 日本語設定、まだ途中

先日、紹介した下記のリンクから。 http://www.openbsd.org/faq/faq15.html#Ports portsのファイルはCVSで管理されているのですが、zaurusでファイルを持ってくるには、 量も多くて、大変重いので、Ubuntuのサーバでやって、NFSでmountすることにしました。 …

zaurus に OpenBSDをインストール

NSM Dojo行ってきました。レポートを書くまでが...ってことだが... とりあえず、OpenBSDを入れるんだ! どこに?って、家に帰る途中に思い出した、余っているzaurusに。 ftp://ftp.openbsd.org/pub/OpenBSD/4.3/zaurus/INSTALL.zaurus にドキュメントがあり…

WebDAVディレクトリの設定での注意

先日、やってしまった失敗。 WebDAV下に.phpファイルを置いていて、開いてみたらphpの実行結果だったというお話。 そんなわけで、DAVのディレクトリ下は、下記のように設定しておきましょう。 AddType text/plain .php.htaccessとかのファイルも危険なんで、…

Linuxルータ化

dnscacheのキャッシュサイズを大きくしてはみたものの、やっぱりだめでした。 というわけで、Linuxをルータにしました。下記みたいな構成です 10.0.0.2 192.168.0.0/16 eth0 eth1 [ADSLモデム] ---- [Linux] ---- [hub] -+-- [無線AP] 10.0.0.1 apache | dhc…

Archive::Zipでスカラを展開

$targetにzipの中身が入っていて、そいつを展開したい。 Archive::Zipには、readFromFileHandleってのが用意されている(ファイルから読む場合は、readメソッド)ので、 スカラリファレンスをopenでやってみたけど... use Archive::Zip; my $zip = new Archive…

dnscacheのキャッシュサイズ変更

dnscache入れてから非常に調子が悪くなってしまった。通信が固まる、固まる。 どうも、dnscacheが頻繁に外と通信して、貧弱モデム(Aterm WD735GV)がNAT関係で文句を言っている。 "NAT TX-ERROR List Create Error :"というやつ。どーも、有名らしいですね...…

djbdns(tinydns & dnscache)インストール

自宅サーバで、内側からだとプライベートIPで参照しないといけないような環境だと、外出先では/etc/hosts書き換えとかめんどくさいので、インストール。後、ローカル用に好きなドメインを持てたほうが開発の時に楽。 Bind9にしようかとも思ったんだけど、慣…

Pandora FMS エージェント

いまさらですが、PDFのマニュアル。 http://pandora.sourceforge.net/en/index.php?sec=docs 冒頭に、なんでもチェックできるぜって書いてます。 googleの株価がある値以下になったらアラートあげるとかもできるぜ、みたいな。 コマンド書けば確かになんでも…

Pandora FMS続き

アラート アラートには、field1 - field3(emailの場合、field1が送信先)まで好きなものを入れれるんですが、 _agent_, _data_, _timestamp_ ていうのを使えます。 _agent_は、エージェントの名前 _data_ は、モジュールが測定した値 _timestamp_は、時間です…

Pandora FMS

モニタリングのシステムを探していて、どれにしようか悩んでました。 定番だと、Nagiosとか、zabbixとか、Gnagriaなんだろうけど、なんかちょっと違うことしないと面白くないなぁ...とか間違ったことを考えて、選んでみたもの。 Pandora FMS http://pandora.…

Debian sarge に Firefox3を入れる

前、mixiにちょっと書いたもの。まぁ...OSのバージョンを上げろっていう話なんだけど。 Megatechの懇親会で、ちょっと話題にあがったので書いてみます。インストールの必要なものは、下記のものですね。 freetype-2.1.10 ftp://aist.ring.gr.jp/pub/graphics…

自宅サーバがうるさくて眠れないとき

パフォーマンス落とすといいです。 # cat /proc/acpi/processor/CPU0/throttling state count: 8 active state: T7 state available: T0 to T7 states: *T0: 100% T1: 87% T2: 75% T3: 62% T4: 50% T5: 37% T6: 25% T7: 12%下記のようにする。 echo 7 > /pro…

開いてたファイルを覚えておく

標準であるのか。今まで知らなかったなんて、なんてアホな...。以下で見付けました。 http://www.bookshelf.jp/soft/meadow_23.html#SEC247M-x desktop-save で、ホームディレクトリを指定する。 .emacs.el に下記を書いてみた(空白より上は、上記サイトか…

anything.el

はげしく便利だと、kiyokaさんにおしえてもらいました。 http://www.emacswiki.org/cgi-bin/wiki/anything.el kiyokaさんの記事 http://oldtype.sumibi.org/show-page/kiyoka.2008_04_23 http://oldtype.sumibi.org/show-page/kiyoka.2008_05_13 locate がエ…

Kansai.pm第9回ミーティング

ひさびさに行ってきました。 Mooseとか、Hadoopとか、面白かったですよ。 naoyaさんが、グーグルの人みたいだったw LTでちょっと喋ってきましたが、 止められなかったので、時間オーバーしていまいた...。 ごめんなさい。喋りながら時間見れない人なので...…

.tファイルを t/hoge/*.t に置きたいとき

今日はYAPC::Asia 2008 でしたね。僕は最近の体調の悪さ具合を考えて、午前中は自分の体調と相談してました。 いけそうだなーと思ったので、午後から参加。 YAPCでテストの話題があったから、書いている...わけではないけど。 ExtUtils::MakeMaker を使って…