PHP、Smarty、ケータイサイトについて発信中。書籍 「Smarty動的webサイト構築入門」(技術評論社) 好評発売中
RSS icon Home icon
  • A4 3000枚、Canon iP4600のインク使用量は?


    090813_221247-320x240セレクトショップの郵送カタログ500部(A5サイズ12ページ)を印刷することになりました。印刷は、A4サイズ3枚に両面印刷します。つまりA4片面3000ページ相当の印刷です。

    インク交換の時間も含めて、約18時間かかりました。ぶっ通しではなく、1日6時間づつ3日かかりました。、A4片面1枚で、約22秒です。

    使ったインク量は、
    BCI-320PGBK: 7本 x @980 = 6860円
    BCI-321BK: 1本 x @890 = 890円
    BCI-321C: 11本 x @890 = 9790円
    BCI-321M: 10本 x @890 = 8900円
    BCI-321Y: 9本 x @890 = 8010円
    合計 33640円

    インク価格は近所のヤマダ電機のインク価格です。ちなみに、イトーヨカードーでは定価で販売していました。

    A4片面1枚印刷するインク代は、約11円。
    A5サイズ12ページを1部印刷するインク代は、約67円。
    和紙のような紙を使いましたが、紙代は不明です。

    データ入稿の印刷屋さんに頼むと、A5サイズ12ページ500部で、5~6万円です。インク代や手間を考えると、印刷屋さんに頼んだほうが楽チンですね。

    2009-08-13 aoki No comments 未分類
  • MTOSでXML-RPC投稿したら、メインページが文字化け


    MTOS 4.25で、XML-RPCを使った投稿フォームを作りました。MTOS側の再構築するページは、メインページとブログ記事です。投稿フォーム側は、記事一覧(index.php)、投稿フォーム(form.php)、その送信先(save.php)です。実験環境は、Windows + xamppです。

    投稿フォーム(form.php)の送信先(save.php)で、XML-RPCのmetaWeblog.editPostを使って、MTOSに送信します。ログイン成功、XML-RPCの戻り値も正常です。ところが、メインページが文字化けしました。メインページの内、投稿したエントリーだけは読めますが、それ以外の部分がまったく読めません。

    20090522

    MTOSの管理画面では、投稿したエントリーを正しく表示できていました。また、管理画面で再構築したところ、文字化けしませんでした。

    mt-config.cgiの「PublishCharset UTF-8」や「NoPublishMeansDraft 1」も試しましたが、効果はありませんでした。

    いろいろ試していたら、metaWeblog.editPostで投稿後、mt.publishPostで再構築したら、メインページの文字化けしなくなりました。まあ、いいか?

    2009-06-01 aoki No comments 未分類
  • MTの記事タイトルの先頭数字だけを表示する


    こんにちは、aokiです。今回は、MovableType(以下、MT)のTipsです。

    MTのカテゴリーやエントリーの並び順を整えるために、先頭に「<01>」「<02>」を付けるワザを教えてもらいました。例えば、都道府県カテゴリーは「<01>北海道」「<11>青森」のようにします。テンプレートでは、remove_html=”1″をつけて表示します。こうすると、「<01>」の部分が削除されて、「北海道」と表示します。

    <$MTCategoryLabel remove_html="1"$>

    さて、この数字が単なる並び順ではなく、発行番号など意味のある場合、この数字だけを表示したいことがあります。例えば、「01」と表示するには、regex_replaceを使って、

    <MTSetVarBlock name="x"><$MT:EntryTitle regex_replace="^<|>.*$/g">"$></MTSetVarBlock>
    <$MTGetVar name="x"$>

    とします。

    また、「<01>」と表示するには、

    <MTSetVarBlock name="x"><$MT:EntryTitle regex_replace="/>.*/",">"$></MTSetVarBlock>
    <$MTGetVar name="x" encode_html="1"$>

    とします。

    MTSetVarBlockを使わなくても可能ですが、好みの問題で、別の変数に割り当てたほうがわかりやすい気がします。

    2009-05-25 aoki No comments 未分類
  • Lavie LL700/2のPC修理(2)


     ノートPCを修理してから約2ケ月、またフリーズするようになってきたとのこと。さっそく様子を見ると、左側面のファン風が冷たいままなので、CPUコアとヒートシンクの接触がよくないようです。前回は、CPUグリスを塗り、約2ケ月しかもたなかったので、今回は、グレーの熱伝導シートを貼ることにします。

     次のサイトの、分解方法の写真つき説明を参考にしました。
    Lavie分解法
    教えてください028のNEC Lavie LL700/2Dの分解方法

    2009-03-20 aoki No comments 未分類
  • Lavie LL700/2のPC修理


     いつもお世話になっている方から「パソコンが起動しないのですが」と相談があり、さっそく様子を見に行きました。起動ボタンを押すと、ファンはウィーンと回りますが、NECロゴまで表示したり、しなかったり。お店のメニューもこのパソコンで作成しているとのことで、データファイルだけでも取り出すぞ!自宅に持ち帰って調査することにしました。

     ノートPCの機種は、NEC Lavie LL700/2。2002年頃発売で、Mobile Cerelon 900MHz、メモリ 256M+256M、ハードディスク 30GB。大事に使われているようで、きれいな外観です。分解するとき、うっかりツメなどを折ったりしないように注意しないと。

     ノートPCを分解して、ハードディスクを本体から取り外しました。まずハードディスクの内容を別のハードディスクに丸ごとコピーします。gpartedというハードディスク用ユーティリティを使いました。Dドライブのリカバリ領域はコピーできましたが、Cドライブはエラーでコピーできませんでした。丸ごとコピーはあきらめて、USB接続して、マイドキュメントをコピーしました。第一目標は達成です。

     ハードディスクをMHDD32でスキャンしてみると、一箇所だけタイムアウト(1秒)のセクターがありました。このセクターがエラーでコピーできなかったようです。SMART情報の代替処理待ちセクター数が1なので、このセクターかなあ?

     次に、起動できない問題です。ときどきBIOS設定画面までいけるのですが、突然フリーズします。気になるのはファンが全開で回りっぱなしなこと、そのわりに風は熱くないこと。念のため、CPUファンを取り外して、CPUグリスを塗り、再度組み立てました。すると問題なく、起動できるようになりました。ファンは全開ではなく、可変で回るようになり、熱風が出てくるようになりました。CPUグリスが乾ききって、CPUの熱をファンヒートシンクに逃がすことができず、CPUが熱暴走していたようです。

     ハードディスクを元通りに取り付けて、Windowsを起動してみると、特に問題ないようです。スキャンディスクをかけても、SMART情報の代替処理待ちセクター数は1のままでした。このまま放置とします。フリーのアンチウィルスソフトAVG8をインストールして、ウィルススキャンしました。

     次に大きな目標は、リカバリーCDの作成です。これがあれば、Windows再インストールやハードディスク交換ができます。リカバリーCDは、Dドライブのリカバリ領域から作成します。困ったことに、内蔵のCD/DVDは故障しています。USB-CDをつなげてみたところ、CD-Rと認識しません。そこでisoイメージを保存して、別のPCでCDに焼きました。

     最後にバックアップの設定です。バックアップのための操作が増えるほど、バックアップしないものなので、USBメモリをつなぎっぱなしにして、自動バックアップするようにしました。

    2009-01-15 aoki No comments 未分類
  • 情報セキュリティアドミニストレータ


     情報セキュリティアドミニストレータに合格しました!去年は不合格で、2回目の受験です。来年から試験制度が変わるようなので、滑り込みセーフですね。

     去年は過去問題5年分を2回やりましたが、午後Ⅱの得点不足でした。今年はおかげさまで仕事が忙しく、あまり準備できなかったので、受験前からあきらめムードでした。が、時間いっぱい使ってひたすら解答欄を埋めた甲斐がありました。やったー!

    2008-12-17 admin No comments 未分類
  • FMV-830MG/HをUSB-CDからリカバリー


    数ヶ月前、ソフマップで中古のFMV-830MG/Hを購入しました。14インチ液晶、Pentium M (1.6GHz)、Windows XP Pro、内蔵DVD/CDドライブなし、リカバリーCD付きです。USB-CDからインストールできるだろうと思って、内蔵DVD/CDドライブがないことは気にしませんでした。

    先日、UBCD (Ultimate Boot CD) で内蔵HDDを調べようとしたところ、USB-CDから起動しません。むむ?つまりUSB-CDからリカバリーもできないことになります。2004/12製造で3年以上経過しています。HDDが壊れる前に何か手を考えておく必要があります。

    結果だけを言うと、比較的簡単でした。リカバリーCDのブート用FD領域のconfig.sysを見ると、

    REM [CD-ROM Drive]
    DEVICE=OAKCDROM.SYS /D:OEMCD001

    REM [USB-CD Driver]
    DEVICE=USBASPI.SYS /E
    DEVICE=USBCD.SYS /D:OEMCD001

    とあるので、USB-CDを使うことができます。このFD領域を取り出して、FD(フロッピーディスク)を作成して、そのFDから起動します。

    (1) まず、リカバリーCDのブート用FD領域を取り出して、ブート用FDを作ります。

    (1-1) インターコムのSuper ウルトラISO 体験版を使って、リカバリーCDからFDブート領域を取り出します。Super ウルトラISO 体験版をダウンロード、インストールしてください。起動して、メニューの[ブート]-[ディスクからブートファイルを抽出]から、ファイル保存します。

    (1-2) rawwritewinを使って、(1-1)のファイルからFDを作ります。

    (2) BIOS設定のブート順位で、Removableを最上位に設定します。

    (3) ノートPCに、USB-FD、USB-CDを接続します。

    (4) (1)で作成したブート用FDをUSB-FDに挿入します。リカバリーCDをUSB-CDに挿入します。

    (5) 電源オンすると、FDが起動し、続いてリカバリーCDが起動し、リカバリーメニューが表示されます。

    FUJITSU FMV-830MG/H
    UBCD (Ultimate Boot CD)
    ハードディスク番長 ハードディスクの寿命 とても参考になる考察があります
    インターコム Super ウルトラISO 体験版
    rawwritewin

    2008-11-04 admin No comments 未分類
  • チップセットの熱暴走?


     先週から、メインPCがときどきフリーズするようになりました。何かの処理中ではなく、ログイン後のデスクトップを表示する途中で固まることがあります。いろいろ調べていると、PC起動直後の画面で止まったり、BIOS設定画面でキーボードが効かなくなることがありました。どうやら、Windows以前の問題のようです。

     メインPCとサブPCでマウスとキーボードを交換して確認したところ、マウスやキーボード自体に問題はないようです。

     気になったのは、PC起動直後の画面で、USBうんぬんと表示して止まることです。(本当はよくわかっていないけど)USB回路の劣化を疑い、10個のUSBポートを順番に試してみました。よくなったかに見えましたが、結局フリーズするようになりました。

     BIOS画面では、CPU(Athlon64×2 4600+)の温度は38~50℃で、従来と同じです。念のため、CPUとヒートシンクをはずして、グリスを塗り直してみましたが、CPU温度に変化はありません。残念ながら、あいかわらずフリーズします。

     そして、チップセット用ヒートシンクに触ってみると、これが熱い。かなり熱い。これが原因?6cmファンで風をあててみると、フリーズしなくなりました。工作用紙とセロファンテープで6cmファンを固定して、2日ほど様子をみましたが、問題ないようです。フリーズの原因は、チップセットの熱暴走だったようです。

     最近のPCは静かなので、6cmファンがうるさいです。市販のチップセット用クーラーを検索したところ、Antec spot fanがいい感じでした。

     それにしても、今年の夏も特に問題なかったのに、なぜ今頃、熱暴走?チップセット用ヒートシンクの熱伝導シートの劣化でしょうか。機会があれば、チップセットからヒートシンクを取り外して確認したいと思います。

    2008-10-24 admin No comments 未分類
  • vss2svn.plを使ってVSS6からSubversionへ移行


     バージョン管理ソフトをVSS6(Microsoft Visual Source Safe)からSubversionへ移行しました。移行ツール vss2svnに関する記事はあまり多くありませんが、どれもとても参考になりました。ありがとうございます。

    • [miau's blog] ここの vss2svn.pl を使いました。日本語ファイル名、日本語のコミットメッセージも移行できました。
    • [ひだまりのなか、想うこと] 「やりたいこと」に、日本語のコミットメッセージを移行したい、と書かれています。ここを読まなかったら、日本語はあきらめていたかもしれません。
    • [最高のコンピューテュング環境とは] VSSからSubversionへの移行するための、3つの方法を説明しています。
    • [我楽多園] VSSからプロジェクト単位のインポートが失敗したり、日本語が文字化けしたとの報告があります。
    • [pumacode]  vss2svnの本家。ただし日本語が文字化けします。

    動作環境

     サーバPC、移行作業PCともに、Windows XP + xamppです。サーバPCにはVSSリポジトリがあり、ネットワーク共有で公開しています。
     移行作業PCで、vss2svn.plを実行します。ネットワーク共有上のVSSリポジトリを読込み、移行作業PC内にsvnリポジトリを作成します。また、外部公開しませんが、http: のsubversionサーバとしても動作し、trunkへリネームしたり、tagsやbranchesの作成などの調整をします。
     移行後の最終形は、サーバPC内にsvnリポジトリがあり、サーバPCがhttp:のsubversionサーバとして動作します。

    つまづいた点

     vss2svn.plを実行すると、VSSからファイル一覧の取得後、MMagic.pmのなんやかんやのエラーで止まりました。この原因がわからず、2~3日悩みました。結果的に、ActivePerl 5.8.x.x をアンインストールし、ActivePerl 5.10.x.x をインストールしたら、あっさり動きました。

    採用しなかった方法

     pumacodeのサイトからvss2svnのソースファイルをチェックアウトして、CentOS-5にインストールしました。次に、WindowsPC上のVSSリポジトリをCentOS-5へコピーしました。vss2svnの実行は、あっさり成功しました。subversion用ダンプファイルをWindowsPCに戻し、svnadmin load したところ、日本語ファイル名と日本語メッセージは文字化けしていました。vss2svnのオプションで、- -encoding x-sjis-cp932 などを試しましたが、VSSリポジトリの読込中に、not well format エラーで止まりました。だいぶ時間をかけていたこともあって、日本語メッセージをあきらめかけましたが、もう一度 vss2svn.pl を試すことにして、ActivePerl 5.10.x.x インストールでうまくいったわけです、よかった、よかった。

    Perlの不足モジュールのインストール

     まず、ActivePerl 5.10.x.xをインストールします。vss2svn.pl を実行 ⇒ 不足モジュールのエラー ⇒ 不足モジュールをインストール、を繰り返します。Jcode、File-MMagicは、ppmでインストールしました。

    C:>ppm install Jcode
    C:>ppm install File-MMagic

     Time-ParseDateは、Time-modules-2006.0814.tgzをダウンロード、解凍し、その中のファイルをコピーしました。

    C:>copy Time-modules-2006.0814\lib\Time\*.pm C:\Perl\site\lib\Time

    xampp と Subversion

     xamppの最新バージョンは、1.6.8 で、Apache-2.2.9とsvn-1.4.6モジュールがついてきます。サーバ側のsubversionはバージョンを合わせたほうが確実だと思い、1.4.6をダウンロードしてインストールしました。

     続いて、Apacheのsubversion設定をします。C:\xampp\apache\conf\httpd.conf をテキストエディタで開きます。まず、92行目付近の LoadModule dav_fs_module ~~~ の次行に、

    LoadModule dav_svn_module modules/mod_dav_svn.so

    を挿入します。次に、 511行目付近の Include conf/extra/httpd-ssl.conf の次行に、

    Include conf/extra/httpd-svn.conf

    を挿入します。

     C:\xampp\apache\conf\extra\httpd-svn.conf を新規作成して、テキストエディタで開き、次の内容で保存します。

    <Location /svn>
      DAV svn
      SVNParentPath “D:/svnrepos”
    </Location>

     svnリポジトリを、D:\svnrepos\project_a や D:\svnrespo\project_b に作り、その下に trunk、tags、branches ディレクトリを作ります。svnリポジトリのhttp経由のURLは、http://localhost/svn/project_a となります。

    ディレクトリとバッチファイル紹介

      実ファイルを整理したもので、実際に動作確認はしていませんので、ご了承ください。ファイル内容とコマンドプロンプトの区別がつきにくく、折り返し表示しているため、見づらいです。「D:\xx>」で始まっていれば、コマンドプロンプトです。

    U:\vssrepos
    U:\vssrepos\sourcesafe.ini
     移行作業PCから見たサーバPCのVSSリポジトリです。ネットワークドライブを割り当てているので、U: になっています。30以上のプロジェクトがありましたが、プロジェクトごとの vss2svn.pl 処理がうまくいきました。

    D:\svnrepos\project_a
    D:\svnrepos\project_b
     移行作業PC内の移行先のsvnリポジトリです。

    D:\svnrepos\pre-revprop-change.bat
     VSSのコミット(チェックイン)の日付を移行するためのフック用ファイルです。ファイルを新規作成し、内容は次の1行だけにしてください。D:\svnrepos\project_hoge\hooks\pre-revprop-change.tmpl をコピーして、リネームしただけでは、正しく動作しません。

    exit 0

    D:\vss2svn\v2s_proj.txt
     
    プロジェクト名の一覧です。VSSに、$/project_a、$/project_b とある場合は、次のようになります。

    project_a
    project_b

    D:\vss2svn\v2s.bat
     プロジェクト一覧を読み込んで、各プロジェクトを vss2svn処理をします。内容は次のとおりです。

    for /F %%f in (v2s_proj.txt) do (
    call v2s1 %%f
    )

     コマンドプロンプトで、最初に、VSSのss.exeへパスを通します。

    C:\>set PATH=%PATH%;C:\Program Files\Microsoft Visual Studio\Common\VSS\win32

     コマンドプロンプトで、次のように実行します。

    C:>D:
    D:\>cd \vss2svn
    D:\vss2svn>v2s

    D:\vss2svn\v2s1.bat
     内容は次のようになります。

    set proj=%1
    if “%proj%”==”" goto err

    :作業ディレクトリをクリーンアップします
    rmdir /S /Q D:\vss2svn\_vss2svn

    :svnリポジトリの新規作成と、フック用バッチファイルをコピー
    rmdir /S /Q D:\svnrepos\%proj%
    svnadmin create D:\svnrepos\%proj%
    copy D:\svnrepos\pre-revprop-change.bat D:\svnrepos\%proj%\hooks

    :SSJP.DLL のリネーム
    ren “C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SSJP.DLL” “SSJP.DLL~”

    :vss2svn 実行
    set SSDIR=U:\vssrepos
    vss2svn.pl –setdates  –vssproject $/%proj%  –vsslogin Admin,PASSWORD  –svnrepo http://localhost/svn/%proj%  –noprompt

    :SSJP.DLL の戻し
    ren “C:\Program Files\Microsoft Visual Studio\Common\VSS\win32\SSJP.DLL~” “SSJP.DLL”

    :フック用バッチファイルを削除する
    del D:\svnrepos\%proj%\hooks\pre-revprop-change.bat

    :err

     プロジェクト1個だけを処理したい場合は、コマンドプロンプトで、次のように実行します。

    D:\vss2svn>v2s1 project_a

    trunk作成とチェックアウト

     VSSの$/project_a をsubversionリポジトリに移行直後のパスは、リポジトリ/project_a となっているので、Subversion慣例のtrunkにリネームし、必要に応じて、tags、branchesを新規作成します。D:\workspace\project_a にチェックアウトします。コマンドプロンプトで、次のように実行します。

    D:\>cd \workspace
    D:\workspace>rmdir /S /Q project_a
    D:\workspace\project_a>svn move -m “” http://localhost/svn/project_a/project_a http://localhost/svn/project_a/trunk
    D:\workspace\project_a>svn mkdir -m “” http://localhost/svn/project_a/tags
    D:\workspace\project_a>svn mkdir -m “” http://localhost/svn/project_a/branches

    実ファイルで上書き

     チェックアウトしたファイルを確認したところ、LF改行のファイルが、CRLFになっていました。VSS6がチェックイン時に改行をCRLFにしてしまうのかもしれません。VSSの作業ファイルはLF改行のままだったので、VSS作業ディレクトリからsvnチェックアウトディレクトリへ上書きコピーしました。VSS作業ディレクトリの各ファイルはReadOnly属性であり、これを上書きコピーしたので、ReadOnly属性を解除します。また、vssver.sccもコピーしてしまったので、これを削除します。最後に、svnコミットします。コマンドプロンプトで、次のように実行します。

    D:\workspace>cd project_a
    D:\workspace\project_a>attrib -R /S *.*
    D:\workspace\project_a>del /S /Q vssver.scc
    D:\workspace\project_a>svn commit -m “vss to svn” .

    サーバPCのsvnリポジトリへ

     サーバPCのSubversionのバージョンも1.4.6なら、D:\svnrepos\ を丸ごとコピーすれば動くはずです。移行作業PCとサーバPCのSubversionのバージョンが違う場合は、移行作業PCでエクスポートして、サーバPCでインポートします。

     まず、移行作業PCでエクスポートします。コマンドプロンプトで、次のように実行します。

    D:\>cd \svndump
    D:\svndump>svnadmin dump D:\svnrepos\project_a >project_a.dat

     *.datをサーバPCへコピーして、インポートします。移行作業PCもサーバPCも同じディレクトリ構成と仮定します。コマンドプロンプトで、次のように実行します。

    D:\svndump>rmdir /S /Q D:\svnrepos\project_a
    D:\svndump>svnadmin create D:\svnrepos\project_a
    D:\svndump>svnadmin load D:\svnrepos\project_a <project_a.dat

    TortoiseSVN(トータスSVN)のバージョンは?

     私は、1.5.2をインストールして使っています。http: や svn: で使う分には問題ないと思います。

    2008-10-15 admin No comments 未分類
  • 本の紹介「続・職人で選ぶ45歳からのレストラン」


     枉駕(おうが)さんを紹介しているグルメ本を2冊紹介します。

    続・職人で選ぶ45歳からのレストラン
    宮下 裕史
    文藝春秋、2008-04
    ¥ 1,750

     枉駕さんの奥様から「文藝春秋の取材記事が本になりました」と教えていただいたので、さっそく購入しました。目次を見ると、100ページに枉駕(おうが)さんがありました。取材記事の最後に、

     「枉駕」で食事をすると、お世話になった年輩の方々をお連れしたいと、その顔がしきりに浮かぶ。

    とあり、ふむふむとうなずく。

     「枉駕 東久留米」で検索すると、担々麺がおいしいと紹介されています。ランチもコースもおいしいのに、なぜ担々麺?と不思議に思っていたら、以前、ある雑誌の担々麺特集に紹介されたことがあったらしく、その影響のようです。

    多摩とっても上等なランチ
    オフィス・クリオ
    メイツ出版、2008-05
    ¥ 1,575

     130ページに枉駕(おうが)さんがあります。この本の記事にあるように、初めての方には、ランチ(1000円)や小さな点心コース(2500円)がおすすめです。

    2008-05-21 admin No comments 未分類