水曜日, 2 月 24th, 2010 | Author: djodjo

件名の通りですが、
ExtJSのCSSはデフォルトで青とグレー、Vistaってのが付いてきます。
で、このグレーを使ってて以下の時に不具合がありました。
ツールバーの要素に’-'って指定すると縦棒でスプリットしてくれるんですが
これがでない。
問題はグレーのcssにバグあり。下記を治せばOK。

間違い
.x-toolbar .xtb-sep {
background-image: url(../ext/resources/images/default/grid/grid-split.gif);
}
正解
.x-toolbar .xtb-sep {
background-image: url(../images/default/grid/grid-split.gif);
}

Category: 未分類  | Leave a Comment
月曜日, 12 月 21st, 2009 | Author: djodjo

Ext 3.1: メモリ問題の大幅な改善(IE)と新しいUI部品
結構いろいろ更新されてますね。
IE6への対応は助かります。

新しいUI部品もちらほら。ダウンロードしてexampleをのぞいてみよう。
ちなみに、exampleはapahceなどのHTTPサーバを経由してじゃないと動きません。

Category: ExtJS  | Leave a Comment
月曜日, 12 月 21st, 2009 | Author: djodjo

Perlですが、リファレンスになってるハッシュのマージする方法。

my $hash1 = {
aaa=> 10,
bbb=> 100,
ccc=>1000,
};
my $hash2 = {
bbb=> 20,
};
my $merge= {
%{ $hash1 },
%{ $hash2 },
eee=>'add',
};
use Data::Dumper;
print Dumper $merge;

とすると、以下の感じでマージされる。ちゃんと後ろにくっつけた、hash2が同じキーbbbを上書きしてる。

$VAR1 = {
'bbb' => 20,
'aaa' => 10,
'ccc' => 1000,
'eee' => 'add'
};

ちなみに、ふつうのハッシュをマージ・結合するには

my %hash1 = (
aaa=> 10,
bbb=> 100,
ccc=> 1000,
);
my %hash2 = (
bbb=> 20,
);
my %merge= (%hash1, %hash2, eee=> 'add');
use Data::Dumper;
print Dumper \%merge;

で同じ結果に。
やっぱり一度、リファレンスから戻さないと結合できないみたい。
結局はリストの結合と同じね。

Category: Perl  | Leave a Comment
木曜日, 9 月 17th, 2009 | Author: djodjo

Perl の CGI.pmはよくお世話になりますが、UTF8を扱おうとすると、utf8フラグがたったり、なかったりと問題があるようで、めんどくさいのでCGI.pmでパラメータ受け取るときにすべてのパラメータを一度に処理してます。

1件ごとでなくて、飛んできたパラメータ全部をdecodeしてみる。

use CGI;

for my $p ($CGI->param) {
    my @v = map {Encode:: decode_utf8 ($_)} $CGI->param($p);
    $CGI->param($p,@v);
}

たつをのChangeLog殿から、dankogai殿の指摘をみて、自分のコードも少々修正してみました。
たつをのChangeLog Perl の utf8 まわりのおまじない

use utf8;
use CGI;
...
my $text = $q->param('text') || "";
utf8::decode($text) unless utf8::is_utf8($text);
...

Encode:: decode_utf8を使いましょうとのご指摘はこちら。
http://blog.livedoor.jp/dankogai/archives/51290188.html

Validationの観点だけではなく、簡潔性の観点からも、Encode::decode_utf8()はおすすめです。すでに UTF-8 flag がついた文字列はそのままコピーするだけなので、条件分岐も不要です。

なるほどー

Category: Perl  | Tags:  | Leave a Comment
火曜日, 9 月 15th, 2009 | Author: djodjo

ExcelのTips
金額や大きめの数字を入れた際に、1億2千万といった具合に、漢字を入れてほしい場合
次の表示形式をExcelで設定すればOK。
[>=100000000]####”億”###0″万”####;[>=1000]####”万”####;G/標準

ちなみに、書式の設定方法は

  1. 該当セル選択後、右クリックから「セルの書式設定」を選択
  2. 表示形式タブを選択
  3. 分類の「ユーザ定義」を選択
  4. 右側の「種類」に上記設定を入れましょう。
  5. Excelで表示形式を億万表示にする

Excelで表示形式を億万表示にする

Excelで表示形式を億万表示にする

Category: 未分類  | Leave a Comment
土曜日, 9 月 05th, 2009 | Author: djodjo

無償PDFプリンタの話

クセロPDFの無償ダウンロードが終わりどうしようかと思ってたところ見つけたのが、以下。

http://www.bullzip.com/products/pdf/info.php#download

インストールして、あとは印刷する際のプリンタとしてbullzipを選択すればOK
簡単!
なんですが、起動された画面が文字化け。どうもVistaだと発生するとか。
以下の手順で治ります。

  1. 「メモ帳」を起動
  2. 次のファイルを開く
    1. c:\Program Files\Bullzip\PDF Printer\Labels.txt」
    2. 開くときの文字コードをUnicodeにする。
  3. 下記を先頭行に追加し、保存。

    WindowsLanguage=JPN
    CultureID=1041
    CultureName=ja-JP
    CultureNativeName=日本語 (日本)
    MissingTranslations=0

  4. エクスプローラ等で、c:\Program Files\Bullzip\PDF Printerに移動
  5. 「gui.exe」を右クリック
  6. タブ「互換性」の「互換モードでこのプログラムを実行する」のチェックボックスにチェックする。その右は「Windows XP(Service Pack 2)」を選択して「適用」ボタン押下

で治るはず。

Wordで書類を書いて、PDFにするときですが、罫線に点線を使うとどうもきれいにPDFにならない。単なる直線ならきれいなのに。この辺はフリーなのでしょうがないかな。

Category: 未分類  | Leave a Comment
日曜日, 8 月 30th, 2009 | Author: djodjo

CGIやPHPでとれる環境変数、REQUEST_URIとSCRIPT_NAMEですが、普通に使う分には中身が同じなので気にしてなかったのですが、mod_rewriteを使ったら、あら!違うじゃないですか。とハマッたのでメモ

以下のように、とあるCGIにアクセスした場合は

http://localhost/info.cgi
REQUEST_URI /info.cgi
SCRIPT_NAME /info.cgi
おなじ

じゃ、例えば
http://example.jp/blog/200908/01.html
といったURLを
http://example.jp/blog/article.cgi?id=20090801
と書き換えたとすると、REQUEST_URIとSCRIPT_NAMEはそれぞれ以下のようになる。

▼ブラウザから送られてきた要求のURI
$ENV{REQUEST_URI} = /blog/200908/01.html

▼CGIスクリプト名
$ENV{SCRIPT_NAME} = /blog/article.cgi

ポイントは、

REQUEST_URIはそのまま、【ブラウザから送られてきた要求のURI
SCRIPT_NAME
は【実行されているスクリプトのパス】ですね。

はまりポイントである。

Category: Perl  | Tags: ,  | One Comment
火曜日, 8 月 04th, 2009 | Author: djodjo

で、これが目的。Catalystをインストールしてみる。

  1. cpan Catalyst::Runtime
  2. cpan Catalyst::Devel
  3. cpan Catalyst::View::TT

で、いくつか問題がありました。

  1. Perlのバージョンが5・10系だと、Catalyst::Develのインストールで起こられた。なので、Perlをバージョンダウン
  2. cpan install Catalyst::Develで下記エラー

    Failed during this command:
    JDB/Win32-Process-0.14.tar.gz                : make NO
    BZAJAC/Proc-Background-1.10.tar.gz           : make_test NO
    FLORA/Catalyst-Devel-1.19.tar.gz             : make_test NO 2 dependencies missing (Win32::Process,Proc::Background)

    で、自動でインストールできなかったWin32::Processを個別にcpanから入れようとしても、同じくエラー。
    当然か!
    で完了なわけですが、Catalyst::Develが入らない。なので、ここはppmでインストールしてみる。面白いことに、ActivePerlだけかと思いきやStrawberry Perlでも利用できる。

    ppmで先にWin32-Processをインストール

    PPM> install Win32-Process
    Install package ‘Win32-Process?’ (y/N): y
    Installing package ‘Win32-Process’…
    Bytes transferred: 12323
    Files found in blib\arch: installing files in blib\lib into architecture depende
    nt library tree
    Installing C:\strawberry\perl\site\lib\auto\Win32\Process\Process.bs
    Installing C:\strawberry\perl\site\lib\auto\Win32\Process\Process.dll
    Installing C:\strawberry\perl\site\lib\auto\Win32\Process\Process.exp
    Installing C:\strawberry\perl\site\lib\auto\Win32\Process\Process.lib
    Installing \site\lib\Win32\Process.html
    Installing C:\strawberry\perl\site\lib\Win32\Process.pm
    PPM>

もういっかいcpanからcatalyst::Develをインストール。

OK。成功!!!

Category: Perl  | Tags: ,  | Leave a Comment
月曜日, 8 月 03rd, 2009 | Author: djodjo

cpanコマンドの設定メモ。よく忘れるんだこれが。

  • 設定一覧
    • o conf
  • CPANミラーのURL設定
    • o conf urllist [http://......,http://.....]
  • CPANミラーのURL追加
    • o conf urllist push 追加するURL
      • これでurllistの後ろに追加される
    • o conf urllist unshift 追加するURL
      • これでurllistの先頭に追加される
  • CPANミラーのURL削除
    • o conf urllist pop 削除するURL
  • Proxyの設定
    • o conf http_proxy http://プロキシ名:ポート
    • o con ftp_proxy http://プロキシ名:ポート
  • Proxyに認証がいる場合
    • o conf proxy_user ユーザ名
    • o conf proxy_pass パスワード
  • 設定の確定・保存
    • o conf commit
    • これを忘れると保存されない。

Category: Perl  | Tags:  | Leave a Comment
月曜日, 8 月 03rd, 2009 | Author: djodjo

Perlを好く使うんですが、Vimとかemacsとか使いこなせないんで、Windowsで開発してます。(笑)
で、PerlはActivePerlを使ってたんですが、Strawberry Perlって環境もあるときき試してみることに。最近買った、モダンPerl入門 (CodeZine BOOKS)
って本で知りました。(遅いかっ!)

インストール手順

strawberry-perl-for-windows

  • ダウンロード
    http://strawberryperl.com/から5.10系か5.8系を選んでダウンロード
  • exeなのでそのままインストーラを実行
  • 試した5.10は特に選択肢もないままインストール完了
  • インストール先
    • c:\strawberry\
    • Perl.exeなど:c:\strawberry\perl
    • DLLやgccなど:C:\strawberry\c
  • 環境変数PATH
    • c:\strawberry\perl\binとC:\strawberry\c\bin
    • perlとDLLへのパスとなる。
    • 追記!!!効果のほどはわかりませんがいかもPATHに追加しておく
    • C:\strawberry\c\mingw32\bin
    • 結果PATHは
    • C:\strawberry\c\mingw32\bin;c:\strawberry\perl\bin;C:\strawberry\c\bin
    • となった

感想
まず、gccやDLLを内包しているという点は結構大きい。
開発をwindowsで行っても実際に本番サーバはLinux系のことが多いので、各種ライブラリはやはりCPANから持ってくる。まれに、というか結構ActivePerlのPPMには存在しないものもあり、結構面倒なのでこれはすごくイイ
インストール先がc:\perlでないのもOK。インストール先の選択肢が無く一瞬あせったが、 ちゃんとかぶらないようになってた。ウレシイ
ちなみに、ActivePerlと共存させるため、シンボリックリンクでc:\perlを作ってみました

Category: Perl  | Tags: ,  | Leave a Comment