@kyanny's blog

My thoughts, my life. Views/opinions are my own.

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

テストに悩む

Class::DBI を継承した Data/XXXX.pm とかをテストしたい、テストをまず書きたいといつも思っているのだけど、開発環境の MySQL じゃなくてテンポラリファイルとかでテストを走らせるとき用のデータベースも用意したい→そういうモジュールを探して使ってみる…

GNU Emacs 23.0.60.1 (i386-apple-darwin9.5.0, X toolkit) of 2008-12-04 on `hostname` に乗り換えた

eshell でエスケープシーケンスをうまく扱えるようにする設定が emacs23 からじゃないと(それに付属の eshell からじゃないと)使えないようなので、 CVS からソースをとってきて手元でコンパイルした。Mac OSX Leopard に付属の emacs22 が起動時に yas/mi…

VPS って安いんだなぁ

YappoLogs: Yacafiが動くスケーラブルなサーバです。 で紹介されていてみにいって、値段の安さに驚いた。いままで、リモートログインしてシェルを使えるサーバが欲しかったら基本的に専用サーバを借りるか自宅サーバを運用するしか方法がないと思っていて、…

eshell でエスケープシーケンスをまともに表示させる設定

EmacsWiki ばんざい。http://www.emacswiki.org/emacs-ja/EshellColor (require 'ansi-color) (require 'eshell) (defun eshell-handle-ansi-color () (ansi-color-apply-on-region eshell-last-output-start eshell-last-output-end)) (add-to-list 'eshell…

アー腹立つ

crontab のなかで --date=`date +%Y-%m-%d` とかやると失敗する。 % をエスケープしないといけない。なんだそりゃ。なんで普通のシェルと違うの? Wikipedia に書いてあるのに Manpage の邦訳には見あたらなかったぞ?? Date::Calc の Add_Delta_Days に 20…

Subversion のリビジョン番号のギネスがあったら知りたい

理論的には何番までいけるんだろうか。そして実運用する場合は何番くらいがまともに動く上限値なんだろうか。世界でもっとも Subversion のリビジョン番号が進んでいるプロジェクトはなにで、その番号はいくつくらいなんだろうか。なんてことを、そろそろ15…

ちょっと壊れた

右側のアームレスト部の下の方がちょっとはがれた。半年もたなかったか。あとキートップが削れてきてるキーもちらほらでてきた。半年でこの程度のこわれっぷり。 ThinkPad が頑丈すぎたってことなんだろうなこれは。

Shibuya.pm Tech Talks 行けなくなった

残念だ。。

+{} という書き方について

先日 +{} という書き方を紹介したところ (http://d.hatena.ne.jp/a666666/20081114/1226662515)、質問のコメントをいただいたので、「プログラミング Perl」に書かれている解説を紹介します。下手に自分の言葉で説明するよりもずっと正確なので。 プログラミ…

getopt(1) についてわかったこと

/usr/lib/getopt/parse.bash を雛形として使うのが、他のどんなページを参照するよりも、正確で確実で良い。ちなみに Mac OSX の上記のパスにはこのサンプルスクリプトは存在しない。あと、 getopt(3) はともかく getopt(1) などというものはバッドノウハウ…

GETOPT(1)

さっぱりわからん。奇っ怪すぎるよ。

Foo パッケージの中で use した Bar パッケージの import() メソッドから Foo パッケージのシンボルテーブルをのぞくとどうなるか

sub import { my ($package) = (caller(1))[3] =~ /^(.*::)/; no strict 'refs'; warn Dumper \%$package; import() は BEGIN ブロックで処理され、 BEGIN ブロックを処理してるときはまだ呼び出しもとパッケージのシンボルテーブルの情報は空っぽだった。 u…

Perl のシンボルテーブル

パッケージ名のおしりに :: がくっついた名前のハッシュ、 %Foo::Bar::Baz:: があるパッケージのシンボルテーブル。見ての通りハッシュなのでふつうに warn Dumper \%Foo::Bar::Baz::; とかできるしループで要素をぐるぐるまわすこともできる。 %Foo::Bar::B…

no strict 'refs';

no strict 'refs'; my $foo = 100; our $bar = 200; my $ref = \$foo; warn $$ref; # => 100 $ref = 'foo'; warn $$ref; # => Warning: something's wrong $ref = 'bar'; warn $$ref; # => 200 my で宣言した変数は no strict 'refs'; のもとで $$ref を $fo…

MySQL の source コマンドで SQL プログラミングの開発効率をアップさせる

O/R マッパを使わない、バッチ集計用の SQL は少し長く複雑になりがちなので、 mysql コマンドラインツールから発行するよりテキストファイルに書いて source コマンドで読み込ませたほうが良い。http://dev.mysql.com/doc/refman/5.1/ja/batch-commands.htm…

Opera 快適すぎて快適すぎて

検索エンジンとニックネームで、同じものを違う URL に使えるのが素晴らしい。検索エンジン cpan で http://search.cpan.org/search?q=%&mode=allブックマークのニックネーム cpan で http://search.cpan.org/recentみたいに使い分けられる。これ素晴らしい…

昨日のTPF-Jプリミーティング4で壇上さんと hide-K さんをみた

どうも気後れしてしまって挨拶もできなかったので、「お会いした」とは言えない。お二人ともよく喋る方で、特に檀上さんが map { +{ $_ => $_ } } @array; みたいなのの +{} って何やねん?という質問をしていたのが印象深かった。臆せず、恥ずかしがらず、…

Opera Dragonfly を起動してみた

%5B ってエスケープされる前は何だっけ?ってのを知りたくて Firebug でできるけど Firefox 起動するの面倒だな、ってことで Dragonfly を起動してみた。デバッガが優秀という触れ込みらしい。 CSS の編集はできないとのこと。そんなのやったことないので十…

TPF-Jプリミーティング4に行ってきた

http://trac.endeworks.jp/trac/tpfj/wiki/TPF-Jプリミーティング4 に行ってきた。ずいぶん久しぶりに、飲み会に参加したような気がする。話す内容がはっきりしている会は、目的意識をもって参加できるので楽しかった。自分に出来ることって何だろうな、と寝…

Opera 二日目

快適。しばらくこれでいいや。メーラーは、 Opera Mail にするとかえって遅くなってしまってせっかくの良さを殺しそうなのでまだ Mew でいこう。 Firebug っぽいものを調べて使い方を覚えて、ちょっとした user javascript をかけるくらいになりたい。

ついにあの「和風Wizardry純情派」が本屋で買えるようになった

http://d.hatena.ne.jp/WizDiary/20081111すでに Amazon で一冊注文済みだけどこれはもうあと何冊か買っておいたほうがいいんだろうか。1000冊は買えないけどなあ。たくさん売れたら印税で幻の同人誌版を再出版したりしてくれんもんかなー。 Wiz に特別思い…

サブクエリやっぱりさっぱり意味がわからないな

ERROR 1241 (ER_SUBSELECT_NO_1_ROW) SQLSTATE = 21000 Message = "Subquery returns more than 1 row"このエラーは次のような場合に発生する。 SELECT * FROM t1 WHERE column1 = (SELECT column1 FROM t2); ただし、これは t2 に複数のレコードが存在する…

SQL を勉強している

達人に学ぶ SQL徹底指南書 (CodeZine BOOKS)をぺらぺらと読んでいる。ウェブで読めるから本は買わなくていいって書いたけど嘘だった本があったほうがいい。ミックさんすいませんでした。 CodeZine のうざいメンバー登録とかしなくても読めるので本を買ったほ…

何度目かの Opera 挑戦

Safari のキーボードショートカットに慣れてきたところで乗り換え。基本的に軽くて気に入っていたので、残念だ。でも仕方ない。oAutoPagerize がなんか動かない!とかいって前回は投げ出したのだった。ファイル全部消してダウンロードしなおしたらちゃんと動…

DBI.pm ではひとつのステートメントハンドルで複数の SQL を実行することはできない?

!/usr/local/bin/perl use strict; use DBI; my $dbh = DBI->connect('dbi:mysql:hoge', 'root', ''); my $sth = $dbh->prepare(<<SQL); create temporary table hoge (id int); drop table hoge; SQL $sth->execute(); $sth->finish; こういうふうに、 ; で区切って複数の SQL をかいておいて一度に実行させることはできないようだ。h</sql);>…

今日の「あぁ〜」

テキスト入力中に補完候補を自動的に表示してくれる auto-complete.el をリリースしました — ありえるえりあ を読んで、 cx4a.org なんてしゃれてるドメインだな(でもこのコマンドなんだっけ?)と思って emacs 起動して C-x 4 a ってタイプしてあぁ〜 Chan…

Safari がメモリをすべてくいつくす問題頻発

なにこれいくらなんでも消費「物理」メモリ 1.3GB とかありえないだろー。たまに、というには頻繁すぎる頻度でおきるから参ってしまう。だいたい一日に五回から十回くらいはこれでシステムがほぼ応答不能になる。強制終了のダイアログを出そうとして出てくる…

文学フリマ今年も行けなかった

終わってからイベントがあったことを知るのって悲しいなぁ。特に文学にもフリマにも興味はないけど、文学フリマは何故か「はてな」っぽさを感じられて、ソワソワワクワクして、行くと俺以外全員が知り合い同士のような気がしてなんともいえない居心地の悪さ…

TPF-Jプリミーティング#4

Hotel Dan のでかい本棚がみられると聞いたので http://trac.endeworks.jp/trac/tpfj/wiki/TPF-Jプリミーティング4 へ参加を希望した。うそです。何年か前にウェブで写真をみたので十分満足。 Hotel Dan といえば数ヶ月前に仕事で上京してきた人と月島でもん…

gearmanproject.org

http://gearmanproject.org/doku.phpGearman の独自ドメインなサイトができていたのか。 Gearman はじっくり使ったことがなくてあまり詳しくない(TheSchwartz なら詳しいのかといわれると困るが)。今後はここがハブサイトみたいな役割を担うのかな。ドメイ…