BUFFALO HD-PF120U2-WHを買ったので使用感というか感想。

先日デスクトップPCからノートPCへのデータ移行をするのに必要となったのでBAFFALOのHD-PF120U2-WHという外付けの2.5インチポータブルHDDを購入。その使用感というかちょっとした感想でも書いてみます。

データ移行のバックアップ機器はどれにしようか悩みました。MP3などの音楽ファイルが43GBくらい。文章や写真などのデータ類が2GBくらいあった。ドキュメントは普通にそのままDVD-Rメディアにバックアップ。問題はMP3データ。最初はiTunesのバックアップ機能を使おうと思ったんだけど、単純に考えてDVD-Rメディアが約10枚。時間がかかりそうだし面倒なので却下。

そうなると外付けのHDDしかありません。3.5インチと2.5インチタイプのどちらにするか。3.5タイプだと同じ価格で大きな容量のものを買うことができます。2.5タイプは容量は小さくなるけどコンパクトサイズでUSBから電源が取れます。大まかな違い的にはこんな感じ?自分的には容量は80Gもあれば余裕なのでコンパクトな2.5インチタイプのポータブルHDDを購入。

HD-PF120U2とDS Liteのサイズ比較

届いたのでノートPCに接続しました。ついでにサイズ検証のために、ニンテンドーDS Liteと比較写真を撮ってみた。サイズ的にほぼDS Liteと同じくらいでした。重さはHD-PF120U2が軽いかな。

PCにつないでデバイスマネージャーを覗いてみたら、HD-PF120U2はSAMSUNG HM121HIというSATAのHDDをUSB変換して繋いでるみたい。内蔵されているHDDはロットとかによって違うかもですが、うちのやつにはSAMSUNGのものが使われていました。

初期状態ではFAT32でフォーマットされていて、ユーティリティツールもHDDにインストールされていました。でも繋いですぐにNTFSでフォーマットしなおしちゃいました...。

HD-PF120U2ベンチ

ベンチマークソフトのCrystalDiskMark 2.1を使ってHD-PF120U2(SAMSUNG HM121HI)をテストしてみました。比較のために内蔵のHITACHI Travelster 120G(PATA)と一緒に結果を載せておきます。SATAをUSB変換してもベンチの結果的に比較的近い数値になりましたね。

肝心の内蔵HDDからHD-PF120U2へのMP3データのバックアップには、きちんと時間を計っていた訳ではないんだけど35分くらい?だったと思います。動作音もほとんど聞えなくて静かです。さすがにコンパクトなのでファンとか搭載していないので、触ってみると熱はそれなりに持っているようですけどね。

自分的に結構満足できる商品でした。星五つ★★★★★。

結局バックアップしたMP3ファイルとかは、内蔵HDDにコピーすることはやめてました。ノートPCで音楽を聴くときは、ポータブルHDDをUSB接続して聴いてます。

BUFFALO ポータブルハードディスク HD-PF120U2-WH BUFFALO TurboUSB/耐衝撃/巻きピタケーブル収納 USB2.0用 ポータブルHDD 120GB ホワイト HD-PF120U2-WH

投稿日 2008-07-18 11:22 | 購入履歴&お気に入り | コメント(0), トラックバック(0)

メインマシンをThinkPad R50e(1834-GKJ)へ変えました。

今までメインマシンは中古で買ったデスクトップのIBM ThinkCentre A50(8320-8HJ)を使ってきました。先日なんとなく入札したビッダーズのオークションでThinkPad R50e(1834-GKJ)のOSなしマシンが落札できたのでメインマシンを切り替えてみました。

今まで使用していたIBM ThinkCentre 8320-8HJは中古で購入してちょうど2年ほど使ってました。購入後にThinkPlus USBキーボードやリカバリCDやHDDなどを購入したりしましたが、2年間がんばってよく働いてくれました。

メインPC

ThinkPad R50eのほうも、XP SP3へアップしたりドライバ類のアップやソフトインストールなども終えたのでようやくメインへと切り替えることができます。

ThinkPad R50e(1834-GKJ)
CPU: Celeron M340(1.50GHz)
メモリ: 512M(DDR 333)
HDD: 40G
光学ドライブ: CD-ROM
LAN: 100Base-TX
液晶: 15インチ(1024x768)

大体のスペックはこんな感じ。今回落札したR50eはOSなしでした。本来はDtoDのモデルなんだけど削除されちゃってた。ということで以下のものも購入しました。

  • 上海問屋セレクト 512Mメモリ(Transcend Jet Ram)
  • HITACHI Travelstar 5K160 120G(HTS541612J9AT00)
  • BUFFALO HD-PF120U2-WH
  • Windows XP Home DSP版

以上4点ですね。OSはXP HomeのDSP版。メモリを512M足して1GBへ。内蔵のHDDを40Gから120Gへ入れ替えました。んでバックアップ用に外付けのポータブルHDD。

R50eだけ中古オークションでほかの4点は新品購入。この計5点で送料や代引き手数料などを全て含めて44,500円ほどでした。これはちょっと微妙な価格だったかもしれません。いまや新品のパソコンが直販価格で安いモデルで6万円くらいですからねー。全部届いた後にちょっと早まったかなと思ったのは内緒です...。落札したR50eが程度の良いものだったのがせめてもの救いかな。

とりえずCrystalmark 2004R3でベンチマークをしてみました。

R50e-1834GKJ ベンチマーク

メモリ1GでHDDを取り替えてベンチマークしました。取り付け前もベンチマークを計ってみればよかったな...。

ちなみに本体はいつも利用しているビッダーズのこむぱむプラザにてオークション。それ以外はAmazon、パソコン工房、上海問屋、GENOなどのショップ通販で購入しました。

お得なオークションで勢揃い!中古パソコンおまかせ広場

投稿日 2008-07-15 18:25 | 購入履歴&お気に入り | コメント(0), トラックバック(0)

CrystalDiskInfoでHDDの状態チェックをしよう。

先日購入したThinkPadのベンチマークテストをしようと思いたって、CrystalmarkのCrystalMark 2004R3をダウンロードしにいってみた。そしたらトップページに「CrystalDiskInfo 1.0.13 リリース!!」とあったのでついでだから一緒にHDDのチェックもしてみようかと、CrystalMarkとDiskinfoの2本をダウンロードした。

CrystalDiskInfoはHDDに搭載されているS.M.A.R.T.機能を利用してHDDの状態を表示してくれるユーティリティソフトです。

Self-Monitoring, Analysis and Reporting Technology(Wikipedia)

Self-Monitoring, Analysis and Reporting Technology(セルフモニタリング・アナリシス・アンド・リポーティング・テクノロジー、略称: S.M.A.R.T.(スマート))は、ハードディスクドライブの障害の早期発見・故障の予測を目的としてハードディスクドライブに搭載されている機能である。この機能は、各種の検査項目をリアルタイムに自己診断し、その状態を数値化する。ユーザーはその数値を各種のツール(後述)を用いることで知ることが出来る。全ての故障を予期することは出来ないが、安定した利用環境における経年劣化による故障を知るには非常に有効である。

ここ数年に発売されたHDDならば、ほとんどのものがSMART機能を搭載したHDDになると思われます。

うちにあるデスクトップPC1台とノートPC2台をCrystalDiskInfoを使ってチェックしてみました。その結果、今年の2月にオークションで購入したThinkPad R51だけ注意が必要という状態でした。かなりヘビーに使っているデスクトップのほうはぜんぜん平気で大丈夫だった。やっぱ、ノートのHDDは狭いスペースに押し込まれているから、熱とかの影響を受けやすかったりするのか?

HDDのチェックの結果

↑の画像がチェック結果なんですが、回避不可能セクタ数の1項目だけ注意マークになってて全体の結果はそれにひきづられて健康状態が注意になってました。チェックすることによって、HDDの使用持間などの状態チェックを大まかにできるのが便利。ある程度の状態を知ることができるのでHDD交換への準備ができるのはいいです。

R51に搭載されてた富士通 MHT2030ATは転送速度も遅い。CrystalMark 2004R3のシーケンシャルリードやライトで20M/sも出ないので、最近のHDDに交換するいい機会かもしれないですね。今後はPATAのHDDを手に入れるのが難しくなってくるだろうし...。

みなさんも一度自分のパソコンのHDDの状態をチェックしてみてはいかがですか?

投稿日 2008-07-15 14:11 | PC ソフトとツール | コメント(0), トラックバック(0)

[学習 cakePHP #11] cakePHPをVer.1.1系から1.2.0.7296 RC2へアップした。

cakePHPは今まではStable Versionの1.1.19.6305を使ってました。6月末にNew Versionである1.2のRC2版が出ましたので1.2.0.7296 RC2へとアップしてみました。#00~#10で作成していたGuest Bookを1.2で動くようにしたときの変更点を書いてみます。

はじめにViewテンプレート拡張子が .thtmlから .cptへと変更になりました。HTMLヘルパにも変更があり。Viewのフォーム部分のHTMLヘルパが変更になっていました。

Ver. 1.1.19の時には↓のように書いてました。

<form method="post" action="<?php echo $html->url("/boards/post") ?>">
  <dl>
    <dt>タイトル</dt>
    <dd><?php echo $html->input("Board/title", array("size" => "35")) ?></dd>
    <dt>名前</dt>
    <dd><?php echo $html->input("Board/name", array("size" => "35")) ?></dd>
    <dt>コメント</dt>
    <dd><?php echo $html->textarea("Board/body", array("rows" => "5", "cols" => "35")) ?></dd>
    <dt>パスワード</dt>
    <dd><?php echo $html->password("Board/pwd", array("size" => "8")); ?></dd>
  </dl>
  <p id="button"><?php echo $html->hidden("Board/id") ?>
    <?php echo $html->submit("投稿", array("class" => "sb")) ?></p>
</form>

これがVer. 1.2 RC2でこうなりました。

<form method="post" action="<?php echo $html->url("/boards/post") ?>">
  <dl>
    <dt>タイトル</dt>
    <dd><?php echo $form->text("Board/title", array("size" => "35")) ?></dd>
    <dt>名前</dt>
    <dd><?php echo $form->text("Board/name", array("size" => "35")) ?></dd>
    <dt>コメント</dt>
    <dd><?php echo $form->textarea("Board/body", array("rows" => "5", "cols" => "35")) ?></dd>
    <dt>パスワード</dt>
    <dd><?php echo $form->password("Board/pwd", array("size" => "8")); ?></dd>
  </dl>
  <p id="button"><?php echo $form->hidden("Board/id") ."\n" ?>
    <?php echo $form->button("投稿", array("class" => "sb", "type" => "submit")) ?></p>
</form>

いままではフォーム部品の作成に $html->input などとしてたんだけどHTMLヘルパではなくてFORMヘルパになり $form->text などとしてフォーム部品を作るようになった。

Viewの $htmo->tagErrorMsgも

if ($err_flag == "1") {
  echo $html->tagErrorMsg("Board/" . $err_field, "ERROR :: " . $err_msg);
}

と書いていたんだけど

if ($err_chk["flag"] == true) {
  echo $form->error("Board/" . $err_chk["field"], "ERROR :: " . $err_chk["msg"]);
}

へと書き直し変更しました。あとまだ深く調べてはいないんですけど 1.1.19使用時には

コントローラ部
if ($this->Board->validates($this->data)) {
  処理
}

モデル部
var $validate = array(
  "body" => VALID_NOT_EMPTY
);

こんな感じでBodyのValidateチェックをしてから処理をしてたんですけど、1.2 RC2ではなぜか上手く動きませんでした...。これが

$this->Board->save($this->data)

のときに行われるValidateチェックでは上手く動くんですけどねぇ。validates関数の処理が変わってるのかな?

とりあえずこの箇所などを修正したら、うちで試しに作っていたGuestBookは上手く動くようになりました。一応まだまだcakePHP&PHP初心者を抜けられてはいませんが、cakePHP 1.2RC2にて作成したGuestBookのコードをzip(cakephp-sample.zip)にして置いておきます。取りあえず、Controler、Model、Viewのファイルだけです。最低限のことしか実装していないですが...。RSSやSPAM対策も実装してみたかったんですが、まだなのでコレは次回の宿題にしたいです。

投稿日 2008-07-09 23:49 | PHP | コメント(0), トラックバック(0)

[ECS4] Amazon Webサービス 4でのSort Value一覧

Amazon Web Service 4.0のJP Localeにて、Item Searchを利用するときのデータソートパラメータのValue一覧になります。サポートされている各Sort Valueは次のような感じです。

API Version 2008-06-26にて新たに化粧品やヘアケア用品を扱うコスメストアができましたので、Sort Valueの一覧を更新しました。

  • salesrank : ベストセラーランキング順
  • pricerank : 価格が安い to 高い。
  • -pricerank : 価格が高い to 安い。
  • price : 価格が安い to 高い。
  • -price : 価格が高い to 安い。
  • inverse-pricerank : 価格が高い to 安い。
  • reviewrank : カスタマレビューの点数が高い to 低い。
  • titlerank : アルファベット順 A to Z。
  • -titlerank : アルファベット順 Z to A。
  • daterank : 出版日が新しい to 古い。
  • orig-rel-date : 発売日が古い to 新しい。
  • -orig-rel-date : 発売日が新しい to 古い。
  • release-date : 発売日が古い to 新しい。
  • -release-date : 発売日が新しい to 古い。
  • releasedate : 発売日が古い to 新しい。
  • -releasedate : 発売日が新しい to 古い。
  • mfg-age-min : 対象年齢が低い to 高い。
  • -mfg-age-min : 対象年齢が高い to 低い。
  • relevancerank : ?
  • psrank : ?

こんな感じかな。2つだけいまいちうまく訳せない...。

relevancerank
(原文) Items ranked according to the following criteria: how often the keyword appears in the description, where the keyword appears, for example, the ranking is higher when keywords are found in titles, and, if there are multiple keywords, how closely they occur in descriptions, and, finally, how often customers purchased the products they found using the keyword.
(へぼ訳) 商品名や説明に含まれる検索語句の重み付け?

psrank
(原文) Bestseller ranking taking into consideration projected sales.The lower the value, the better the sales.
(へぼ訳) 売り上げ予測を考慮したランキング?

各Search IndexがどのSort Valueをサポートしているかを表にまとめて画像にしました。salesrank、price、titlerank、releasedateにほぼ統一されつつあるようですね。

AWS Sort Value

作成日 : 2007-11-10
更新日 : 2008-07-09

投稿日 2008-07-09 23:08 | Web Service | コメント(0), トラックバック(0)

[ECS4] Amazon Webサービス 4.0のSearch Index一覧

Amazon Associates Web Service 4.0を日本(JP locale)で利用する場合の Search Indexパラメータに利用できるValue一覧になります。

API Version 2008-06-26にて新たに化粧品やヘアケア用品を扱うコスメストアができましたので、Search Indexの一覧を更新しました。

全てから検索 : Blended
和書 : Books
洋書 : ForeignBooks
エレクトロニクス : Electronics
ホーム&キッチン : Kitchen
ポピュラー音楽 : Music
音楽の曲名 : MusicTracks
クラシック音楽 : Classical
音楽曲名 : MusicTracks
DVD : DVD
ビデオ : VHS
ビデオ : Video
ソフトウェア : Software
ゲーム : VideoGames
おもちゃ : Toys
ホビー : Hobbies
スポーツ&アウトドア : SportingGoods
ヘルス&ビューティ : HealthPersonalCare
時計 : Watches 
ベビー&マタニティ : Baby
アパレル : Apparel
コスメ : Beauty

記事作成日 : 2007-11-08
更新日 : 2008-07-07

投稿日 2008-07-07 23:17 | Web Service | コメント(0), トラックバック(0)

[学習 cakePHP #10] 表示周りをさわってみる。

1週間以上も間を空けてしまいましたが、前回 #09に引き続いて画面表示周りです。デフォルトのレイアウトやHTML Helperに関することを書いてみます。今回のエントリはちょっと長くなっちゃいました。

前回は、

/cake/libs/view/templates/layouts/

にあるデフォルトのレイアウト テンプレートファイル(default.thml)を

/app/view/layouts/

にコピーしました。ほぼデフォルト状態のままなんですけど、default.thmlは次のようになりました。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title><?php echo $title_for_layout; ?></title>
  <?php echo $html->charset(); ?>
  <link rel="icon" href="<?php echo $this->webroot . 'favicon.ico'; ?>" type="image/x-icon" />
  <link rel="shortcut icon" href="<?php echo $this->webroot . 'favicon.ico'; ?>" type="image/x-icon" />
  <?php echo $html->css('default'); ?>
</head>
<body>
<div id="contents">
  <div id="header">
    <h1><?php echo $html->image("title.png", array("alt" => "GEUSET BOOK")) ?></h1>
  </div>
<?php
      if ($session->check('Message.flash')) {
        $session->flash();
      }
      echo $content_for_layout;
?>
  <div id="footer">
    <a href="http://www.cakephp.org/"><?php echo $html->image('cake.power.png', array('alt'=>"CakePHP(tm) : Rapid Development Framework", 'border'=>"0")); ?></a>
  </div>
</div>
<?php echo $cakeDebug; ?>
</body>
</html>

最初のdefault.thmlからコメント行を削って整形してから、ちょっとだけ変更を加えてあります。

CSS、Image、Java Scriptなどの保存場所。

書くのを忘れていましたが、ビューのテンプレートファイルから参照するCSS、Image、Java Scriptなどなどの保存場所は

/app/webroot/
     ├ css
     ├ files
     ├ img
     └ js

といった具合に/app/webroot/以下に保存されています。とりあえず画像などを使って少しだけレイアウトやビュー周りをカスタマイズしてみた。

ビューのカスタマイズ後

それっぽくないんですけど、↑なかんじなゲストブックになった。今回の学習編などで使用しているHTMLヘルパー関連を以下に書いておこう。

ビュー周りでよく使いそうな HTML Helperなど。

最初はヘルパーではありませんが

$this->pageTitle

HTMLのHEAD内のTITLE要素の設定をします。

$this->pageTitle = "Strings";

コントローラーのaction内で指定します。指定しない場合はコントローラー名になります。

$html->charset()

レイアウト内にてHTMLのHEAD要素内のMETA指定用です。

HtmlHelper::charset($charset = null,
                   $return = false)
使用例
<?php echo $html->charset(); ?>
出力結果 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

$this->webroot

/app/webroot/のPATHを返します。デフォルトのレイアウトファイルではfaviconを指定するところで使われていました。

使用例
<link rel="icon" href="<?php echo $this->webroot . 'favicon.ico'; ?>" type="image/x-icon" />
出力結果
<link rel="icon" href="/guestbook/favicon.ico" type="image/x-icon" />

$html->css()

指定したCSSファイルへのPATHを返します。

HtmlHelper::css($path,
             $rel = 'stylesheet',
             $htmlAttributes = array(),
             $return = false)
使用例 :: <?php echo $html->css('default'); ?>
出力結果
<link rel="stylesheet" type="text/css" href="/guestbook/css/default.css" />

$html->image()

Imageタグ要素を出力するHTMLヘルパーになります。CSSのヘルパは拡張子を指定しませんでしたが、Imageのヘルパは拡張子の指定をすることに注意してください。

HtmlHelper::image($path,
              $htmlAttributes = array(),
              $return = false)
使用例
<?php echo $html->image("title.png", array("alt" => "GEUSET BOOK", "width" => "339", "height" => "57")) ?>
出力結果
<img src="/guestbook/img/title.png" alt="GEUSET BOOK" width="339" height="57" />

$html->url()

コントローラーのアクションパラメータを渡すとURLが返ってきます。

HtmlHelper::url($url = null,
             $return = false)
使用例
<form method="post" action="<?php echo $html->url("/boards/post") ?>">
出力結果
<form method="post" action="/guestbook/boards/post">

$html->input()

フォーム部品のテキストボックスを生成します。$fieldNameはMODEL部分に基づいて「Modelname/fieldname」と指定をします。

HtmlHelper::input($fieldName,
             $htmlAttributes = array(),
             $return = false)
使用例
<?php echo $html->input("Board/title", array("size" => "35")) ?>
出力結果
<input name="data[Board][title]"  size="35" value="" type="text" id="BoardTitle" />

$html->textarea()

フォーム部品のテキストエリアボックスを生成します。

HtmlHelper::textarea($fieldName,
             $htmlAttributes = array(),
             $return = false)
使用例
<?php echo $html->textarea("Board/body", array("rows" => "5", "cols" => "35")) ?>
出力結果
<textarea name="data[Board][body]" rows="5" cols="35" id="BoardBody"></textarea>

$html->password()

フォーム部品のパスワードボックスを生成。

HtmlHelper::password($fieldName,
             $htmlAttributes = array(),
             $return = false)
使用例
<?php echo $html->password("Board/pwd", array("size" => "8")); ?>
出力結果
<input type="password" name="data[Board][pwd]"  size="8" value="" id="BoardPwd" />
以下のヘルパーと同等。
<?php echo $html->input("Board/pwd", array("size" => "8", "type" => "password" )) ?>

$html->hidden()

フォーム部品のhidden要素を生成

HtmlHelper::hidden($fieldName,
             $htmlAttributes = array(),
             $return = false)
使用例
<?php echo $html->hidden("Board/id") ?>
出力結果
<input type="hidden" name="data[Board][id]"  value="" id="BoardId" />

$html->submit()

フォーム部品のサブミットボタンを生成。

HtmlHelper::submit($caption = 'Submit',
             $htmlAttributes = array(),
             $return = false)
使用例
<?php echo $html->submit("投稿", array("class" => "sb")) ?>
出力結果
<input type="submit" class="sb" value="投稿" />

$html->link()

アンカータグを生成します。

HtmlHelper::link($title,
             $url = null,
             $htmlAttributes = array(),
             $confirmMessage = false,
             $escapeTitle = true,
             $return = false)
使用例
<?php echo $html->link($post["Board"]["title"], "/boards/view/" . $post["Board"]["id"]) ?>
出力結果
<a href="/guestbook/boards/view/1">テスト</a>

この使用例では引数に$titleと$urlしか指定していません。$confirmMessageはリンクをクリックしたあとにJavascriptでYES、NOの確認のAlartを表示します。

<?php echo $html->link($post["Board"]["title"], "/boards/view/" . $post["Board"]["id"], array("title" => $post["Board"]["title"]), "サイト外へ移動します。") ?>

こんな感じで使います。ちょっと長くなっちゃいますけど・・・。でも削除や編集のときのちょっとした確認にも使えるので便利ですよね。

他にもHTMLヘルパーはまだまだあるんですけど、今回のエントリー群で使用したもののみを取り上げてみました。

投稿日 2008-06-13 23:38 | PHP | コメント(0), トラックバック(0)