プログラマの数学

プログラマの数学
読もう読もうと思ってなかなか手をつけれなかった本。
10の0乗がなぜ1になるのかや植木算など漠然と知っていたことが
理解レベルになれたのは良かったところ。
カウンタブルなど私のレベルでは理解できないところもちらほら。
あと2,3回読めば全体的に掴めるかも。
確かに業務プログラマやWebプログラマに必要な場面は多くありませんが
基礎として知っておくべき内容ではないでしょうか。
グルーピングや一般化の話はホント大事。
あと時間ができたら数学ガールも読む。

Excelファイル読み込めるSpreadsheet::ParseExcel(Perl)

仕事でExcelドキュメントの値を直接読み込みたい場面がありいろいろ調べたのでその結果です。
今利用している言語がPHPって事もありライブラリを探ってみたところ2つ見つけました。

Spreadsheet_Excel_Reader
Excel_Peruser

どちらも使い方は簡単だったのですが、Excelファイルによっては読み込めない場合があり安定性がいまひとつでした。
他に方法はないかと考えたらサーバにPerl入ってるしPerlで組んでも問題ないだろうと判断。
探してみたらあっさりCPANにありました。
Spreadsheet::ParseExcel
こっちも利用はいたって簡単。更に読み込みたいファイルも無事に読み込めました。
■Excelファイル(Excel 2002)

■結果

0 0:a 1:b
1 0:123 1:456
2 0:感じ 1:カタカナ
3 0: 1:ハンカク

■ソース

#!/usr/bin/perl

use strict;
use warnings;

use Spreadsheet::ParseExcel;
use Spreadsheet::ParseExcel::FmtJapan;

my $format = new Spreadsheet::ParseExcel::FmtJapan->new(Code => ’sjis’);
my $excel = new Spreadsheet::ParseExcel;
my $book = $excel->Parse("test.xls", $format);

my $sheet = $book->{"Worksheet"}[0];

my $maxRow = $sheet->{"MaxRow"};
my $maxCol = $sheet->{"MaxCol"};

for(my $row=0; $row<=$maxRow; $row++) {
print $row." ";
[…]

Vimperatorが使えない人のFirefox3環境

Vimperatorが使えなくなったのでなんとかクイックヒントだけでも実装できないかとGreasemonkeyのスクリプトごりごり書いてみた。
ある程度のところまではできたんだけど結局Hit-a-Hintの方が完成度が高くて使いやすいのでそっちを選択。時間を無駄にしてしまったなー。
これでクイックヒントの機能は問題なくなったんだけど今度は画面のスクロールがメンドクサイ。
矢印キーだとちまちましすぎるし、PageUp&PageDownだと押しにくい。
以前ページスクロールのグリモンスクリプト書いたの思い出して、ブログから引っ張りだしたら無事Firefox3でも動いた。(Vimperator入れてたので使ってなかった)
でもこのスクリプト「スペースキー」でページをスクロールさせるので見事に「Hit-a-Hint」のキーとバッティング。
自分で書いたスクリプトなのでPageDownを「j」、PageUpを「k」に修正して無事解決。
なので今のFirefox3環境は
ページのスクロール:Greasemonkeyの自作スクリプト
クイックヒント:Hit-a-Hint
な感じです。
これで大分マウスに手が伸びることは減った。めでたしめでたし。
自作スクリプトはこれ:gmpage_scroller.user.js
詳細機能は過去記事を参照してください。キーはj&kに変わってます。
たぶん記事を読みやすくするGreasemonkeyのスクリプト