Posts tagged XP

IE3 から IE6 までまとめてインストールする

1

IE5 で動作確認する必要があったのですが、手元に環境がないため調べたところ下記のような情報がありました。
IE3 から IE6 までをひとつの PC にまとめてインストールすることができます。

秋元@サイボウズラボ・プログラマー・ブログ: 複数のIEをまとめてインストールするパッケージ

Install multiple versions of IE on your PCで、IE3からIE6までの異なるバージョンのIEを選んでインストールできるインストーラというのが配られている。

(続きを読む…)

jQuery でクッキーを扱う方法

1

jQuery でクッキーを扱うのを下記サイトを参考にやってみました。
javascriptライブラリjQueryでcookieを超簡単に扱う方法 : 4GALAXYのメモ
Klaus Hartl – Stilbüro : Cookie Plugin for jQuery

jquery.cookie.js の準備

jquery.cookie.js をダウンロードして HTML で使えるようにします。

<script type="text/javascript" src="jquery.cookie.js"></script>

(続きを読む…)

OpenPNE 2.10 のメールサーバの設定

1

OpenPNE のインストール時にメールから日記の投稿などを受け付けるためにメールサーバの設定を行います。
OpenPNE のバージョン 2.10 からメールアドレスに新たに編集のアドレスが加わっていますが、ググッてみても 2.8 のころの形式の設定方法しか情報がないので書いておきます。
(続きを読む…)

2月に読んだ本

0

オススメは「成功本50冊「勝ち抜け」案内」です。成功本50冊を丹念に解説しています。こういう内容でぜひブログを書いて欲しいです。

あと野球の開幕が近いのもあるけど野球関連の本を2つ。
あぁ、阪神タイガース―負ける理由、勝つ理由 (角川oneテーマ21 A 77)
不動心 (新潮新書 201)
私は阪神ファンですが、松井のことは好きです。巨人は大嫌いですが、桑田や松井のように真摯に野球に取り組んでいる選手はやはり野球ファンとしては好きですね。阪神に入って欲しかった。この本を読んで松井の考え方などよく理解でき、また少し好きになりました。

野村監督の本は面白いのですが、微妙な心境です。敗軍の将は兵を語らずでいて欲しかった。どうしても自分の責任ではなく阪神というチームのせいでうまくいかなかったと言いたいのかもしれませんが、野村監督が名監督なのはこんな言い訳をしなくても分かっていることだと思います。

なにげに面白かったのは「字幕屋は銀幕の片隅で日本語が変だと叫ぶ」です。字幕の英語が変だという方にはぜひ一度読んで欲しいです。字幕屋さんの苦労がにじみ出てます。ここまで書いてこの後仕事に影響しないか心配です。

WEB+DB PRESS Vol.43


WEB+DB PRESS Vol.43

¥ 1,554
大型本
技術評論社

美容院と1000円カットでは、どちらが儲かるか?―できるビジネスパーソンになるための管理会計入門!


美容院と1000円カットでは、どちらが儲かるか?―できるビジネスパーソンになるための管理会計入門!
林 總
¥ 1,575
単行本
ダイヤモンド社

成功本50冊「勝ち抜け」案内 How to Improve Your Reading Skills for Success in Life (Kobunsha Paperbacks Business (013))


成功本50冊「勝ち抜け」案内 How to Improve Your Reading Skills for Success in Life (Kobunsha Paperbacks Business (013))
水野 俊哉
¥ 1,000
ペーパーバック
光文社

決算書の暗号を解け! ダメ株を見破る投資のルール


決算書の暗号を解け! ダメ株を見破る投資のルール
勝間和代
¥ 1,680
単行本(ソフトカバー)
ランダムハウス講談社

インテリジェンス 武器なき戦争 (幻冬舎新書)


インテリジェンス 武器なき戦争 (幻冬舎新書)
手嶋 龍一
¥ 777
新書
幻冬舎

FFmpegで作る動画共有サイト


FFmpegで作る動画共有サイト
月村 潤
¥ 2,940
単行本(ソフトカバー)
毎日コミュニケーションズ

「食い逃げされてもバイトは雇うな」なんて大間違い 禁じられた数字〈下〉 (光文社新書)


「食い逃げされてもバイトは雇うな」なんて大間違い   禁じられた数字〈下〉 (光文社新書)
山田 真哉
¥ 735
新書
光文社

世界一愚かなお金持ち、日本人


世界一愚かなお金持ち、日本人
マダム・ホー
¥ 1,050
新書
ディスカヴァー・トゥエンティワン

ぐんぐん実力がつく! 逆算式SQL教科書


ぐんぐん実力がつく! 逆算式SQL教科書
小野 哲
¥ 2,289
単行本(ソフトカバー)
技術評論社

ケータイでGoogle


ケータイでGoogle
佐野 正弘
¥ 1,344
単行本(ソフトカバー)
技術評論社

IKEAファンブック


IKEAファンブック
森井 ユカ
¥ 1,680
単行本
河出書房新社

右脳でわかる!株式投資力トレーニング


右脳でわかる!株式投資力トレーニング
窪田 真之
¥ 840
単行本
日本経済新聞出版社

あぁ、阪神タイガース―負ける理由、勝つ理由 (角川oneテーマ21 A 77)


あぁ、阪神タイガース―負ける理由、勝つ理由 (角川oneテーマ21 A 77)
野村 克也
¥ 720
新書
角川書店

不動心 (新潮新書 201)


不動心 (新潮新書 201)
松井 秀喜
¥ 714
新書
新潮社

字幕屋は銀幕の片隅で日本語が変だと叫ぶ (光文社新書)


字幕屋は銀幕の片隅で日本語が変だと叫ぶ (光文社新書)
太田 直子
¥ 735
新書
光文社

ウェブ国産力―日の丸ITが世界を制す (アスキー新書 047)


ウェブ国産力―日の丸ITが世界を制す (アスキー新書 047)
佐々木 俊尚
¥ 790
新書
アスキー

決断力 (角川oneテーマ21)


決断力 (角川oneテーマ21)
羽生 善治
¥ 720
新書
角川書店

できる人の英語勉強法


できる人の英語勉強法
安河内 哲也
¥ 1,365
単行本(ソフトカバー)
中経出版

個人事業・自由業者のための会社をつくるメリット・デメリット本当のところズバリ!


個人事業・自由業者のための会社をつくるメリット・デメリット本当のところズバリ!
井上 修
¥ 1,470
単行本
すばる舎

牛丼一杯の儲けは9円―「利益」と「仕入れ」の仁義なき経済学 (幻冬舎新書 さ 5-1)


牛丼一杯の儲けは9円―「利益」と「仕入れ」の仁義なき経済学 (幻冬舎新書 さ 5-1)
坂口 孝則
¥ 756
新書
幻冬舎

IE で CSV がダウンロードできない問題

1

OpenPNE の管理画面からメンバー情報を CSV ファイルとしてダウンロードする機能があります。その CSV ダウンロードが IE6 でエラーになってダウンロードできない問題がありました。

原因はマイクロソフトのサイト Content-Disposition: attachemnt と Cache-Control: no-cache によるダウンロードの問題 に書かれていました。

対処方法として、
webapp/modules/admin/do/csv_member.php を webapp_ext/modules/admin/do/csv_member.php にコピーして

header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=member.csv");

となっているところを下記のように修正します。

header("Pragma: public");
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=member.csv");

これでダウンロードができるようになります。

なお、Content-Disposition: attachemnt と Cache-Control: no-cache によるダウンロードの問題 では現象が発生するブラウザとして

?Microsoft Internet Explorer 5.0
?Microsoft Internet Explorer 6.0
?Microsoft Internet Explorer 6.0 Service Pack 1

と書かれていましたが、 IE6 の SP2 でも同様の現象が発生しました。

Smarty で正規表現を if 文で使用する

2

Smarty には正規表現を使用して文字列を置換する regex_replace があります。
これを上手に使用して if 文で正規表現を用いて条件分岐させます。

if (preg_match('/php/i', 'PHP is the web scripting language of choice.')) {
    echo 'A match was found.';
} else {
    echo 'A match was not found.';
}

PHP で上記のような処理を Smarty で書くと下記のようになります。

{assign var='string' value='PHP is the web scripting language of choice.'}
{if $string|regex_replace:'/.*php.*/i':'php' eq 'php'}
A match was found.
{else}
A match was not found.
{/if}

ポイントは regex_replace を用いて、正規表現のパターンに該当する場合は元の文字列を何かしらの文字列(上の例でいうと’php’)に置換してしまい、それを eq で置換されているか判定するということです。

これを実際に使用したのは OpenPNE のテンプレートです。
OpenPNE を使用していて、特定のカテゴリのときのみ読み込む CSS を変えたいときがありました。
OpnePNE のイベント関連の URL は http://expamle.com/?m=pc&a=page_c_event_*** という感じになります。
全部で14種類ありますので、これを普通に if 文で書いていると大変なことになりますし、追加などがあったときのことを考えるとよくありません。

そこで Smarty の if 文に正規表現を使用して下記のようにすることにより1つの条件で page_c_event_*** の URL を条件分岐させました。

Smarty テンプレート

{if $smarty.get.a|regex_replace:"/page_c_event.*_/":"event" eq "event"}
{** イベントです**}
{else}
{** イベント以外です **}
{/if}

BIALETTI Mukka Express ムッカカプチーノメーカー

1

誕生日プレゼントにカプチーノメーカーをもらいました。
普通のエスプレッソメーカーに一緒にミルクも入れられてエスプレッソとミルクフォームを同時に作る感じです。
作るのに少しコツがいるのでまだたまに失敗しますが、おいしいカプチーノが簡単に作れます。

うちは IH ですが真ん中が IH ではなく熱くなるやつ(なんていうのか分からない。。。)なのでそこで使用しています。

できたカプチーノは下のような感じです。

カプチーノ

本当は2カップ分できるのですが、写真のアマゾンのマグカップは大きいので2カップ分入ってしまいました。

お勧めは楽天で売っているペアのマグカップとコーヒー豆がセットになったセットです。
しかもアマゾンよりも安いですよ!



BIALETTI Mukka Express ムッカカプチーノメーカー(牛柄)2カップ用&ペアマグカップソーサー2客セット&自家焙煎珈琲

PEAR::Pager ページ番号を PATH_INFO で渡す

3

ページング処理を行ってくれる PEAR::Pager 、かなり便利です。
通常は
index.php?pageID=2
のようにしてページ番号を渡すのですがこれをPATH_INFO で渡すには下記のようにオプションパラメータを指定します。

$params = array(
...
'path' => 'http://localhost/foo/',
'fileName' => '%d',
'append' => false,
cuurentPage => 現在のページ
);

ポイント

append = false なら fileName の %d にpageID を埋め込む。
currentPage を指定しないと Pager が現在のページが分からない。

fileName

'path' => 'http://localhost/',
'fileName' => 'foo/%d'

なども可能。append=false なら fileName の %d にpageID を埋め込むということ。

現在のページを取得するには

$path_info = explode("/", $_SERVER['PATH_INFO']);
if (isset($path_info[1]) {
    $currentPage = $path_info[1];
} else {
    $currentPage = 1;
}

PATH_INFO が使用できるか

サーバによっては PATH_INFO が使用できない。
使用できるかは $_SERVER["PATH_INFO"] が存在するかどうか。
ただし、http://localhost/index.php では $_SERVER["PATH_INFO"] には値はセットされないので、 http://localhost/index.php/1 などのようにして $_SERVER["PATH_INFO"] が設定されているか調べる。

PEAR::Page マニュアル

CakePHP キャッシュファイルの使用

1

CakePHP でキャッシュを使用するときに便利なグローバル関数があります。

cache($path, $data, $expires, $target)
$data のデータをキャッシュします。
キャッシュする場所は
$target==”cache” なら /app/tmp/cache/ + $path
$target==”public” なら /webroot/ + $path
になります。$target を指定しなければ $target==”cache” です。
$expires はキャッシュの有効期間です。
内部で
$expires = strtotime($expires, time());
が行われるので、strtotime の Data input formats 形式に準拠したものでなければいけません。
デフォルトは $expires = ‘+1 day’ です。
clearCache($params, $type, $ext)
$paramsが文字列でキャッシュディレクトリかファイル名にマッチする場合はキャッシュから削除されます。
$params が配列の場合は配列内の文字列全てに対して上記の処理が行われます。
対象のディレクトリは $type で指定します。
$type のデフォルトは ‘views’ です。
対象ディレクトリは /app/tmp/cache/ + $type になります。
cache 関数で ‘public’ を指定した場合のクリアはこの関数ではできないようです。

結構簡単にキャッシュ処理ができそうです。

Go to Top