Practice of Programming

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

はてなブロガーの本まとめて欲しい!

はてなブロガーの書いてる本があたるそうです。積読になっちゃいそうですが。 とりあえず、B賞のはてなブロガーの本まとめて欲しい!

LinkSeeker スクレイピングフレームワーク

最近、スクレイピングすることが多かったので、面倒くさくなって作りました。まだ、いろいろ途中ではありますが。 初Mouse、初git、初githubなんで、なんか変なことしてたらすみません。 http://github.com/ktat/LinkSeeker/ スクレイピングするときは、以前…

Date/Time picker

Dateだけじゃなくて、Timeもpickerしたいと思って、ググってたら見つけました。 http://blog.w3visions.com/2009/04/date-time-picker-with-jquery-ui-datepicker/なかなか調子いい感じです。ただ、注意として、"YYYY-MM-DD HH:MM" なデフォルト値が入ってな…

shellからファイル添付メール

shellからメール送りたいときは、たいてい、mail コマンドを使うわけですが、たまにファイル添付したいときがあります。こちらを参考にしたところ、mutt を使えばいいようです。 % echo 'test' | mutt -s 'Test' -a ~/data/hoge.log -- メールアドレス最初の…

NICのデバイス名(eth0とか)が変わったら?

Dellの vostro 1000 ノートPCをサーバに使っているのですが、最近、熱暴走でシャットダウンてことになっちゃってました。熱暴走になかなか気づけなかったのですが、これは、サーバのモニタリングをサボっていたせいですね...orzちなみに、温度は、下記を調べ…

STDERRのテスト

(追記)id:nekokakさんにコメントでTest::Outputを教えていただきました。STDOUT/STDERRのテストができます。 STDERRの場合、stderr_is 無名関数, $message, $name; のように使えるようです。ただ、今回、Carpのテストもあったので、ちょっと使うのはやめまし…

ダブルクリックで動かすPerl scriptのためのCarp

なんだそりゃって話ですが、例えば、Windowsで、perlプログラムを作って、ダブルクリックで実行すると。 die したときに、あっというまにプロンプトが消えちゃって、わけわかんねってなっちゃいますが。(追記)charsbarさんによると、レジストリをいじること…

UtiL::Any 0.07 バグフィックス

バージョン上げました。 バグフィックスですんで、もし使ってらっしゃる方がいたら、バージョン上げてくださいませ。package変数の$Utilsは変更しちゃいけないんですが、Util::Any内で、変更しちゃってました。すんません。 cloneするようにしました。

ipcalcが便利

ネットマスクの計算とか、僕はとても苦手なんです。 そんなわけで、ipcalcというコマンド。 % ipcalc 192.168.255.0/25 Address: 192.168.255.0 11000000.10101000.11111111.0 0000000 Netmask: 255.255.255.128 = 25 11111111.11111111.11111111.1 0000000 …

スクレイピングとかするとき

下記を簡単にするためのLinkSeekerというモジュール作りました。後、ネストしてscrapingできるように。でも、ドキュメントもテストもないです(^^;master/sample ディレクトリ内の news.yml 見ていただければと思います。 取って来て保存する(LWP::UserAgent,…

Catalyst & Unicode

View::TT::ForceUTF8のレビューが☆一つだったので、そこのコメントを見たらリンクされてたのです。http://dev.catalystframework.org/wiki/tutorialsandhowtos/Using_Unicode元のURLを見たら良い話なんですが、適当に要約すると、 Plugin use Catalyst qw/..…

syndaemonでキーボード叩いてる最中にタッチパッドを触ってイライラするのを解決

キーボード叩いている最中にタッチパッド触ってしまって、イライラすることよくありますよね? 僕の使っている、Inspiron mini 12 はタッチパッドが結構広いので、キーボード叩いてる最中にスクロールして、「うぜーーー!!!!」っていうのが過去何回もあ…

Software Design 5月号

今月号には、2005-2007年の過去記事のPDFが付いています。 以前書いたSVKの記事も載っている関係上、見本誌を頂きました。ありがとうございます。特集号なのかな、とか勝手に思ってたけど、通常のものに付くんですね。まだ目をあんまり目を通してませんが、Z…

[Perl]Exporterとimportじゃなくて、gotoとcaller

某社の後輩に下記のブログの件は、普通はどうやって解決するのかと聞かれた(てか、後輩のブログだったようだ、なぜ言わないw)。 http://d.hatena.ne.jp/foosin/20090331/1238509129僕も以前、悩んだことがあり、Exporterのドキュメントを見たら、まんま書い…

importメソッドが勝手に生やされて困る場合の対応

また、バージョンあげちゃいました。ので、下記の実装は最新版(0.06)とは若干異なっておりますが、大体同じ感じです。久々にUtil::Anyのバージョン上げました。 http://search.cpan.org/~ktat/Util-Any-0.05/lib/Util/Any.pm Util::Anyを継承したモジュール…

首をバキバキいわすのはやめよう、居眠りはやめよう

今、背中がものすごく痛いのですが、首が原因です。 頚椎が磨耗して、とげができて、それが首の神経にあたっているとのこと。 首の神経は背中につながっていて、そのせいで背中が痛むというわけです。 頚椎の骨と骨の間の一番狭いところは12mmが正常値の最低…

HTTP::Server::SimpleでPATH_INFOのslashがunencodeされるのを防ぐ

apache2だと、オプションを与えてやるらしいです。 これを解消するにはAllowEncodedSlashesをOnにします。 AllowEncodedSlashes On http://kawama.jp/archives/2007/04/path_info2f404a.html HTTP::Server::Simple::CGI使ってるんですが、これも、/ をunenco…

alt-tabを使わずにアプリケーション切り替えを快適にするscript達

以前紹介したものですが、僕は結局スクリプトを作るようにしたので、それを紹介することにしました。 shellはあんまり得意じゃないので、変でも気にしない方向で...。 直して頂けたら、それは歓迎ですが。 キーバインドは、Windowsキー + s ... sylpheed w .…

後置ループにもスコープがある?

%SIGに同じ関数登録しようとして、 local $SIG{$_} = sub {...} for qw/INT TERM ALRM .../; みたいなことをしたんだが。うまくいかなかった。 どうも、後置forの前は見えないスコープがあるようだ。localが効いてない。 ちなみに、if はそんなことはない。 …

ファイルテスト演算子 -M -A -C には基準の時間がある

ファイルテスト演算子 -M はファイルが作成されてからの日数を返す。 86400かけてやれば、秒数になる。 print 86400 * (-M $file); で、File::Findをループで回して、ファイルが変更されたら云々という処理に使おうかと思ったのだが、うまくいかない。次のsc…

alt-tabを不要にする

コマンド修正し間違えたので再度修正。と、不便なところ追記。script追記。alt-tab(撲は別の割当ですが)を使ってNextWindowを探すのって、よくしますよね。 でも、これ要らないんじゃないかと、ふと思った.普段、Linuxを使っていて立ち上げるものというのは…

Dell Inspiron mini 12 Ubuntu版

CPUとバッテリーなどをアップグレードして、65000円也 ハードウェア 見た目 結構スタイリッシュ。デザインは良い方。ちょっと触った感じが安っぽい気がする キーボード(英語) エンターキーとカーソルキーが小さい。バックスラッシュの位置が微妙。 まぁ、よ…

さくらインターネットの共用サーバにSubversionのインストール

subversionのサイトから、subversion本体と、依存のpackageを取ってくきます。 http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=260&expandFolder=74 から、subversion と、subversion-deps ですね。展開した後のディレクトリに入って…

パスワード付き一太郎文書を開く with Win32::GuiTest

明けましておめでとうございます。 今年も宜しくお願いします。 昨年末に、 Win32::GuiTest で Windows の GUI アプリをハックしようを見て、一太郎ファイルで、パスワード忘れたのがあったので、やってみようと思い立ちました。パスワードが数字の語呂合わ…

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…