M.C.P.C.

―むり・くり―プラスコミュニケーション


« 2006年6月 | トップページ | 2006年8月 »

2006.07.31

CGI.pmのuploadメソッドでファイル名取得したらフルパスからファイル名を取り出す処理を入れる

個人的な覚え書き。

ファイル送信フォームを使用するクライアントが IE だったら、送られてきたファイル名をそのまま使うとキケンだよ。送信元のシステムにおけるフルパスが送信されます

必ず、File::Basename モジュールの fileparse を通すか、正規表現等でファイル名だけを取り出す処理を追加しましょう。

#!C:/Program Files/Xampp/perl/bin/perl.exe
 
use strict; 
use warnings; 
use CGI; 
use File::Basename;
 
my $q = CGI->new; 
 
my $upload_FH = $q->upload('file');
fileparse_set_fstype('MSDOS');
my $filename  = fileparse($upload_FH);
 
print $q->header(
  -type    => 'text/plain',
  -charset => 'utf-8',
);
print q/$q->upload('file') :/,
  "\n\t$upload_FH\n\n";
print q/fileparse($q->upload('file')) :/,
  "\n\t$filename\n";

Win IE 6 からこの CGI に送信すると、以下のようになります。

$q->upload('file') :
	C:\Documents and Settings\CL\デスクトップ\test.lzh
 
fileparse($q->upload('file')) :
	test.lzh


(2007-11.15 16.47追記)

fileparse_set_fstype('MSDOS'); を挿入すべきでした。ソースには追加しておきました。作例はWindowsのActivePerlで動いているのでたまたま問題ないんですけれども、実行環境に依存するのです。

もっと正確にするには、IEのときだけ実行するコードにしましょう。

#!/usr/bin/perl
use strict;
use warnings;
use CGI;
use File::Basename;
my $q = CGI->new();
if ( _checkWinIE() ) {
  fileparse_set_fstype('MSDOS');
}
my $file = q();
if ($q->upload('file') ) {
  $file = fileparse($q->upload('file') );
}
print $q->header( -type => 'text/plain' );
print "$file \n";
 
exit;
 
sub _checkWinIE {
  use HTTP::BrowserDetect;
  my $ua = HTTP::BrowserDetect
    ->new($ENV{'HTTP_USER_AGENT'});
  if ( ( $ua->browser_string() eq 'MSIE')
       && ( $ua->os_string() =~ m/^Win/ ) ) {
    return 1;
  }
  return;
}

[Perl] | 固定リンク | コメント (0) | トラックバック (0) | このエントリーをはてなブックマークへ追加 livedoor Clipでこのサイトを登録している人数livedoor Clipでこの記事をクリップ!

2006.07.30

ImageMagick(PerlMagick)で文字をぐにょらせるCGIサンプル

http://www.dtpwiki.jp/cgi-bin/secureimage/wavetext.cgi?var=13245

var の後をいろいろ変えてみてね。

#!/usr/bin/perl 
use strict; 
use warnings; 
use CGI; 
use Image::Magick; 
 
# CGI オブジェクト作成 
my $q = CGI->new; 
my $text = $q->param('var'); 
$text or $text = '12345'; 
 
# Image::Magick オブジェクト作成 
my $image = Image::Magick->new; 
$image->Set(size=>'128x128'); # カンバスサイズ 
$image->ReadImage('xc:white'); # バック白 
$image->Annotate( 
text=>$text, 
fill=>'#ff0000', 
font=>'/usr/share/fonts/bitstream-vera/Vera.ttf', 
pointsize=>'24', 
x=>'0', 
y=>'48', 
); # 文字 
$image->Wave('5x20'); # 波状加工 
 
# 画像出力 
print $q->header('image/jpeg'); # ヘッダ 
binmode STDOUT; # Winの時のおまじない 
$image->Write('jpeg:-'); # JPEGで書き出し 
undef $image;

[Perl] | 固定リンク | コメント (6) | トラックバック (0) | このエントリーをはてなブックマークへ追加 livedoor Clipでこのサイトを登録している人数livedoor Clipでこの記事をクリップ!

2006.07.29

MYCOM Mac Fan Netで2006年版 DTP環境アンケート

ようこそ!おこしやす Intel Mac - 2006年版 DTP環境アンケート [d.hatena.ne.jp]

Mac Fan Net にて「2006年版 DTP環境アンケート」を実施しています。

これって毎年やるんですねーMac 誌の Mac Fan で DTP 環境のアンケートをやるとサンプルが偏っていそうですけどね!

これってちゃんと集計結果を Web 上で引用しやすい形で公開されるといいなあと思います。過去の回は、調査結果を無断スキャンした画像ファイルが2ちゃんねるで晒されていて引用するにも後ろめたいものがある状態だったわけですので。

アンケートで思い出したけど、アドビからアンケート参加してちょ!って e メールが来たので参加したら、「クリエイティブスィート製品にアップグレードする予定がありますか?」ていうところで「いいえ」えらんだら、「あなたは今回の調査の範囲外です。ありがとうございました。」とかでて強制的に終了させられたよ。ナニコレ?フィッシングなんとか?

[DTP] | 固定リンク | コメント (1) | トラックバック (0) | このエントリーをはてなブックマークへ追加 livedoor Clipでこのサイトを登録している人数livedoor Clipでこの記事をクリップ!

2006.07.28

ニンテンドーDSブラウザー&携帯用2ちゃんねるというベストマッチ

ニンテンドーDSブラウザーの動作が遅いって言う話をよく聞きますが、見るサイトが間違っていると思います。

ニンテンドー DS ブラウザーでも軽快に見られるサイトとして、携帯用2ちゃんねるを挙げておきます。

http://c-others.2ch.net/

MOVA R211i や FOMA SH901iC で見るのとは比較にならないほどの爆速ぶりです。お試しあれ。

[パソコン・インターネット] | 固定リンク | コメント (0) | トラックバック (0) | このエントリーをはてなブックマークへ追加 livedoor Clipでこのサイトを登録している人数livedoor Clipでこの記事をクリップ!

2006.07.27

イッコイチBOXとWD2500の組み合わせは注意

Century イッコイチ BOX と、WDC WD2500 なんですけれども、

Western Digital の HDD は、1台だけ接続するときは、Master にするとだめ、ていうの、この HDD ケースにも適用されますので、注意が必要です。

本当は、 Single or Master 設定にするんですけれども、めどいので、Cable Select にしても動きはします。

WDC HDD を入手して認識しない人は、ジャンパの設定を見直しといいかもしれません。

[パソコン・インターネット] | 固定リンク | コメント (0) | トラックバック (0) | このエントリーをはてなブックマークへ追加 livedoor Clipでこのサイトを登録している人数livedoor Clipでこの記事をクリップ!

2006.07.26

ニンテンドーDSブラウザーて、上画面での画像表示をmicroformatsで指定できたらおもしろいのにな

ニンテンドーDSブラウザーていう、nintendo DS 用のブラウザソフトを購入しました。初代 nintendo DS 用と、nitendo DS Lite 用の2つのパッケージがあります。

これ使ってみると分かるのですが、DS の2画面表示を Web 側から制御できたら有り難い場面に遭遇します。エロ画ギャラリーの閲

というわけで、画像へのリンクが張ってあって、その属性にごにょごにょ書いていたら、上画面だけ更新する、みたいなのがあるといいと思いました。

おそらくこれから出てくるのは、DS 画面サイズ用画像コンバートゲートウェイ、既存ウェブをスクレイピングして、DS 画面用に再構成するものあたりだと思います。速攻で ds.qooqle.jp が出来ていてウケタ。

[パソコン・インターネット] | 固定リンク | コメント (0) | トラックバック (0) | このエントリーをはてなブックマークへ追加 livedoor Clipでこのサイトを登録している人数livedoor Clipでこの記事をクリップ!

ファイルのタイムスタンプを9時間戻すAppleScriptドロップレット(MacOSX用StuffItタイムスタンプバグ対応)

旧sitをOSXネイティブのStuffItで解凍すると時刻が+9される件
カレントディレクトリ以下のファイルのタイムスタンプを9時間戻すPerlワンライナー(MacOSX用StuffItタイムスタンプバグ対応)
Mac OS Xが実務で使われ始めてやっと表面化してきた圧縮ファイルの問題

にて話題にしてきた Mac OS X の StuffIt で、旧 StuffIt アーカイブ(.sit)を解凍するとタイムスタンプが+9時間になってしまう件ですが、

ベンダ(act2)には報告済みで、現象は確認できたので改善したいという返事はいただいているけれども、とりあえずの対応として、AppleScriptで、時刻を-9時間するドロップレットを作ってみました。

下記 URL にて配布します。

9hoursbefore.app - DTPWiki [dtpwiki.jp]

これにより、Mac OS 9/Classic 環境を使用する場面が一つ減り、Mac OS X 環境への移行がいっそう進むことが期待されます。

[Script] | 固定リンク | コメント (1) | トラックバック (1) | このエントリーをはてなブックマークへ追加 livedoor Clipでこのサイトを登録している人数livedoor Clipでこの記事をクリップ!

これがいわゆるQX3.3Jの暗部

MacあんどDTP&デザイン奮闘記:QX3.3の課題1 [blog.goo.ne.jp]

QX3.3で作ってみてください。
線の太さ、大きさ、色等はお任せです。

Madebyqx33

これで「なにこれ、楽しー」て洗脳される(多湖輝の「頭の体操」メソッド)のが QuarkXPress オペへの第1歩ですよね。一応応用が利くので悪くはないけれども、再利用しにくいパーツを作り、直すときには手作業の高速オペレーション、ていう悪癖を付ける一因でもあります。


(2006.7.26 1.30追記)

Qx33kadai01

qx33kadai-01.qxd.sit

結構自信なし。僕オペレータとしての能力あんま無いんですよね。

[QuarkXPress] | 固定リンク | コメント (0) | トラックバック (0) | このエントリーをはてなブックマークへ追加 livedoor Clipでこのサイトを登録している人数livedoor Clipでこの記事をクリップ!

2006.07.25

久々にライセンス転送

前回ノートパソコンの HDD を換装したときに、Adobe CS 1 まで入れて満足していたのですが、急に Adobe Bridge を使いたくなったので、CS2 を入れることにしました。でも、CS2 のライセンスは前の HDD から抜くの忘れていました! 以前聞いた話だと、そういう場合でもオペレータに説明して指示通りやると、認証できるらしいのですが、Adobe のオペレータは朝5時にはいないはずなんで、しょうがないから前の HDD 起動してライセンス転送をインターネット経由で行ってから、現 HDD に戻して、電話でライセンス認証しました。前も書いたと思いますが、インターネットが使えない状態だと、ライセンス転送が出来ないのでなんとかした方がいいです。電話による認証しているのは、別にインターネットが使えないというわけではなく、何となくアドビが信用できないからだってことなんですよ!

[DTP] | 固定リンク | コメント (0) | トラックバック (0) | このエントリーをはてなブックマークへ追加 livedoor Clipでこのサイトを登録している人数livedoor Clipでこの記事をクリップ!

2006.07.24

DTP現場の停滞は教育訓練手法の不在にあるよ。

Underconstruction by Taiyo@hatena:■[DTP]死人は生き返らない。宗教なら別だが…… [d.hatena.ne.jp]

で、Mac OS XのDTP環境とInDesignだ。この環境はXPressを筆頭とする三種の神器の代替環境じゃない。いままでオペレータに書籍の設計を握り込まれていた上流工程で書籍設計をすべて終わらせるためのツールだ。設計に時間を割くように作られていて、実際の組版工程はXPressのオペレータほどコストの高い人材を必要としないようなワークフローを組むと最高のパフォーマンスが出る。引き出し線を引くためにIllustratorやPhotoshopをがちゃがちゃ操作したり、XPressのちょっとした癖(数値精度が低いから100qのボックスを作るのに100.001qなんて入力したりする)を知悉している――「仕事してる感じ」を満喫するようなというと言い過ぎかな?――オペレータなしで書籍を作り上げる方法が提案されているんだ。このAdobeからの提案が実現するまでには何年か必要かもしれないけれど、つきあう価値は十分あるんじゃないだろうか?

Quark XPress オペレータというのにどれほど熱心な人が居るかどうかが問題です。だって、Q がおかしいって認識している人はみな一目散に InDesign に乗り換えてしまったわけで(でも InDesign は操作感や UI などユーザエクスペリエンスの向上という意味でかなり迷走してポイントを落としている)、いまだに使っている人って、Q の問題を「そういうもんだ」て理解しているから。だからそういう人は Q を一生使うしかないんじゃね?ていうのが僕の考え。

でも彼らが印刷人生を全うするまでにいろんな考えを彼らに浴びせて、環境に固執せずに柔軟な制作環境を取ることによるメリットを提示することは必要なんだけど、業界のメジャー誌といわれている(書店売りされているって意味)DTP WORLD 誌は残念ながらその役割は果たせていない(D 誌でのレイアウトグリッド使用を強迫するような一連の記事は、D 誌の読者層から見ると大きな失敗だったと思う)。

そんで今 D 誌なり競合誌が持たなきゃいけない連載は、教育訓練の手法に関する連載だと思う。僕もよく教育訓練をしなくちゃいけない場面があるのですけれども、教育っていうのは教員養成課程というものがあるくらいめんどくさいものなのに、それに関する言及がないのは、雑誌編集者が問題意識を持っていないかパープリンかなんだろう。かくいう僕も教育心理学とか取ったのはもう9年も前だからかなりやばくて、そういう教育学的部分と DTP やっとる現場での実情とのバランスがとれた記事があるといいなーと思ったけど絶対実現しそうにないなこりゃ。

とりあえずね、D の人は、Software Design 誌とか参考にするといいと思います。教育訓練に関するやわらけー読み物(対話形式のやつね)が載っていて、逆にかの業界では教育訓練も課題であると認識されているっていうのが実感できます。

さとうかしわ載っけるのはかまわんがさとうかしわで終わっちゃいかんとおもう。

[DTP] | 固定リンク | コメント (0) | トラックバック (1) | このエントリーをはてなブックマークへ追加 livedoor Clipでこのサイトを登録している人数livedoor Clipでこの記事をクリップ!

< 最後 « これより前10ä»¶ | 全件