Zendフレームワークで日本語のPDFを取り扱う

まずは日本語用フォントが必要。
フリーで使えるIPAフォントをダウンロードし、Zendフレームワーク下に配置しておく。私の場合は \htdocs\library\font を作って配置しました。配置に悩むファイルがあったら、Zendフレームワークの推奨ディレクトリ構成を確認しましょう。


// Zend_Pdfのインスタンス生成
$pdf = new Zend_Pdf();

// 既存ファイルの読み込み
$pdf = Zend_Pdf::load('../data/pdf/yoyaku-kakunin.pdf');

// ダウンロードしたIPAフォントへのパスを指定
$font = Zend_Pdf_Font::fontWithPath('../library/font/ipagp.ttf');

// フォントを32ptで適用
$pdf->pages[0]->setFont($font, 32);

// 文字列定義
$text = 'てすと';

// 100pt, 600ptの位置にUTF-8で描画
$pdf->pages[0]->drawText($text, 100, 600, 'UTF-8');

// ドキュメントを出力
echo $pdf->render();

amazon著者セントラルに登録してみました

もはや忘れ去られていますが、私『Wikipediaで何が起こっているのか?』という著書を出版しておりまして。今でもオーム社から販売されております。

Amazon.co.jpに著者や出版社が情報発信できる「著者ページ」【ITmedia】

Amazon.co.jpは9月1日、著者ごとの作品一覧や略歴などの情報をまとめて見られる「著者ページ」をスタートした。書籍の著者や出版社が自ら情報を更新。森見登美彦さんや伊坂幸太郎さんなどが利用しており、著者ページストアで一覧を見られる。

おもしろそうなので試しに登録してみました。今更、本の売り上げに貢献する可能性はほぼゼロ%です。正直、自著の社会的目標も概ね達成できたと思ってますし。でも、普通はなかなか使えないシステムを使えるというのは素直に楽しいので、早速試してみた次第です。 

登録から公開まで時間がかかるようで、作成が完了したら「7営業日以内にEメールにてお知らせ」してくれるらしい。さて、どうなるかな。

私のソフトウェア(ASP含む)選定基準

エンドユーザーとしてソフトウェアプロダクトを選ぶとき、どういう基準で選んでいるのか?私の基準を簡単にまとめてみました。 

  1. まずはググって候補をいくつかピックアップ。キーマンズネットを使うこともある。
  2. 各プロダクトの直近一年のアップデート履歴や、ニュースリリース、キャンペーン情報などを確認。直近一年にそれらが一切ない候補を除外する。
  3. 機能とコストがこちらの要求を満たすかを確認する。予算に収まるか?目的達成に必要な最低限必要な機能を備えているか?
  4. 以上を満たしたものを比較する。だいたい、三つくらいに収まるとベスト。比較基準は、信頼性(品質)、機能性、価格。
  5. オープンソースのソフトウェアが上記を満たすなら、それを優先。小さな企業の得体の知れないプロダクトより、オープンソースの方が信頼性は高い。

続きを読む

私がqmailを使わなくなった理由

メールサーバーでバーチャルドメインを運用する、最もスタンダードと思われる方法はやはり、Postfix + dovecotの構成ですね。  RHELやCent OSのRPMだけで対応できるのが良いです。

私は何年か前から、クライアント向けの環境ではソースをビルドしたミドルウェアは提供しないという方針です。これは「再makeしないと○○出来ない」というシチュエーションが減った事に加え、RPMパッケージの品位が格段に良くなった事が理由です。

Apacheとかをたいした理由もないのにわざわざソースから入れ直してサービスを提供している例も見かけます。理由があれば仕方がないのですが、その理由が「安定性」とかだったりすると「お前はRedhat社以上に動作検証をしているのか?」と問い詰めたくなります。

そんなとき、ソースでの配布しか実質的に認められないというソフトがあったりするわけですね。そうqmailですよ!私がqmailを廃止して回ったのはそのような背景があります。 まぁ、それ以上にバージョンアップが止まっているという理由も大きかったですけど。

クライアント証明書を使ったWEBアプリ、作るのは簡単だけど

ここ銀行がやってるみたいに、クライアント証明書を使ったログインシステムを作りたいと唐突に思い始めた。

クライアント証明書がインストールされていない端末からはアクセス不能になるのでセキュリティレベルが上がる。

ApacheのSSLの設定で、クライアント証明書を要求するように設定すれば良いので作業は意外と簡単。アプリ側ではSSL_CLIENT_S_DN_CNという環境変数を取得して、ユーザーを識別すればいい。

問題は証明書のコストか。一番安いグローバルサインの証明書でも、一ライセンスあたり年間で1万円くらいかかる。  B2B案件ならたいした金額ではないけど、B2Cが絡むとなると悩む。

SSDでHDDをキャッシュする製品が6000円程度で発売

ハードディスクの長所である「大容量」と、SSD の長所である「速度」の両方を活かせるHDDアクセサリ【マスタードシード株式会社】

PC起動時にHDDのセクタのはじめの部分からSSDの容量限界までの分を、SSDにコピーします。読み込みリクエストが来た場合、SSDに該当セクタが存在すればSSDから読み出し、なければHDDから読み出します。書き込みリクエストが来た場合、直接HDDに書き込みます。

そのため、書き込み性能に関しては高速化されません。つまり、OSの起動など、セクタのはじめの部分にあり、ランダムアクセスで、且つ書き込みがほとんどないような作業の場合、大きな効果が期待できます。

期待していたSSDを使ったHDDキャッシュ製品ですが、仕組み上はさほど高速化しないんじゃないかと思われる。OS起動時に発生する大量のランダムアクセスについてはかなり対策も進んでいるほか、一度起動してしまえばOS起動時に読み込まれるようなファイルはメモリにキャッシュされていくため、効果を実感するタイミングが乏しいのではないかと。

続きを読む

1Uに2台入れられるmini-itx用ラックマウントケース

C147 ( 1 U / Mini-ITX 2 台収容 / 奥行約 38 cm / 220 W 電源 2 台搭載 )1U ラックマウントケース

 

最大の驚きはこんなモノがAmazonで買える世の中になったということだったりするかもしれませんがw

こうしたケースに、昨今話題のAtomサーバー用マザーボードなどを組み合わせることで、ラック内に隙間なくサーバーを敷き詰めて運用することが可能になります。ちなみに既製品もありますので、特に難しい技術を使う必要などはありません。ただ単に「Atomサーバー一丁!」と発注さえすれば良いのです。

IT業界では既にサーバー貸しの分野は物量戦に突入して久しいのですが、ここに一つ、誤解されやすビジネス上のポイントがあります。

続きを読む

【Postfix】SMTP Authが必要な中継サーバーを設定する。かつ、送信先ドメインを限定する

こんな感じの環境を想定しています。

<社外メールサーバー>(SMTP Auth必須)
____|____(FW)
<開発環境用メールサーバー>(SMTP Auth不要)
____|____
<開発用サーバー・開発機>

開発環境用メールサーバーが特定ドメインしかメールを転送しないので、ウィルスメールが蔓延してその被害を社外に広げたり、テスト中で社外にメールを送ったりといったことを防げる。社内の開発環境などにお勧め。

以下、CetnOS 5.3で確認しています。

続きを読む