疲れたー。分校の主任をしてはじめてのクリスマス会だったので不安もあったけど、なんとか楽しくできた。明日は明日でメッセージ担当の日だぁ。ガンバロー。
このチラシ↑いいよなぁ、俺にはとても真似できない。学生の女性スタッフが作ってくれました。パチパチッ
が良い感じです。HTML::Templateのノリで結構使いやすい。いや、バイナリなExcelをプログラムから直接扱う(編集する)のが嫌だったんですよね。そこでちょこちょこと探していたところでこれを見つけました。
まずはテンプレートファイルを用意 excel_template.xml
<workbook>
<worksheet name="tester">
<row>
<cell text="HOME" />
<cell text="PATH" />
<cell text="NAME" />
</row>
<row>
<cell text="$HOME" />
<cell text="$PATH" />
<cell text="$NAME" />
</row>
</worksheet>
</workbook>
次に上のテンプレートからExcelを作る excel_template.pl
#!/usr/bin/perl
use strict;
use warnings;
use Excel::Template;
use Encode qw(decode);
my $template = Excel::Template->new(
filename => "excel_template.xml",
);
$template->param(
HOME => $ENV{HOME},
PATH => $ENV{PATH},
NAME => decode('eucjp', 'ほげ'),
);
$template->write_file('excel_template.xls');
制御構造も扱えるから中々良いんじゃない?
http://blog.fon.com/jp/archive//afonaacaaaaac1aeaieie.html
最近FONの存在を知った。はじめに話題になったのは結構前なのね...疎いな俺。日本もユーザ数が増えたらいい感じになるなぁ。期待しておこう。
javaのソースファイルを検索しようと思って
$ ack ScriptReader
とかしてみたら結果が空。おかしぃなぁ絶対あるはずなのに。ackのヘルプを見てみたところオプションにもjava用のsuffixは用意されてないみたい。
File inclusion/exclusion:
-n No descending into subdirectories
-a, --all All files, regardless of extension
(but still skips RCS, CVS, .svn, _darcs and blib dirs)
--[no]cc .c and .h
--[no]javascript .js
--[no]js same as --[no]javascript
--[no]parrot .pir, .pasm, .pmc, .ops, .pod, .pg and .tg
--[no]perl .pl, .pm, .pod, .tt, .ttml and .t
--[no]php .php, .phpt, .htm and .html
--[no]python .py
--[no]ruby .rb
--[no]shell .sh, .bash, .csh, .ksh and .zsh
--[no]sql .sql and .ctl
--[no]yaml .yaml
ということなので、.javaファイルを検索する時は -a するべし。
追記
http://petdance.com/ack/ackのバージョンが随分と古かったみたいです。cpanから最新とってきたら色々増えてました。
「ここまで小さくなるのかぁ」と感動。元々小さいのに更にその半分くらいになっちゃって。パソコンだけあれば「いつてでも充電」という旧型の利点は失くなってしまったのが唯一の欠点か。
日本語を含む .properties ファイルを使うときは、jvmに食わせる前に native2ascii というツールでUnicodeに変換しないといけないということを最近知った。でも物凄く面倒臭い。
ResourceBundleを使ってgettextのようなそうじゃないようなものを作った。JUnitコードを先に書いたけど中々グリーンにならない。そこで中で使われているPropertiesクラスのjavadoc見てみると以下のような記述があった。プロパティをストリームに保存するとき、またはストリームからロードするときに、ISO 8859-1 文字エンコーディングが使用されます。このエンコーディングに直接表示できない文字には、Unicode escapes が使用されます。ただし、エスケープシーケンスでは 1 文字の「u」だけが使用可能です。他の文字エンコーディングとプロパティファイルを変換する場合、native2ascii ツールを使用できます。なにやら native2ascii でISO 8859-1 に変換しておかないといけないようなので、JUnitコードの中を以下のようにしてみて。
assertEquals("\u3042", gettext._("abc"));
(面倒臭いので「あ」という文字だけ)
更に.propertiesの方もnative2asciiで変換して、Alt-Shift-x tするとようやくグリーンを見ることができました。でもこんなの編集のたびにやりたくないよ。そこで検索。
http://propedit.sourceforge.jp/
というものがあるらしい。早速Eclipseプラグインをインストールした。インストールはEclipse用の更新マネージャを使って楽々でした。
うーん地味に便利で実に便利。native2asciiのことは考えなくてよくなりました。↑のサイトではEclipseプラグインだけじゃなくて、スタンドアロンなアプリケーションも用意されているので状況に合わせてインストールしてみると良いです。
なんだかんだでEclipseは使ってます。これ。粘りの値引きが成功したのでw ちょっと前に買っておいたけど、やっとこさ設定した。今まではEPSONのかなり古いプリンタを使っていたけど、紙詰まりとか印刷速度が遅いとか複合機じゃないとか...で非常にイライラしてたのずーっとかえたいなぁと思ってました。特に「紙詰まり」。急いでるときに限って紙詰まりを起こすので何度張り倒してやろうと思ったことかw
それにしても、最近のプリンタは凄いですね。液晶も綺麗だし、この機種は「インタフェース大事にしてます」と謳ってる通り直感的に操作できて○。進化してますね。欠点を挙げるとすればかなり大きいというところでしょうか。
試しに一枚両面で印刷してみました。そしたら印刷速度がすごく速くてビックリ。今まで使ってたのが単にポンコツだったということもあると思いますが、印刷品質も良いしこれならストレスなく印刷できそうです。
といっても普段はあんまり印刷なんかしないんですけどw
Thursday, November 23, 2006 | 投稿者 keiji muraishi 場所 1:56 PM 0 コメント
ラベル: electronic, life
今週からは、先週までとは打って変わってCUIな世界で生活しています:) (といってもWEBとMAILはFirefoxとThunderbirdですけどね)
coLinux上で作業するようになったので、Eclipseの中で生活していたときとは打って変わってソースコードの検索をガッツリするようになってます。find, grep, ack 等のコマンドが凄く重宝してます。というか無いと作業が進みません(当たり前)。
しかし...
コマンドからの出力が灰色単色でやる気をなくなってしまいそうだったので、やる気(作業効率)アップのためにちょこっと色を付ける設定をしておきました。でもこれだけ。
$ alias grep='egrep --color=auto'
$ alias ack='ack --group --color'
ackは元々ヒットしたテキストに色付けしてくれるんですが、パイプラインでlvとかに繋げると寂しい色に戻ってしまうので上記のように設定しています。
$ ack '^function' | lv -c
俄然、やる気が出てきます(ぉぃ
参考 http://dsas.blog.klab.org/archives/50808759.html
今はx40使っているんですがHDDの容量が危なくなってきました(PCにはvmwareとかcoLinuxとかのイメージが結構な容量を占めちゃってる。)。そこで1.8inchのサイズのHDDを検索してみると、60GBで\20,000を越える。。。2.5inchだと120GBが\12,800とかそんな値段なんでかなり痿えました(泣)。
何かいい情報はないものですかねぇ。換えるなら80GBは欲しいところ。
coLinuxイメージの容量を増やしたいのでこれは乗り換え時か?とx60が非常に欲しい今日この頃。x40にはサーバ機になってもらうと。。。
できることをつい最近知った。
HOLDできないって ところが欠点だなぁと勝手に思い込んでました(ちゃんと説明書読め)。満員電車に乗る時、勝手にvolumeボタンを押される等々これで解消。
ちなみにHOLDは「play/pauseボタンを長押し」です。
実はまたSwingネタ。
PNG透過画像を表示したいなぁと思って、IrfanviewでBMPをPNG画像に変換して透過色も設定したんですが、Swing上でイメージを表示するとどうも透過されてません。なやましぃ。
他にもフリーソフトをダウンロードして透過設定してみましたが×。Photoshopなんて買えるはずもなく(大げさ過ぎるし)どうしたもんかなぁと考えていたら。ふと思いだしまいたよGIMP!!今まで使ったことなかったけど早速GTK2とGIMP2.1.13入れましたよ。
GIMP上で透過設定をして保存したら見事OK。よかったよかった。画像編集なんて大それたことはしないけど、僕のツールボックスに1つ追加だな。
ソースコード検索エンジンってやっぱり便利ですね~。「何を今さら」という感じですが、 最近はSwing関連のコードをよく検索していてものすごく助かってます。これまでGUIのコードを書いたことがなかったので、不安になったら検索して...四苦八苦しながらゴリゴリという感じで進めています。
にしても、SwingのJLabel。
JLabelを使って、長いテキストを折り返して表示させたかったのですが。見つけたその方法が...
JLabel label = new JLabel("<html>hoge<br>hogehoge</html>");
最後の</html>は不要みたいですが、これってバッドノウハウじゃんw。そういう用途でJLabel使うな?ということかもわかりませんが、ライブラリの中でクライアント側が渡したStringからJLabelを作っているのでこれしか方法がなさそうだったのです、と。
なんかこう、ビックリしましたよ。
Excel使っていてふと「全部の値消したいなぁ」と思ったので、ふいに C-x h をタイプしてみました。なんか変な動きして終わるかなと思ったら、値の入ってるセル全体を選択した。
すごい。ちょっと感動。
僕はかなりxkeymacsに依存してます。Emacs使いというほどじゃないですが、慣れてしまうと他の環境に行くのがかなりキツいです。でもこれからはEclipseでショートカットゴリゴリでコードを書いていくことが多くなりそうです。
でもEclipse上でもEmacsなキーバインド使いたい。
ということでEclipseで開発するときは基本xkeymacsをオンにしたまま、Eclipseのショートカットを使いたいときだけxkeymacsをC-qでオフにしています。あとはいちいちオフにしていられない部分だけバインド変更(変更は最小限)。
これならペアプロ時もある程度は対処できそうです。因みに、
C-q -> C-1
をタイプすることが激しく多くなりました。そういえば、IMEにはSKKを使っていますが、こいつがEclipseとあまり相性良くありません(悲
Shibuya Perl Mongers TeckTalks #7 申し込みできず。。。今日に限って、集中するためにメーラを落としてたのがまずかった。フィードも見てなかった。
情報の伝達は早いなぁ。残念過ぎだぁ。。。
投稿者 keiji muraishi 場所 11:21 PM 0 コメント
ラベル: event, perl, shibuya.pm
use Readonly;
Readonly my $CONSTANTS_NUMBER => 42;
use constants;してました。
use Data::Alias;
for my $agent_num (0..$#operatives) {
alias my $agent = $operatives[$agent_num];
$agent = '[disavowed]';
}
$operatives[$agent_num] = '[DISAVOWED]';してました。まぁこの例なら
for my $agent (@operatives) {
$agent = '[disavowed]';
}
のほうが良いですけどね。収穫は多そうです。