<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>ID-Blogger</title>
    <link rel="alternate" type="text/html" href="http://www.infinity-dimensions.com/blog/" />
    <link rel="self" type="application/atom+xml" href="http://www.infinity-dimensions.com/blog/index.rdf" />
    <id>tag:www.infinity-dimensions.com,2008-10-15:/blog//2</id>
    <updated>2010-03-12T07:43:51Z</updated>
    <subtitle>【ID-Blogger】は弊社のメンバーが発信するBlogです。業務日誌から日常のくだらない事まで雑多に綴ります</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 4.21-ja</generator>

<entry>
    <title>Google Apps Marketplaceからアプリ導入を試してみました</title>
    <link rel="alternate" type="text/html" href="http://www.infinity-dimensions.com/blog/archives/google-apps-marketplace.html" />
    <id>tag:www.infinity-dimensions.com,2010:/blog//2.533</id>

    <published>2010-03-12T04:26:04Z</published>
    <updated>2010-03-12T07:43:51Z</updated>

    <summary> 2010年3月10日(米国時間だと3月9日)にGoogleのCampfire Oneというイベントで「Google Apps Marketplace」が発表されました。 Google版App Sto...</summary>
    <author>
        <name>芳賀　裕一郎</name>
        <uri>http://www.infinity-dimensions.com</uri>
    </author>
    
        <category term="インターネット" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="google" label="Google" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.infinity-dimensions.com/blog/">
        <![CDATA[<div style="text-align: center;"><object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/uJxbEQGWpeA&hl=ja_JP&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/uJxbEQGWpeA&hl=ja_JP&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object></div>

<p>2010年3月10日(米国時間だと3月9日)にGoogleのCampfire Oneというイベントで<a href="http://www.google.com/enterprise/marketplace/">「Google Apps Marketplace」</a>が発表されました。<br />
Google版App Storeというカンジでしょうか？</p>

<p>デベロッパーとして考えると<strong>参入時に$100とアプリ売上げの20%をGoogleに上納するだけという太っ腹仕様</strong>にワクワクしっぱなしなんですが、やってみない事には何ともいえないのでまずはユーザーサイドからリリースされているアプリのインストールを試してみました。<br />
</p>]]>
        <![CDATA[<p><br />
<h2 class="asset-subname">Google Apps Marketplaceアプリのインストール方法</h2>アプリのインストールは簡単です。</p>

<ol>
<li><a href="http://www.google.com/enterprise/marketplace/">Google Apps Marketplace</a>のサイトへ。</li>
<li>お好みのアプリのページを開いて<strong>「Add it now」</strong>のボタンをクリック。</li>
<li>ドメインの入力フォームが出るので自分のドメインを入力。</li>
<li>ドメインのGoogle Appsのコントロールパネルに飛ばされるのでログイン。</li>
<li>アプリの利用規約なんかが出るので<strong>「I agree」</strong>をクリックして認証を許諾。</li>
<li>Google Appsのサービスに接続する旨が出るので<strong>「Grant data access」</strong>をクリックしてアクセスを許可。</li>
<li>Google Appsのコントロールパネルに該当アプリが出現。</li>
</ol>

<p>だいたいこんなカンジです。</p>

<p><br />
<h2 class="asset-subname">Aviary Design Suiteをインストール</h2>早速Google Apps Marketplaceからなんかアプリをインストールしてみようかな～と探したところ、<a href="http://www.lifehacker.jp/">ライフハッカー</a>さんで良い記事を発見！！<blockquote cite="http://www.lifehacker.jp/"><a href="http://www.lifehacker.jp/2010/03/100311google_apps_marketplace.html">Googleでアプリが買える！「Google Apps Marketplace」が公開 : ライフハッカー［日本版］</a></p>

<p>公開直後ということで、まだ隠された逸品があるかもしれませんが、現時点での米Lifehacker編集部のオススメは、画像編集ツール「<a href="http://www.lifehacker.jp/2010/02/100219aviary_free.html">Aviary</a>」（無料）や連絡先が共有できる「Shared contacts」、フォルダ同期やファイル共有のための「Gbridge」とのこと。</blockquote><br />
デザイナー的には画像編集ツールというのに惹かれたのと、テスト導入なので無料というのが決め手となって<a href="http://aviary.com/googleenterprise">「Aviary Design Suite」</a>をインストールしてみる事にしました。</p>

<div style="text-align: center;"><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/Yakp1VviyQc&hl=ja_JP&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Yakp1VviyQc&hl=ja_JP&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object>

<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/5TrzN0P8nzM&hl=ja_JP&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/5TrzN0P8nzM&hl=ja_JP&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></div></p>

<p>Photoshopみたいなビットマップ画像編集やIllustratorみたいなベクター画像編集、エフェクト生成、オーディオ編集等なかなか面白いツールが揃ってます。</p>

<p><br />
<h2 class="asset-subname">「Bad Request Error 400」の洗礼</h2>手順通りに進めて行くとインストールが出来るハズなんですが、ドメインのGoogle Appsのコントロールパネルに飛んだ段階で<strong>「Bad Request Error 400」</strong>と表示されてインストールができない...</p>

<p>まだ新しいサービスだからググっても情報なさそうと判断して<a href="http://twitter.com/">Twitter</a>上から情報を探したところやっぱりありました！！<blockquote cite="http://dyve.posterous.com/"><a href="http://dyve.posterous.com/google-apps-marketplace-giving-you-400-bad-re">Google Apps Marketplace giving you 400 Bad Request? - Dylan Verheul</a></p>

<p>Problem:<br />
When trying to add an app from Google Apps Marketplace to your Google Apps domain, you get a 400 Bad Request Error.</p>

<p>Solution:<br />
Log into your Google Apps account. Go to Domain Settings. Set Control Panel to Next generation (US English only).</p>

<p>Done.<br />
Try again, it should work now.</blockquote>ドメインのGoogle Appsを日本語に対応した「現行版」から<strong>英語オンリーの<a href="http://www.google.com/support/a/bin/answer.py?hl=jp&answer=52973">「拡張版」</a>に設定してからじゃないとダメ</strong>なんですね。<br />
リリースされたばっかりの新機能だから当たり前かw</p>

<p><br />
<div style="text-align: center;"><a href="http://www.flickr.com/photos/infinity-d/4426778692/" title="Google Apps MarketplaceからAviaryを導入後 by Infinity Dimensions, on Flickr"><img src="http://farm3.static.flickr.com/2757/4426778692_df6a46aaa8.jpg" width="500" height="145" alt="Google Apps MarketplaceからAviaryを導入後" /></a></div></p>

<p>という事で無事に「Aviary Design Suite」をGoogle Appsにインストールできました♪<br />
導入が完了すると各ユーザーの「その他」サービスメニューにも表示されるようになります。</p>

<p>インストールしてから気づいたんですが「Aviary Design Suite」はあくまで外部Webサービスで、Google Appsアカウントを使ったOpenIDでシングルサインオンできるだけという印象でした。もっとGoogle Apps側に食い込んで来るのかと思ってたのですが...。<br />
他にもたくさんのアプリがあるのでそれぞれ違うんでしょうねw</p>]]>
    </content>
</entry>

<entry>
    <title>TLASにImage::Magickモジュールをインストール</title>
    <link rel="alternate" type="text/html" href="http://www.infinity-dimensions.com/blog/archives/tlasimagemagick.html" />
    <id>tag:www.infinity-dimensions.com,2010:/blog//2.532</id>

    <published>2010-03-11T16:39:06Z</published>
    <updated>2010-03-11T17:37:25Z</updated>

    <summary>Movable Typeなんかで画像の加工に利用されるImage::Magickモジュールなんですが、運用しているTLAS2(Turbolinux Appliance server 2.0)のサーバー...</summary>
    <author>
        <name>芳賀　裕一郎</name>
        <uri>http://www.infinity-dimensions.com</uri>
    </author>
    
        <category term="トラブルシューティング" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="tlas" label="TLAS" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.infinity-dimensions.com/blog/">
        <![CDATA[<p>Movable Typeなんかで画像の加工に利用される<strong>Image::Magick</strong>モジュールなんですが、運用しているTLAS2(Turbolinux Appliance server 2.0)のサーバーにインストールするのをスッカリ失念しておりまして、利用する事が多いのでこの機会にサクっと入れてしまおうと思い立ちました。</p>

<p>TLAS管理画面のインストールパッケージ一覧から探すとありました<strong>「ImageMagick」</strong>と<strong>「ImageMagick-devel」</strong>。バージョンは6.0.5-12.です。<br />
これを選択してインストールすればOKなハズなんですが...Movable Typeのモジュールチェックで警告が出たまま！！<br />
なぜ？<br />
</p>]]>
        <![CDATA[<p><br />
ググりまくってようやく原因を突き止めました。<blockquote cite="http://www.takosuke.net/~seraphis/"><a href="http://www.takosuke.net/~seraphis/archives/2007/10/post-288.html">ファイルアップロードエラー　続報 - チラシの裏</a></p>

<p>TurboLinux社のFTPサイトから、ImageMagickをダウンロードし、インストールします（TLAS1は、 TurboLinuxServer8用、TLAS2は、TurboLinuxServer10用）。</p>

<p>入れるファイルは４本。</p>

<p>TLAS2の場合</p>

<ul>
<li>ImageMagick-6.0.5-12</li>
<li>ImageMagick-devel-6.0.5-12</li>
<li>ImageMagick-c++-6.0.5-12</li>
<li>ImageMagick-perl-6.0.5-12</li>
</ul>

<p>となります。</blockquote>なんとモジュール4つ必要だったんですね！！</p>

<p><strong>インストールパッケージ一覧には「ImageMagick-c++-6.0.5-12」と「ImageMagick-perl-6.0.5-12」が存在しない</strong>というのがネックでした...</p>

<p>というワケで<a href="ftp://ftp.turbolinux.co.jp/pub/TurboLinux/TurboLinux/ia32/Server/10/updates/RPMS/">TurboLinuxServer10用のFTPサイト</a>を覗くと残りの2つのをモジュールを見つける事ができたので、サードパーティパッケージとしてURLを指定してインストールしました。</p>

<p>これでMovable Typeのモジュールチェックをすると...<br />
おぉ！バッチリ動きました♪</p>]]>
    </content>
</entry>

<entry>
    <title>時代遅れのIE6のアップグレードを促す「ie6-upgrade-warning」</title>
    <link rel="alternate" type="text/html" href="http://www.infinity-dimensions.com/blog/archives/ie6-upgrade-warning.html" />
    <id>tag:www.infinity-dimensions.com,2010:/blog//2.531</id>

    <published>2010-02-26T10:31:29Z</published>
    <updated>2010-03-11T17:32:33Z</updated>

    <summary> 日夜たくさんのWebサービスを利用しつつ、多くのクライアントのWebサイトを構築する業務をしておりますと、IE6(Internet Explorer 6)のバグの多さはホントWebデザイナー泣かせ。...</summary>
    <author>
        <name>芳賀　裕一郎</name>
        <uri>http://www.infinity-dimensions.com</uri>
    </author>
    
        <category term="インターネット" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="セキュリティ" label="セキュリティ" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="html" label="HTML" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="javascript" label="JavaScript" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.infinity-dimensions.com/blog/">
        <![CDATA[<div style="text-align: center;"><a href="http://www.flickr.com/photos/infinity-d/4389652154/" title="ie6-upgrade-warning日本語 by Infinity Dimensions, on Flickr"><img src="http://farm5.static.flickr.com/4023/4389652154_f98cf81b33.jpg" width="500" height="212" alt="ie6-upgrade-warning日本語" /></a></div>

<p>日夜たくさんのWebサービスを利用しつつ、多くのクライアントのWebサイトを構築する業務をしておりますと、IE6(Internet Explorer 6)の<a href="http://webtech-walker.com/archive/2007/05/21215114.html">バグの多さ</a>はホントWebデザイナー泣かせ。<br />
そんなIE6のためだけに<a href="http://d-lover.com/css/hack.shtml">CSSハック</a>の時間のリソースを奪われるのでは制作費のコストダウンを必要とされる状況で非常に不利です。</p>

<p>そんなこんなで「IE6潰し」の動きがネット界隈の各所で巻き起こっています。</p>

<ul>
<li><a href="http://internet.watch.impress.co.jp/docs/news/20090717_303303.html">YouTube、IE6のサポート終了をアナウンス -INTERNET Watch</a></li>
<li><a href="http://internet.watch.impress.co.jp/docs/news/20100201_346275.html">GoogleがIE6のサポート段階的に終了へ、3月1日にDocsとSitesから -INTERNET Watch</a></li>
<li><a href="http://www.itmedia.co.jp/news/articles/0908/06/news031.html">「IE6はもういらない」――Web企業が撲滅キャンペーン - ITmedia News</a></li>
<li><a href="http://www.itmedia.co.jp/news/articles/1002/25/news038.html">IE6よ、安らかに眠れ――"葬式"を米企業が企画 - ITmedia News</a></li>
<li><a href="http://slashdot.jp/it/10/02/13/0331235.shtml">英国で「IE6排除」を要求する署名活動が開始される - スラッシュドット・ジャパン</a></li>
<li><a href="http://twibbon.com/join/IE6-Must-Die">IE6 Must Die</a></li>
</ul>

<p>というワケで弊社でも本格的にサポートを打ち切る事にいたしました。<br />
ただ突然に切ってしまうと追従できない方も居ると思いますので、サイトにIE6でアクセスしてきたユーザーに対してアップグレードを促すウィンドウを表示する「ie6-upgrade-warning」というJavascriptを導入してみました。<br />
</p>]]>
        <![CDATA[<p><br />
<h2 class="asset-subname">ie6-upgrade-warningの導入</h2>まずはGoogle Codeにある<a href="http://code.google.com/p/ie6-upgrade-warning/">「ie6-upgrade-warning」</a>のページにアクセスしてファイル一式の詰まったZipをダウンロードします。<br />
解凍すると「ie6」というフォルダになりますので、これをサーバーにアップして導入したいページのHTMLに下記のソースコードを入れれば基本的にOKです。</p>

<pre name="code" class="js">&lt;!--[if lte IE 6]&gt;&lt;script src=&quot;js/ie6/warning.js&quot;&gt;&lt;/script&gt;&lt;script&gt;window.onload=function(){e(&quot;js/ie6/&quot;)}&lt;/script&gt;&lt;![endif]--&gt;</pre>

<p>「ie6」フォルダへのリンクの仕方については<strong>アップした階層との関係を考慮して修正</strong>が必要です。<br />
自分の場合はhttp://～からのフルパスで指定して全ページで「ie6-upgrade-warning」が表示されるようにしました。</p>

<p>解説を読むとソースコードは&lt;body&gt;タグの直後に入れろと指定されていますが、これだとサイズが大きいページではロードが完了する前にJavascriptが実行されてしまうため表示できない場合が多々ありました。<br />
昔のGoogle Maps APIでよくあった現象ですが、onloadで実行させるスクリプトはHTMLの後ろの方にJavascriptを入れるとこれを回避できます。<br />
という事で<strong>&lt;/body&gt;タグの直前に導入ソースコード</strong>を入れましょう。</p>

<p>こんなカンジでしょうか。</p>

<pre name="code" class="js">&lt;!--[if lte IE 6]&gt;&lt;script src=&quot;http://www.infinity-dimensions.com/ie6/warning.js&quot;&gt;&lt;/script&gt;&lt;script&gt;window.onload=function(){e(&quot;http://www.infinity-dimensions.com/ie6/&quot;)}&lt;/script&gt;&lt;![endif]--&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>

<p><br />
<h2 class="asset-subname">日本語化とバグの修正</h2>導入したページへIE6でアクセスすると「ie6-upgrade-warning」のウィンドウが表示されるはずですが、いかんせん文章が英語なので意味が伝わりにくいかもしれません。<br />
という事で<a href="http://bunlog.d-s-b.jp/2009/04/p-id158.php">日本語化したソースが「BUN:Log 」さんのサイトで公開</a>されていました。<br />
指示に従ってwarning.jsを修正するとイイ感じです。</p>

<p>あと「ie6-upgrade-warning」のソ－スに間違いがあって、本来はIE・Firefox・Safari・Opera・Chromeが並んで表示されるはずですが、<a href="http://www.moongift.jp/2009/04/ie6-upgrade-warning/">SafariとOperaしか表示されない現象</a>が出るようです。</p>

<p>「OpenSpace更新情報」さんで修正の仕方が書いてありました。</p>

<blockquote cite="http://www.openspc2.org/blog/"><a href="http://www.openspc2.org/blog/archives/2009/05/javascript_java_28.html">OpenSpace更新情報: JavaScript : 新JavaScript例文辞典にIE6 upgrade warningライブラリのサンプルを追加</a>

<p>＊このライブラリ途中のスクリプトがちょっと間違っていてIEでは正しく表示されません。スクリプトの途中にある以下の2カ所を修正すれば、一応 IEでもそれなりに表示されます。</p>

<p>document.documentElement.clientWidth<br />
　　↓<br />
document.body.clientWidth</p>

<p><br />
document.documentElement.clientHeight<br />
　　↓<br />
document.body.clientHeight</blockquote>指示の通りにwarning.jsを修正するとこのバグは解消しました。</p>

<p><br />
以上のように細々と修正は必要ですが「ie6-upgrade-warning」をサイトに導入しておけばIE6のために掛けていた手間ヒマを一切ヤメてしまうのもありだと思います。</p>

<p>他にも<a href="http://www.ie6nomore.com/">「IE6 No More」</a>というサイトで<a href="http://www.ie6nomore.com/code-samples.html">バナー風に表示させるスクリプト</a>なんかも紹介されていました。<br />
お好みの方法でIE6のアップグレードを啓蒙して行きましょう♪</p>]]>
    </content>
</entry>

<entry>
    <title>Webmin経由でUbuntuにSSHサーバーを構築</title>
    <link rel="alternate" type="text/html" href="http://www.infinity-dimensions.com/blog/archives/webmin-ubuntu-sshserver.html" />
    <id>tag:www.infinity-dimensions.com,2010:/blog//2.530</id>

    <published>2010-01-31T11:57:42Z</published>
    <updated>2010-01-31T13:12:10Z</updated>

    <summary>前回のエントリーでUbuntu 9.10 Serverモドキ？にWebminを組み込んだので運営なんて楽チン楽チン♪ と思ってたらやっぱり所々でシェルでコマンド入れたい場面が多々ありまして。 デスクト...</summary>
    <author>
        <name>芳賀　裕一郎</name>
        <uri>http://www.infinity-dimensions.com</uri>
    </author>
    
        <category term="トラブルシューティング" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="linux" label="Linux" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ubuntu" label="Ubuntu" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.infinity-dimensions.com/blog/">
        <![CDATA[<p><a href="http://www.infinity-dimensions.com/blog/archives/epia-m1000-ubuntuserver.html">前回のエントリー</a>でUbuntu 9.10 Serverモドキ？に<a href="http://ja.wikipedia.org/wiki/Webmin">Webmin</a>を組み込んだので運営なんて楽チン楽チン♪<br />
と思ってたらやっぱり所々で<a href="http://ja.wikipedia.org/wiki/%E3%82%B7%E3%82%A7%E3%83%AB">シェル</a>でコマンド入れたい場面が多々ありまして。</p>

<p>デスクトップ環境があるから直接サーバー本体でコマンド入力すればいいんでしょうが、サーバーのグラフィックが低スペック過ぎて表示が遅いんですよね。<br />
Webminに「SSH/Telnet ログイン」が内蔵されているんですが表示もされず(Javaのせい？)、「コマンドシェル」じゃ戻り値の再入力ができなかったりで一長一短...</p>

<p>もう<strong>メンドクサイのでSSHサーバーを構築</strong>することにしました。</p>]]>
        <![CDATA[<p>といっても超カンタンなんですけどねw<br />
一応自分の場合の備忘録として書き留めておきます。</p>

<p><br />
まずはWebminからUn-used Modules(未使用モジュール一覧)を開くと「SSH サーバ」って項目があるのですが、クリックすると<strong>sshdがナイよ！</strong>って怒られました。<br />
SSHの設定ファイルなんかは入っていたのですが、たぶんSSHクライアントとしてのものなのかと思います。</p>

<p><br />
<div style="text-align: center;"><a href="http://www.flickr.com/photos/77324941@N00/4318819854/" title="Webmin経由でopenssh-serverをインストール by i_n_f_i_n_i_t_y_9, on Flickr"><img src="http://farm5.static.flickr.com/4014/4318819854_52f4157cec.jpg" width="500" height="205" alt="Webmin経由でopenssh-serverをインストール" /></a></div></p>

<p>「ソフトウェア パッケージ」から「Search APT」でsshdを検索すると<a href="http://www.openssh.com/ja/">「openssh-server」</a>というのがあったので「APT からのパッケージ」でインストールします。<br />
あとは勝手にインストール作業をしてくれます。</p>

<p><br />
インストールが完了したら<a href="http://ja.wikipedia.org/wiki/Tera_Term">「Tera Term」</a>なんかのSSHクライアントでSSHサーバーに接続できるようになっているハズです。<br />
試しに他のPCから接続してみると...おぉ！できた♪</p>]]>
    </content>
</entry>

<entry>
    <title>EPIA-M1000で静音・省電力・省スペースなUbuntuサーバーを構築</title>
    <link rel="alternate" type="text/html" href="http://www.infinity-dimensions.com/blog/archives/epia-m1000-ubuntuserver.html" />
    <id>tag:www.infinity-dimensions.com,2010:/blog//2.529</id>

    <published>2010-01-27T07:48:47Z</published>
    <updated>2010-01-31T13:12:54Z</updated>

    <summary> ネットの世界はまさに日進月歩。 サーバーサイドでのいろんな最新技術のノウハウも蓄積しなきゃいけないと思い立ち、昔Webサーバーのテスト用に組んで放置していたMini-ITX規格のPCにUbuntuサ...</summary>
    <author>
        <name>芳賀　裕一郎</name>
        <uri>http://www.infinity-dimensions.com</uri>
    </author>
    
        <category term="トラブルシューティング" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="linux" label="Linux" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="ubuntu" label="Ubuntu" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.infinity-dimensions.com/blog/">
        <![CDATA[<div style="text-align: center;"><a href="http://www.flickr.com/photos/77324941@N00/4308756212/" title="VIA EPIA-M1000 by i_n_f_i_n_i_t_y_9, on Flickr"><img src="http://farm5.static.flickr.com/4026/4308756212_1a27a7de1b.jpg" width="500" height="259" alt="VIA EPIA-M1000" /></a></div>

<p>ネットの世界はまさに日進月歩。<br />
サーバーサイドでのいろんな最新技術のノウハウも蓄積しなきゃいけないと思い立ち、昔Webサーバーのテスト用に組んで放置していた<a href="http://ja.wikipedia.org/wiki/Mini-ITX">Mini-ITX</a>規格のPCに<a href="http://www.ubuntulinux.jp/products/WhatIsUbuntu/serveredition">Ubuntuサーバー</a>を組み込んでゴリゴリ遊べるWebサーバーを構築する事にいたしました。</p>

<p>そういえばUbuntuの事をずっと「アバンツ」と呼んでおりましたが、正しくは<strong>「ウブントゥ」</strong>と発音するそうです。お恥ずかしい...。</p>

<p><br />
ベースにしたのはVIAの<a href="http://www.viatech.co.jp/jp/products/embedded/ProductDetail.jsp?motherboard_id=81">「EPIA-M1000」</a>で、<strong>「静音・省電力・省スペース」</strong>の三拍子が揃っているので、常時稼動させるサーバーにはもってこいのマザーボードです。<br />
ケースも外部電源(ACアダプタ)でバッチリ静音、サイズも一番小さいヤツなので、気分的にはちょっと大きめの玄箱かなとw</p>]]>
        <![CDATA[<p>以下は失敗も含めての備忘録的な内容なので、チャレンジする方<strong>は全部読んでから作業を進めて</strong>ください。</p>

<p><br />
<h2 class="asset-subname">Ubuntuサーバー版を準備</h2>まずは<a href="http://www.ubuntulinux.jp/products/WhatIsUbuntu/serveredition">Ubuntu公式サイト</a>からISOイメージの<a href="http://www.ubuntu.com/getubuntu/download-server">ダウンロードページ</a>へ。</p>

<p>Download locationは当然のことながら「Japan」を選択します。<br />
「Alternative download options」をクリックするとオプション項目が出てくるので、インストールするサーバーのバージョンを選択します。<br />
この記事の時点では「Ubuntu 9.10 Server」か「Ubuntu 8.04 LTS Server」が選べましたので、<strong>「Ubuntu 9.10 Server」</strong>の方をチョイスしました。<br />
EPIA-M1000のEdenは32ビットCPUなので<strong>「32-bit version」</strong>にチェックを入れます。</p>

<p>ちなみにUbuntu LTSとは"Long Term Support"の頭文字の略で、長期サポート版という事です。<br />
通常版が半年ごとにリリースされるのに対してLTS版は2年ごとにリリースされ、デスクトップ版は3年、サーバー版は5年のサポートが受けられるようです。</p>

<p><br />
あとは「Begin download」をクリックするとISOイメージのダウンロードが始まります。<br />
落ちてきたISOイメージを<a href="http://www.altech-ads.com/product/10002564.htm">ImgBurn</a>等の適当なライティングソフトで焼いてインストールCDを作成します。</p>

<p><br />
<h2 class="asset-subname">Ubuntuサーバー版のインストールができない</h2>EPIA-M1000にインストールCD入れて起動すればOKですが、念のため1st Bootが光学ドライブになっているかBIOSで確認しておきましょう。<br />
ちなみに起動時に"Del"キー連打でBIOS画面出せます。</p>

<p>インストールCDを読み込んだら...ん？言語選択とか出るはずなんだけどまぁいいか。インストールを選択するとウィザードが起動して...</p>

<div style="text-align: center;"><a href="http://www.flickr.com/photos/77324941@N00/4308756304/" title="VIA on Ubuntu Server でエラー？ by i_n_f_i_n_i_t_y_9, on Flickr"><img src="http://farm3.static.flickr.com/2731/4308756304_eff1c84613.jpg" width="500" height="390" alt="VIA on Ubuntu Server でエラー？" /></a></div>

<p>と思ったら<strong>なんじゃコリャぁ～～！！</strong><br />
一応ウィザードは動いてるっぽいんですが画面が乱れて全然見えないwww</p>

<p>どうやらVIAの古いチップセットのビデオドライバがインストーラーに含まれていないのが原因のようで、「Ubuntu 8.04 LTS Server」にしたりBIOSとかディスプレイの設定とか変えてもダメでした。<br />
トホホ...</p>

<p><br />
<h2 class="asset-subname">Ubuntuデスクトップ版からサーバー化する</h2>これは困った。という事で試しに他のPCのインストールに使ったUbuntu 9.04 デスクトップ版のインストールCDを入れたら...<strong>普通にインストールできました♪</strong><br />
ここはスッパリ諦めてデスクトップ版からサーバー化する方向に方針転換です！<br />
デスクトップ版とサーバー版で基本カーネルは一緒なんで問題ないと思います。</p>

<p><br />
Ubuntuデスクトップ版ではデスクトップ環境(GNOME)と<a href="http://ja.openoffice.org/">OpenOffice.org</a>なんかの各種アプリケーションが入ってて、設定もGUIでいろいろ操作可能。<br />
Ubuntuサーバー版は基本CUIしかなくて、最初からLAMP(Linux、Apache、MySQL、PHP)環境が構築できるという違いがあります。</p>

<p>この場合はUbuntu 9.04を使いましたが、Ubuntu 9.10でもたぶん問題ないと思います。<br />
デスクトップ版のインストールCDの作り方はサーバー版とそんなに変わらないですし、手順もウィザードがバシバシ進めてくれて超カンタンなので割愛いたします。</p>

<p>インストールが完了したら環境にあわせてネットワークの設定をしましょう。自分の場合はルーターのDHCPから外して固定IPに設定してしまいました。</p>

<p><br />
<h2 class="asset-subname">Apacheをインストール</h2>まずはWebサーバーを構築しないとお話にならないので、最初に<a href="http://ja.wikipedia.org/wiki/Apache_HTTP_Server">Apache</a>をインストールします。<br />
インストール方法は<a href="http://dqn.sakusakutto.jp/">DQN起業日記</a>さんで紹介されてましたので、解説の通りに手順をふみます。</p>

<blockquote cite="http://dqn.sakusakutto.jp/"><a href="http://dqn.sakusakutto.jp/2008/08/ubuntu-804apache2.html">簡単！UbuntuにApache2をインストールする方法 - DQN起業日記</a>

<h3 class="asset-subname">インストール</h3>アプリケーション　→　アクセサリ　→　端末を起動して、以下のコマンドを入力。

<p><strong>sudo apt-get install apache2</strong></p>

<p>数分でインストールが終わる。</p>

<h3 class="asset-subname">動作確認</h3>次にFirefoxを起動してアドレスバーに以下を入力。

<p><strong>http://localhost/</strong></p>

<p>ブラウザに、It works!と表示されたらインストール成功！感動の一瞬です。</blockquote></p>

<p>おぉ超カンタンです♪</p>

<p><br />
<h2 class="asset-subname">Webminをインストール</h2>MySQLとPHPはすっ飛ばして、ブラウザからサーバーをコントロールできるように<a href="http://ja.wikipedia.org/wiki/Webmin">Webmin</a>をインストールします。<br />
せっかくデスクトップ環境があるので、試しにデスクトップからやってみました。</p>

<p>ブラウザ(Firefox)から<a href="http://jp.webmin.com/">WEBMIN.COM 日本語公式サイト</a>にアクセス(←これダメ手順です)して、Webmin 1.430のDebianパッケージをテキトーにデスクトップあたりにダウンロードします。<br />
ダウンロードしたらdebパッケージ上で右クリックメニューを出してインストーラーを起動します。</p>

<div style="text-align: center;"><a href="http://www.flickr.com/photos/77324941@N00/4308017215/" title="Webmin GUI Install Screen Shot by i_n_f_i_n_i_t_y_9, on Flickr"><img src="http://farm5.static.flickr.com/4021/4308017215_248f5cdbf9.jpg" width="500" height="386" alt="Webmin GUI Install Screen Shot" /></a></div>

<p>足りないパッケージは勝手に持ってきてくれるので、「パッケージのインストール」をクリックしてインストールします。</p>

<p><br />
インストールが完了したらブラウザから<a href="https://localhost:10000/">https://localhost:10000/</a>にアクセスします。<br />
他のPCからアクセスする場合は、「localhost」の部分をサーバー名とかIPアドレスに変えてアクセスすればOKです。</p>

<p>アクセスするとサーバ証明書の警告が出るかと思います。</p>

<div style="text-align: center;"><a href="http://www.flickr.com/photos/77324941@N00/4308756340/" title="Webminで証明書の警告 by i_n_f_i_n_i_t_y_9, on Flickr"><img src="http://farm3.static.flickr.com/2729/4308756340_bd29eb7c44.jpg" width="500" height="179" alt="Webminで証明書の警告" /></a></div>

<p>SSLで接続してるのに証明書ナイですからねw<br />
なのでブラウザ側でこのアドレスのサーバ証明書を例外サイトに設定しましょう。</p>

<div style="text-align: center;"><a href="http://www.flickr.com/photos/77324941@N00/4308017255/" title="Webmin証明書マネージャ Screen Shot by i_n_f_i_n_i_t_y_9, on Flickr"><img src="http://farm3.static.flickr.com/2713/4308017255_00e00b2cce.jpg" width="500" height="320" alt="Webmin証明書マネージャ Screen Shot" /></a></div>

<p>これで無事にWebminにアクセスできるようになったハズです！</p>

<div style="text-align: center;"><a href="http://www.flickr.com/photos/77324941@N00/4308017303/" title="Webmin Screen Shot by i_n_f_i_n_i_t_y_9, on Flickr"><img src="http://farm5.static.flickr.com/4027/4308017303_f44847bde1.jpg" width="500" height="351" alt="Webmin Screen Shot" /></a></div>

<p>おぉ！ステキング♪</p>

<p><br />
<h2 class="asset-subname">Webminがアップグレードできない</h2>あとはWebmin経由でMySQLとかPHPとか構築していけばいいのでカンタンです。<br />
と思ったらWebminに最新版があるよ！と警告メッセージが。じゃあまずはWebminのアップグレードを実行しようと思ったら...<strong>アップグレードできない！！</strong></p>

<p>なんだコレはと調べたところ、Webminの<strong>アップグレード用のパッケージのリンク先が消失</strong>しているのが原因と判明。<br />
どうもバージョンが新しくなって<a href="http://www.webmin.com/">Webmin本家サイト</a>のサイト構造が大幅に変わったらしいです。<br />
同じ理由でUserminとかもインストールできなくなっています。</p>

<p>という事でWebmin本家サイトから最新版のWebmin 1.500を<a href="http://www.webmin.com/download.html">ダウンロード</a>して、再度インストールし直しました。</p>

<p><br />
Webmin(に限らず？)をインストールする場合は日本語公式サイトじゃなくて、<strong>本家サイトから最新版をダウンロード</strong>するように注意しましょう。<br />
いい勉強になりました...</p>]]>
    </content>
</entry>

<entry>
    <title>メーリングリスト管理システム「Majordomo」を無理矢理メルマガシステムっぽく改修</title>
    <link rel="alternate" type="text/html" href="http://www.infinity-dimensions.com/blog/archives/majordomo-customize.html" />
    <id>tag:www.infinity-dimensions.com,2010:/blog//2.528</id>

    <published>2010-01-19T10:18:08Z</published>
    <updated>2010-01-19T18:36:46Z</updated>

    <summary>TLAS(Turbolinux Appliance server)で稼動させているサーバーでメルマガ発行できるシステムを構築しなければならなくなりまして、いろいろ調査した末にメーリングリストのシステム...</summary>
    <author>
        <name>芳賀　裕一郎</name>
        <uri>http://www.infinity-dimensions.com</uri>
    </author>
    
        <category term="トラブルシューティング" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="linux" label="Linux" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="tlas" label="TLAS" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.infinity-dimensions.com/blog/">
        <![CDATA[<p>TLAS(Turbolinux Appliance server)で稼動させているサーバーでメルマガ発行できるシステムを構築しなければならなくなりまして、いろいろ調査した末に<strong>メーリングリストのシステムを流用した方が早い</strong>という結論に達しました。<br />
メルマガサービスの運用にメーリングリスト管理システムを改修して使ってる所も実際多いみたいですね。</p>

<p>TLASには<a href="http://www.greatcircle.com/majordomo/">「Majordomo」</a>というメーリングリスト管理システムが最初からインストールされているのでコレを使うことにしたのですが、テスト的にメアド登録・メルマガ発行・メアド解除までやってみると英語のメッセージがガンガン入ってる状態...</p>

<p>Nob's Home Pageさんで<a href="http://www.y-min.or.jp/~nob/ML/majordomo-jp.html">「majordomoの日本語化」</a>のパッチなんかも紹介されていたのですが、時間が経ってしまっている事もあってか残念ながらリンク切れ。</p>

<p>運用するのに流石にこれではイカンだろうと思い改修にチャレンジしてみました！<br />
あくまで備忘録的な内容ですw<br />
</p>]]>
        <![CDATA[<p><br />
<h2 class="asset-subname">やっぱり「Tera Term」</h2>とりあえず<a href="http://ja.wikipedia.org/wiki/Secure_Shell">SSH</a>でサーバに接続。</p>

<p>の前に、SSHクライアントで何か便利なので出てないのかな～と調べましたが、この分野はそんなに進化してないみたいですね...<br />
結局<a href="http://ja.wikipedia.org/wiki/Tera_Term">「Tera Term」</a>がイイっぽいですw</p>

<p>以前の<a href="http://www.infinity-dimensions.com/blog/archives/tlas2rewriteengine500-internal.html">TLAS絡みの記事</a>の時にも書きましたが、UNIXコマンドなんてあんまり使う機会がナイのですぐ忘れてしまいますよ...<br />
という事でpenguin-19さんの<a href="http://www.amays.com/~mizusawa/namazu_kaisetu/comand.html">「知っておきたいUNIXコマンド」</a>のコマンド一覧がまた役に立ちました！<br />
あとk-tanaka.netさんの<a href="http://www.k-tanaka.net/unix/">「UNIXコマンド」</a>にもお世話になりました。</p>

<p><br />
<h2 class="asset-subname">「Majordomo」は何処に？</h2>気を取り直して「Tera Term」からサーバに接続。<br />
まずは「Majordomo」本体が何処にあるのかをサルベージ。<blockquote>login: xxxxx<br />
Password:*****<br />
Welcome to Turbolinux.<br />
[xxxxx]$ su root　　←←root権限になるの忘れないで<br />
Password:*****<br />
[root]# find / -name majordomo　　←←findコマンドで検索</blockquote>ホントはサーバーに不可がかかるからオススメされてないんですが、おもいっきり最上階ディレクトリから検索しちゃいました...<br />
結果としてTLASの場合は「Majordomo」本体は /usr/lib/majordomo/ のディレクトリにあるのが判明しました。<br />
ファイル名もそのものズバリ「majordomo」ですw</p>

<p><br />
<h2 class="asset-subname">「Majordomo」本体を無理矢理FTPで書き換える設定</h2>本来ならここで<a href="http://ja.wikipedia.org/wiki/Vi">viエディタ</a>を使わなきゃイケないんでしょうが、正直メンドクサイので試しにサーバー管理者（rootじゃない）権限で<a href="http://ja.wikipedia.org/wiki/File_Transfer_Protocol">FTP</a>接続。<br />
とりあえず /usr/lib/majordomo/ のディレクトリまでは行けたのですが、やはりrootが所有者でパーミッションが755に設定されており、ダウンロードは可能でしたがアップロードは不可という状態でした。</p>

<p>FTPは通信が暗号化されないという事情から、サーバー側の設定でroot権限ではFTP接続できない場合がほとんどですが、「Tera Term」から「Majordomo」本体ファイルのパーミッションを変更して無理矢理FTPで書き換えできるようにしました。<br />
セキュリティ上はあまりよろしくナイ手法なんですが...<blockquote>[root]# cd /usr/lib/majordomo/　　←←とりあえずディレクトリ移動<br />
[root majordomo]# chmod 777 majordomo　　←←パーミッション777に変更</blockquote>FTPでパーミッションを確認すると...おぉ！ちゃんと777になってる♪<br />
あとで何か問題が発生したら怖いのでバックアップ用にコピーも作っておきましょう。</p>

<blockquote>[root]# cp majordomo majordomo-backup　　←←majordomoのコピー作成</blockquote>

<p>これで下準備は完了です。</p>

<p><br />
<h2 class="asset-subname">「Majordomo」本体を改修</h2>「Majordomo」本体をFTPダウンロードしたらメモ帳等で改修を行います。<br />
ちなみに私は<a href="http://sakura_editor.at.infoseek.co.jp/">「サクラエディタ」</a>を使ってます。</p>

<p><br />
まずは登録時に配信される「Welcome to the ○○○○○○ mailing list!」とかのウェルカムメッセージを改修。<br />
1780～1850行目付近にある sub welcome {～} サブルーチンの中で、「print MSG」に絡む部分がメールに書き込まれる内容になるのでこの辺を任意に#でコメントアウトします。<br />
例えばこんなカンジ。</p>

<pre name="code" class="xml:firstLine[1784]">#print MSG "Welcome to the $list mailing list!\n\n";
#print MSG "Please save this message for future reference.  Thank you.\n";</pre>

<p>自分の場合はウェルカムメッセージを全部コメントアウトしてしまって、Majordomo側の<br />
newinfoコマンドメールで書き換えた入会案内の文章のみを使う事にしました。<br />
メッセージ自体を日本語に書き換えてもみたのですが、どうもファイルの文字コードがうまくいかないようで、newinfoコマンドで書き換えた入会案内の文章の方が文字化けしたりと難航したので諦めました。</p>

<p><br />
次に登録時にシステムが返す2通目のメールの内容にあたる240～340行目付近の sub do_subscribe {～} サブルーチンを改修。<br />
「Succeeded.」があまりに味気ないのでこんなカンジに。</p>

<pre name="code" class="xml:firstLine[318]">print REPLY "登録が正常に完了しました。\n";
#print REPLY "Succeeded.\n";</pre>

<p>同じように登録解除時にシステムが返すメールの内容にあたる360～510行目付近の sub do_unsubscribe_all {～} サブルーチンを改修。</p>

<pre name="code" class="xml:firstLine[481]">print REPLY "解除が正常に完了しました。\n";
#print REPLY "Succeeded.\n";</pre>

<p>あと気になるのはシステムが返すメールのタイトルで「Majordomo results: =?ISO-2022-JP○○○○○○○○○」という部分。<br />
これは160行目付近のメールタイトルの成形部分を改修。</p>

<pre name="code" class="xml:firstLine[158]"># Open the sendmail process to send the results back to the requestor
&sendmail(REPLY, $reply_to, "Mail System Message");
#&sendmail(REPLY, $reply_to, "Majordomo results$sub_addin");</pre>

<p>ここも日本語にしたかったのですが文字化けしたのでスッパリ諦めました。</p>

<p>だいたいめぼしい改修点は以上です。<br />
最後にmajordomoをFTPでアップロードしてパーミッションを755に戻すのを忘れないようにしましょう。</p>

<p><br />
とりあえずバタバタと改修したのですが、「Majordomo」自体はPerlで書かれているようなのでジックリ見直せばいろいろ修正できるのではないかと思います。<br />
ただ「Majordomo」ももはや古いシステムなので<a href="http://mm.tkikuchi.net/">「Mailman」</a>とか<a href="http://www.fml.org/">「fml」</a>とかを使った方がイイようです。</p>]]>
    </content>
</entry>

<entry>
    <title>Brainstorm2010</title>
    <link rel="alternate" type="text/html" href="http://www.infinity-dimensions.com/blog/archives/brainstorm2010.html" />
    <id>tag:www.infinity-dimensions.com,2010:/blog//2.527</id>

    <published>2010-01-03T14:32:04Z</published>
    <updated>2010-01-03T16:10:31Z</updated>

    <summary> 旧年中は格別のお引き立てを賜り厚く御礼申し上げます。 2009年はTwitterやTumblrといった今までにない一捻りあるWebサービスが台頭して来た一年だったと思います。 ひとことで言うなれば「...</summary>
    <author>
        <name>芳賀　裕一郎</name>
        <uri>http://www.infinity-dimensions.com</uri>
    </author>
    
        <category term="プライベート" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="心得" label="心得" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.infinity-dimensions.com/blog/">
        <![CDATA[<div style="text-align: center;"><a href="http://www.flickr.com/photos/77324941@N00/4240196029/" title="Brainstorm2010 by i_n_f_i_n_i_t_y_9, on Flickr"><img src="http://farm3.static.flickr.com/2488/4240196029_e299380d60_o.jpg" width="500" height="500" alt="Brainstorm2010" /></a></div>

<p>旧年中は格別のお引き立てを賜り厚く御礼申し上げます。</p>

<p>2009年は<a href="http://twitter.com/">Twitter</a>や<a href="http://www.tumblr.com/">Tumblr</a>といった今までにない一捻りあるWebサービスが台頭して来た一年だったと思います。<br />
ひとことで言うなれば<strong>「ソーシャルストリーム来てるね！」</strong>という事になるかと。<br />
昨年の夏ぐらいに<a href="http://www.infinity-dimensions.com/blog/archives/socialstreamweb.html">ソーシャルストリームに関する記事</a>を書いた時点ではまだ世間がついて来ていない印象だったのですが、半年程経過してTV等で紹介されたりとかなり認知されるようになってきました。<br />
時の流れとは速いものです。</p>

<p><br />
今年の干支は「寅」ですが、虎といえば「一休さんの屏風の虎退治」のエピソードを思い出します。<br />
</p>]]>
        <![CDATA[<blockquote cite="http://ja.wikipedia.org/"><a href="http://ja.wikipedia.org/wiki/%E4%B8%80%E4%BC%91%E3%81%95%E3%82%93#.E5.B1.8F.E9.A2.A8.E3.81.AE.E8.99.8E.E9.80.80.E6.B2.BB">屏風の虎退治　一休さん - Wikipedia</a>

<p>足利義満が一休に出した問題の一つ。 「屏風絵の虎が夜な夜な屏風を抜け出して暴れるので退治して欲しい」と義満が訴えたところ、一休は「では捕まえますから虎を屏風絵から出して下さい」と切り返し、義満を感服させた。</blockquote></p>

<p>私達も一休さんくらいトンチが利いていれば、一捻りある面白いWebサービスをバンバン立ち上げたり出来るのでしょうが、現実はやっぱりそんなに甘くないです...<br />
という事でいわゆる<strong>ブレスト会議</strong>でみんなの知恵を集めるワケです。</p>

<blockquote cite="http://ja.wikipedia.org/"><a href="http://ja.wikipedia.org/wiki/%E3%83%96%E3%83%AC%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%9F%E3%83%B3%E3%82%B0">ブレインストーミング - Wikipedia</a>

<p>ブレインストーミング (Brainstorming) は、アレックス・F・オズボーンによって考案された会議方式のひとつ。集団思考とも訳される。集団発想法、ブレインストーミング法（BS法）、ブレスト、課題抽出ともいう。 1941年に、良いアイデアを生み出す状態の解析が行われた後、1953年に発行した著書「Applied Imagination」の中で会議方式の名称として使用された。</blockquote></p>

<p>しかしながら今の時代はソーシャルサービスによる<a href="http://d.hatena.ne.jp/keyword/%BD%B8%B9%E7%C3%CE">集合知</a>の方がかなり強力になったので、ブレスト会議で知恵を絞るというのも古い手法になりつつあるように感じます。<br />
もはや<strong>一人ブレインストーミング</strong>による<strong>個々の一休さん化</strong>が進んでいるという印象です。<br />
時の流れとは速いものです。</p>

<p><br />
そんな現在において、2010年はよりトンチの利いたサービスをご提供していける様に精進していきたいと思います。</p>

<p><strong>「将軍様！2010年は各社より<a href="http://plusd.itmedia.co.jp/lifestyle/articles/0910/07/news029.html">3D対応フルハイビジョンテレビがリリース</a>されます！<br />
このパッシブメガネをおかけになれば屏風の虎を出すことも技術的に可能です！！<br />
退治されたい場合はリモコンの電源ボタンを押してくださいまし。」</strong></p>

<p>現代風一休さんはこんな感じでしょうか？<br />
時の流れとは恐ろしいものです。</p>

<p><br />
本年も変わらぬご愛顧を賜りますよう、心よりお願い申し上げます。</p>]]>
    </content>
</entry>

<entry>
    <title>AS3で親(parent)MCのremoveChild→子MCのイベントリスナーごとremoveEventListenerで削除</title>
    <link rel="alternate" type="text/html" href="http://www.infinity-dimensions.com/blog/archives/as3-parent-remove-eventlistener.html" />
    <id>tag:www.infinity-dimensions.com,2009:/blog//2.526</id>

    <published>2009-12-22T17:43:39Z</published>
    <updated>2009-12-23T16:34:46Z</updated>

    <summary> FlashのActionScript3.0(AS3)は相変わらずムズカシイです... リンケージ(ってAS3でリンケージはナイんですが)使ってaddChildしまくってると、MovieClip(MC...</summary>
    <author>
        <name>芳賀　裕一郎</name>
        <uri>http://www.infinity-dimensions.com</uri>
    </author>
    
        <category term="トラブルシューティング" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="actionscript" label="ActionScript" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.infinity-dimensions.com/blog/">
        <![CDATA[<div style="text-align: center;"><a href="http://www.flickr.com/photos/77324941@N00/4206085449/" title="ActionScriptメインで使うならちょっとウィンドウを並べ直すとだいぶ使い易いです。"><img src="http://farm5.static.flickr.com/4002/4206085449_9d74af872f.jpg" width="500" height="331" alt="Flash CS3でActionScriptメインで使うならちょっとウィンドウを並べ直すとだいぶ使い易いです" /></a></div>

<p>FlashのActionScript3.0(AS3)は相変わらずムズカシイです...<br />
リンケージ(ってAS3でリンケージはナイんですが)使ってaddChildしまくってると、MovieClip(MC)同士の親子関係がかなり複雑になってきます。</p>

<p>親MCにaddChildした子MCにまたaddChildして孫MCを生成...みたいなカンジでコーディングしていたのですが、子MCにも孫MCにもaddEventListenerでガシガシイベントリスナーを設定してしまいまして、いざ全部removeChildで削除しようとするとイベントリスナーがキチンとremoveEventListenerされてないってんでエラー頻発！<br />
って自分で書いててもナニ言ってんだってカンジです。</p>

<p>一気にスッキリイベントリスナーまで削除できないものかと悩みまして、またもやGoogle先生の力を借りて先人の知恵を拝借しました！<br />
</p>]]>
        <![CDATA[<p><br />
<h2 class="asset-subname">子MCのイベントリスナーをremoveする</h2>そんなこんなで最初に見つけたのが子MCのイベントリスナーをremoveEventListenerする方法。</p>

<blockquote cite="http://blog.hereticsintheworld.com/"><a href="http://blog.hereticsintheworld.com/175.html">[AS3]子swfのイベントリスナーをremoveしたいよ | blog.hereticsintheworld</a>

<p>子SWFに以下のイベントリスナーを追加。<br />
[as]this.addEventListener(Event.REMOVED_FROM_STAGE,removeFunc);[/as]<br />
[as]function removeFunc (e:Event):void {<br />
removeEventListener(Event.ENTER_FRAME,onEnterFunc);<br />
}[/as]<br />
こうすると親swfで子swfのLoaderオブジェクトをremoveChildしたときにイベント発動。<br />
初めて知ったｗ<br />
もっとステキな方法があるはずだよね。。。</blockquote></p>

<p>おぉ！なるほどREMOVED_FROM_STAGEなんて便利なイベントがあるんですね！！<br />
いやちょっと待ってこれ親(parent)MCがremoveChildで削除されてもイベント発生させられるんじゃないですか？！</p>

<p><br />
<h2 class="asset-subname">親MCをremoveChild→子MCのイベントリスナーごとremoveEventListenerで削除</h2>という事で親MCをremoveChildで削除すると、全部の子MCのイベントリスナーごとremoveEventListenerで削除しまうActionScriptです。</p>

<p>例えばステージ(Stage)上に配置した親MCのタイムラインにこんなASを書いてみます。</p>

<pre name="code" class="js">stage.addEventListener(Event.RESIZE,stageResize);
MovieClip(root).deleteBtn.addEventListener(MouseEvent.MOUSE_DOWN,parentDelete);
//ステージサイズ変更
function stageResize(evt:Event):void {
　this.width = stage.stageWidth;
}
//親MC削除
function parentDelete(event:MouseEvent):void {
　stage.removeEventListener(Event.RESIZE,stageResize);
　MovieClip(root).deleteBtn.removeEventListener(MouseEvent.MOUSE_DOWN,parentDelete);
　parent.removeChild(this);
}</pre>

<p>同じくステージに配置したdeleteBtnボタンを押す(MOUSE_DOWN)とparentDelete関数が発動して親MC自身が削除されます。<br />
ちなみにrootを<strong>「MovieClip(root)」</strong>という風に書くとインスタンスとして扱えるみたいです。これでステージ上の他のMCからのイベントリスナーも取り出せます。</p>

<p>イベントリスナーをMOUSE_DOWNにしてるのはボタンを押した時に削除を実行して、ボタンを離した(MOUSE_UP)ときに別のMCをリンケージする関数を呼び出す二重構造でやりたかっただけなので、普通にCLICKで設定しても問題ナイです。</p>

<p>parentDelete関数をparentDelete関数自身でremoveEventListenerして無効化。親MC自身が削除されるのでイベントリスナーも<a href="http://ja.wikipedia.org/wiki/%E3%82%AC%E3%83%99%E3%83%BC%E3%82%B8%E3%82%B3%E3%83%AC%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3">ガベージコレクション</a>にしてメモリを空けた方がいいのかな～と。<br />
いずれにしても複雑化した関数もスッキリ整理できるので便利な書き方だと思います。</p>

<p>removeChildは通常は子MCを削除するために使いますが、<strong>「parent.removeChild(this)」</strong>と表記する事で自分自身を削除する事が可能です。</p>

<p><br />
次に子MCにこんなASを記述。</p>

<pre name="code" class="js">this.addEventListener(MouseEvent.CLICK,mouseClick);
parent.addEventListener(Event.REMOVED_FROM_STAGE,childDelete);
//マウスクリック
function mouseClick(event:MouseEvent):void {
　trace(this.name);
}
//子MC削除
function childDelete(evt:Event):void {
　this.removeEventListener(MouseEvent.CLICK,mouseClick);
　parent.removeEventListener(Event.REMOVED_FROM_STAGE,childDelete);
　parent.removeChild(this);
}</pre>

<p>親MCがremoveChildされるとREMOVED_FROM_STAGEのイベントがトリガーになって、自動的に子MC自身がイベントリスナーごと自分を削除してしまいます。</p>

<p>親子関係にあるMCを削除する場合、<a href="http://ameblo.jp/linking/entry-10152208935.html">forとnumChildrenで全部の子MCを削除する方法</a>もあるのでしょうが、これだと子MCの中のイベントリスナーまでは無効化できないので、ここにあげた子MC自身が自発的に削除される方法のほうが取回しは楽かと思います。</p>

<p>親MCのstageResize関数と子MCのmouseClick関数に反応するイベントリスナーみたいに、親MCや子MC自身にたくさんイベントリスナーが設定されていても、削除をするときに一緒にremoveEventListenerすればイイだけなのですごく楽チンです。</p>

<p>いや～大した事ないコーディングなんですが、実際ここまでたどり着くのは大変でしたw</p>

<p><br />
ちなみに記事の頭に入れた画像はFlash CS3の初期画面です。<br />
以前からActionScriptのコーディングがしにくいウィンドウ構成だな～と思っていたのですが、思い切って配置を変えてみました。</p>

<p>解像度の高いディスプレイを使っているのならアクションのウィンドウを大きく取れるこの配置の方がかなり楽ですよ♪</p>]]>
    </content>
</entry>

<entry>
    <title>Amazon Product Advertising APIの署名認証をAS3で行う</title>
    <link rel="alternate" type="text/html" href="http://www.infinity-dimensions.com/blog/archives/amazon-product-advertising-apias3.html" />
    <id>tag:www.infinity-dimensions.com,2009:/blog//2.525</id>

    <published>2009-12-08T12:06:24Z</published>
    <updated>2009-12-08T15:06:15Z</updated>

    <summary> AmazonのProduct Advertising APIから貰ってこれる商品情報のデータを使ってごにょごにょするサイトを構築していたのですが、情報量の多さからUIまわりはjQuery UIを使っ...</summary>
    <author>
        <name>芳賀　裕一郎</name>
        <uri>http://www.infinity-dimensions.com</uri>
    </author>
    
        <category term="トラブルシューティング" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="actionscript" label="ActionScript" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.infinity-dimensions.com/blog/">
        <![CDATA[<div style="text-align: center;"><a href="http://www.flickr.com/photos/77324941@N00/4145885493/" title="Flash CS3でActionscript3にスクリプトを拡張してimportさせるための設定"><img src="http://farm3.static.flickr.com/2717/4145885493_5cd8ff4321.jpg" width="500" height="372" alt="Flash CS3でActionscript3にスクリプトを拡張してimportさせるための設定" /></a></div>

<p>Amazonの<a href="https://affiliate.amazon.co.jp/gp/advertising/api/detail/main.html">Product Advertising API</a>から貰ってこれる商品情報のデータを使ってごにょごにょするサイトを構築していたのですが、情報量の多さから<a href="http://ja.wikipedia.org/wiki/%E3%83%A6%E3%83%BC%E3%82%B6%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9">UI</a>まわりは<a href="http://jqueryui.com/">jQuery UI</a>を使ってAjaxらしく動的に処理する仕様で開発しておりました。<br />
がしかし...70%くらいは完成したかな～という段階で各種ブラウザで動作確認を行ったところ、IE6で表示がメチャクチャになる事が発覚！！<br />
<a href="http://www.google.co.jp/search?hl=ja&q=ie6+%83o%83O">IE6はWebデザイナーの大敵！</a>ホント殺意を覚えるレベルです。</p>

<p>CSSハックすればいいんでしょうがjQuery UIが絡む要素があまりに深く複雑なので開発を断念。<br />
もうブラウザ毎に表示を左右されないFlashでイチから作り直すことにしました。</p>

<p><br />
ところが問題になってくるのが<strong>Product Advertising APIの署名認証</strong>。これが<a href="https://affiliate.amazon.co.jp/gp/associates/help/t126/a13?ie=UTF8&pf_rd_t=501&ref_=amb_link_84046836_8&pf_rd_m=AN1VRQENFRJN5&pf_rd_p=&pf_rd_s=center-1&pf_rd_r=&pf_rd_i=assoc_help_t126_a14">涙が出るくらい複雑</a>なんです...。<br />
という事でだれかActionScript3.0(AS3)でソース作ってる人いないかな～とググリまくったところ、素晴らしいActionScriptを書いた方がいらっしゃいました♪<br />
</p>]]>
        <![CDATA[<p><br />
<h2 class="asset-subname">AS3でHMAC-SHA256とbase64エンコードを実装する準備</h2>まずはAS3でHMAC-SHA256とbase64エンコードを実装するための準備をします。</p>

<blockquote cite="http://www.hobby-room.info/"><a href="http://www.hobby-room.info/action_script/memo/amazon.html">Product Advertising APIの署名をFlash(AS3)で作る - HOBBY ROOM</a>

<p>　初めに、as3corelibをダウンロードし、パスを通しておきます。<br />
　さらに、CS3の人はBase64Encoderが無いので、Flex3 SDKをダウンロードしてパスを通します。<br />
　あとは、getAmazonRequestで以前のリクエストとシークレットキーを入れれば、タイムスタンプと並べ替えと署名を作ったものを返してくれます。</blockquote></p>

<p>という事でHOBBY ROOMさんに書いてある通りGoogle Codeから<a href="http://code.google.com/p/as3corelib/downloads/list">as3corelib</a>をダウンロードしてZIPを解凍します。<br />
同じくCS3を使っているのでAdobeのサイトから<a href="http://www.adobe.com/cfusion/entitlement/index.cfm?e=flex3sdk">Flex3 SDK</a>をダウンロードしてZIPを解凍します。<br />
Flex3 SDKをダウンロードする際に<a href="http://www.adobe.com/jp/support/kb/cs/5/cs_5907_ja-jp.html">Adobe ID</a>が必要なんですが、普通のAdobe IDと違ってデベロッパー用のものになるようです。<br />
自分もAdobe IDを持っていたのですが再度登録し直してからダウンロードという手順になりました。</p>

<p><br />
次にダウンロードしたクラスをActionScriptでimportするんですがここで躓きました。<br />
ソースにimportがあって「パスを通しておき」と解説されてるので、CSSとかJavascriptみたいに<strong>フォルダへの階層を辿ってActionScriptに記述すればいいもんだと解釈していたのですがこれが間違い</strong>。</p>

<p>Flashで新たにクラスを追加する場合、メニューから<strong>編集＞環境設定＞ActionScript＞言語：ActionScript3.0設定</strong>を開いて、ここから該当するフォルダを選択してクラスパスを設定するようです。<br />
自分の場合は解凍してできたas3corelibとFlex3 SDKの2つのフォルダをそのままFlash本体のフォルダに格納しました。</p>

<p>という事でクラスパスはこんな風になりました。(\は￥です)<br />
<strong>as3corelib</strong>　C:\Program Files\Adobe\Adobe Flash CS3\as3corelib-.92.1\as3corelib-.92.1\src<br />
<strong>Flex3 SDK</strong>　C:\Program Files\Adobe\Adobe Flash CS3\flex_sdk_3.4\frameworks\projects\framework\src</p>

<p>記事の頭にある画像が設定画面のキャプチャーになっています。<br />
これで下準備は完了です。</p>

<p><br />
<h2 class="asset-subname">ActionScriptソース</h2>あとはHOBBY ROOMさんのサイトにあるActionScriptの通りで動作しますが少し手を加えてみました。<br />
ステージ上にあるsearchStartボタンをクリックすると、Keywordsテキストボックスに入力された検索キーワードを取り込んで署名されたリクエストURLの結果requestUrlをtraceで吐き出すitemSearchという関数を追加してあります。</p>

<pre name="code" class="js">import com.adobe.crypto.*;
import mx.utils.Base64Encoder;
searchStart.addEventListener(MouseEvent.CLICK,itemSearch);//searchStartボタンクリックで検索開始
//検索
function itemSearch(event:MouseEvent):void {
	var secretKey:String = "○○○○○○";//秘密鍵。
	var AmazonUrl:String = "http://ecs.amazonaws.jp/onca/xml";
	var param:Array = [
	"Service=AWSECommerceService",
	"AWSAccessKeyId=○○○○○○○○○",//アクセスキー
	"Operation=ItemSearch",
	"Keywords=" + escapeMultiByte(Keywords.text)//Keywordsテキストボックスを取り込んでエスケープ
	];
	var params:String = AmazonUrl+"?"+param.join("&");
	var requestUrl:String = getAmazonRequest(secretKey,params);
	trace(requestUrl);//署名されたリクエスト結果
}
//APIのバージョンを2008-01-23から2009-07-01に変更
//以下HOBBY ROOMさんのソースのまま
//シークレットキー、リクエスト（URLエンコード済みのを）
function getAmazonRequest(s_key:String, re:String):String{
	var ar:Array=re.split('?');
	var domain:Array=getDomain(ar[0]);
	var para:Array=ar[1].split('&');
	var time:String='Timestamp='+getTimestamp();
	para.push(time);
	para.sort();
	var sha256:String=HMAC.hash(s_key, 'GET\n'+domain[0]+'\n'+domain[1]+'\n'+para.join('&'), SHA256);
	var byte:ByteArray=new ByteArray();
	for(var AA:int; AA < sha256.length; AA+=8){
		byte.writeInt(parseInt(sha256.substr(AA, 8), 16));
	}
	var sign:String=encBase64(byte);
	sign=sign.replace(/=/g, '%3D');
	sign=sign.replace(/\+/g, '%2B');
	sign=sign.replace(/\//g, '%2F');
	return re+'&'+time+'&Signature='+sign;
}
function getTimestamp():String{
	var date:Date=new Date();
	return date.getUTCFullYear()+'-'+hosei(date.getUTCMonth()+1)
		+'-'+hosei(date.getUTCDate())+'T'+hosei(date.getUTCHours())+'%3A'+hosei(date.getUTCMinutes())+'%3A'+hosei(date.getUTCSeconds())+'Z&Version=2009-07-01';//2008-01-23から変更してます。
	function hosei(n:int):String{
		if(n < 10){
			return '0'+n;
		}else{
			return String(n);
		}
	}
}
function getDomain(st:String):Array{
	var ar:Array=new Array();
	var i:int=st.indexOf('/', 7);
	ar.push(st.substr(7, i-7));
	ar.push(st.substr(i));
	return ar;
}
function encBase64(msg:ByteArray):String{
	var enc:Base64Encoder=new Base64Encoder();
	enc.insertNewLines=false;
	enc.encodeBytes(msg);
	return enc.flush();
}</pre>

<p>itemSearch関数の部分にAmazonにリクエストするカテゴリを追加したりアソシエイトIDを入れたり任意に変えればいろいろ使えると思います。</p>

<p>ついでにもうひとつ躓いたところがあったんですが、受け取ったキーワードは必ずescapeMultiByteでエスケープしないとダメです。<br />
またリクエストにレスポンスグループなんかを含めるときに「ResponseGroup=<グループ1>,<グループ2>,<グループn>」というのを追加すると思いますが、この場合も「,」が引っかかるのでescapeでエスケープしてから渡してください。</p>

<p><br />
これでProduct Advertising APIからXMLの結果が返って来るんですが、今度はこれをXMLパーサーしなきゃイケなくてこれがまた大変で...<br />
その辺はまた次の機会に書きたいと思います。</p>

<p>断念する前のPHPで署名認証する方法もそのうち載せられればと思います。</p>]]>
    </content>
</entry>

<entry>
    <title>玄人志向「玄箱」のファン交換</title>
    <link rel="alternate" type="text/html" href="http://www.infinity-dimensions.com/blog/archives/kurobox-fan-change.html" />
    <id>tag:www.infinity-dimensions.com,2009:/blog//2.524</id>

    <published>2009-11-30T06:51:31Z</published>
    <updated>2009-11-30T08:40:10Z</updated>

    <summary> サーバ運用のノウハウ獲得のために玄人志向の「玄箱」でいろいろ実験してましたがあれからもう5年も経ったんですか...。 流石に今どきのサーバで使うにはスペック的に難点があったので近年は普通にNASとし...</summary>
    <author>
        <name>芳賀　裕一郎</name>
        <uri>http://www.infinity-dimensions.com</uri>
    </author>
    
        <category term="トラブルシューティング" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.infinity-dimensions.com/blog/">
        <![CDATA[<div style="text-align: center;"><a href="http://www.flickr.com/photos/77324941@N00/4145885215/" title="玄人志向「玄箱」のファン交換"><img src="http://farm3.static.flickr.com/2683/4145885215_bb0485f741.jpg" width="500" height="375" alt="Kurobox Fan Change 01" /></a></div>

<p>サーバ運用のノウハウ獲得のために<a href="http://kuroutoshikou.com/modules/display/?iid=118">玄人志向の「玄箱」</a>でいろいろ実験してましたが<a href="http://www.infinity-dimensions.com/blog/archives/000024.html">あれからもう5年も経った</a>んですか...。<br />
流石に今どきのサーバで使うにはスペック的に難点があったので近年は普通に<a href="http://e-words.jp/w/NAS.html">NAS</a>として活用しておりましたが、ここのところ「ブウウウゥ～ン」と何やら異音を発するように。<br />
ググって調べたところ、経年劣化で冷却ファンの軸がぶれてきてるのが原因というのが発覚。</p>

<p>という事でファン交換をDIYしてみました！<br />
</p>]]>
        <![CDATA[<p><br />
<h2 class="asset-subname">「玄箱」の交換用のパーツをチョイス</h2><div style="text-align: center;"><a href="http://www.flickr.com/photos/77324941@N00/4146644726/" title="「玄箱」の交換用のパーツをチョイス"><img src="http://farm3.static.flickr.com/2559/4146644726_c25d742303.jpg" width="500" height="375" alt="Kurobox Fan Change 02" /></a></div></p>

<p>玄箱の交換用ファンが入った<a href="http://www.buffalo-direct.com/directshop/products/detail.php?product_id=82">パーツセット</a>が売ってますが2,940円と地味に高い...。<br />
玄箱にはADDA社製AD0412LX-G76という40mm×40mm×10mm規格のファンが使われてましたが、汎用のケースファンを流用すれば1,000円もしないで修理可能です。</p>

<p><br />
という事で交換用のパーツのチョイスなんですが、自分の場合は<a href="http://www.amazon.co.jp/gp/product/B001D21VQG?ie=UTF8&tag=infinitydimen-22&linkCode=as2&camp=247&creative=7399&creativeASIN=B001D21VQG">ainex社製CFY-40S</a>というのを選びました。<br />
ヨドバシカメラで880円でした。<br />
サイズもピッタリですし静音タイプという事でもっと静になるかな～という期待も込めてw</p>

<p>ファンを選ぶ時に注意するのは線が3本出ている<strong>3ピンコネクタ</strong>のものにする事と<strong>40mm×40mm×10mm規格サイズ</strong>にする事です。<br />
玄箱ではプラスマイナス（±）の電源用の線とファンの回転速度の監視用の線の計3本が必要になります。<br />
40mm規格のファンはたくさんありますが、玄箱に取り付ける際はファンをフックに引っ掛けるだけなので厚さが10mmのものじゃないとケース本体に加工が必要になってきます。</p>

<p>あと玄箱のファンの端子は特殊な接続端子になってますので、汎用のケースファンの3ピンコネクタ端子では直接玄箱につなげません。<br />
となると線をぶった切って加工する必要があるのですが、またファンが壊れた場合に備えてファン用電源延長ケーブルを途中にかましてあげるのが得策のようです。<br />
という事でFreedom社製PD-260Eという電源延長ケーブルも買いました。ちなみにヨドバシカメラで199円です。<br />
この辺は別にどこのメーカーのものでも問題ないと思います。</p>

<p><br />
事前にファン交換をした方のブログなんかも調べていたのですが、DECA社製FJ0410S60 風神 FU-JINはヤメておいた方が良さそうです。</p>

<blockquote cite="http://hirotyanteikoku.cocolog-nifty.com/"><a href="http://hirotyanteikoku.cocolog-nifty.com/cocolog/2008/11/post-f702.html">玄箱のファンを替える: ひろちゃん帝国　ココログ村</a>

<p>その風神なんですが、既に爆音を発しており、ほぼ壊れてます。<br />
1ヶ月持たなかったじゃん。だめじゃん風神・・・・。</p>

<p>そんなわけで、またまたファンを調達しました。これに懲りて、メーカー物にしました。</blockquote></p>

<p>風神 FU-JINはヨドバシの店頭でもかなり安かったので危うく買うところでしたw<br />
ひろちゃん帝国さんありがとうございましたm(_ _)m</p>

<p><br />
<h2 class="asset-subname">加工して「玄箱」にファンを取り付ける</h2><div style="text-align: center;"><a href="http://www.flickr.com/photos/77324941@N00/4146644828/" title="加工して「玄箱」にファンを取り付ける"><img src="http://farm3.static.flickr.com/2538/4146644828_a8d4520df8.jpg" width="500" height="375" alt="Kurobox Fan Change 03" /></a></div></p>

<p>まずは玄箱のマザーボード？基盤につながっている古いファンの線をぶった切って分離します。ついでに買ってきた電源延長ケーブルもオス側しか使わないので10cmくらいで線を切ります。</p>

<p>玄人志向を使うくらいの方に説明は不要かと思いますが、ファンに供給する電源のプラス（+）が赤でマイナス（-）が黒になります。なのでファン電源と電源延長ケーブルの線を<strong>「赤⇔赤、黒⇔黒」で結線</strong>します。<br />
線が<strong>1本あまるはずなので色は気にしないでこれを結線</strong>します。</p>

<p>自分の場合は結線箇所をハンダ付けして絶縁テープで巻いただけです。<br />
見た目の処理は汚いですが、どうせ見えないですしこれで十分機能するので良しとしましょうw</p>

<p><br />
あとは交換用ファンを組み付けておもむろに電源投入！</p>

<p><strong>.........無事に動いた♪</strong></p>

<p>ファンを交換してから1ヶ月くらい経ちますが何事もなく動いてますので問題ないと思います。<br />
それほど難しい作業ではないので玄箱に異変を感じたら是非チャレンジしてみてください！！</p>]]>
    </content>
</entry>

<entry>
    <title>Amazon Kindleで新時代の活字文化の到来を実感</title>
    <link rel="alternate" type="text/html" href="http://www.infinity-dimensions.com/blog/archives/amazon-kindle.html" />
    <id>tag:www.infinity-dimensions.com,2009:/blog//2.523</id>

    <published>2009-10-27T16:52:50Z</published>
    <updated>2009-10-27T16:47:26Z</updated>

    <summary> 春先くらいの話なんですが母親が「簡単で文字が大きい携帯に変えたい」という事を言い出しまして。 今までずっとWILLCOMのPHSを使っていたんですがこういうご時勢もあってか、いよいよメールなんか始め...</summary>
    <author>
        <name>芳賀　裕一郎</name>
        <uri>http://www.infinity-dimensions.com</uri>
    </author>
    
        <category term="テクノロジー" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="ビジネス" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="amazon" label="Amazon" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="社会" label="社会" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.infinity-dimensions.com/blog/">
        <![CDATA[<div style="text-align: center;"><a href="http://www.flickr.com/photos/jasonsherwin/3133035794/" title="Originally uploaded by Jason Sherwin"><img src="http://farm4.static.flickr.com/3210/3133035794_67d36442e5.jpg" alt="Amazon Kindle Originally uploaded by Jason Sherwin" height="375" width="500" /></a></div>

<p>春先くらいの話なんですが母親が「簡単で文字が大きい携帯に変えたい」という事を言い出しまして。</p>

<p>今までずっとWILLCOMのPHSを使っていたんですがこういうご時勢もあってか、いよいよメールなんか始めたお友達も増えてきたらしく、自分もメールを使いたいがPHSですら使いこなせないと。<br />
仕方がないなと重い腰を上げて一緒に新しい携帯電話を探しに行きました。</p>

<p><br />
いつの間にやら年老いた母の事を自分なりに考えながら携帯端末を選んだのですが、いわゆる「普通の携帯電話」というポジションの端末はユーザーインターフェースが結構複雑で、とても母が使いこなせる代物じゃない。<br />
最終的にキャリアごと移るかたちを取って、<a href="http://www.nttdocomo.co.jp/product/foma/easy_phone/">docomoのらくらくホン</a>をチョイスする事になったのですが、実はこれにかなり衝撃を受けました！</p>

<p>ユーザーインターフェースが分かりやすいというのはもちろんなんですが、<strong>液晶画面の文字がハンパなく見やすいんです！！</strong></p>

<p>スペック表を見る限り普通のTFT液晶ディスプレイなんですがどういう技術なんでしょうか？<br />
グレースケール階調に限定されますが、普段使ってる携帯電話やPCディスプレイではありえないくらい文字の視認性が高い。<br />
ホントもう紙に印刷した文字に肉薄するレベルなんじゃないかと驚きました。</p>]]>
        <![CDATA[<p><br />
<h2 class="asset-subname">Amazon Kindleは電子活字の黒船か</h2>あるときIT系ニュースで電子ブックリーダーの<a href="http://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%9E%E3%82%BE%E3%83%B3%E3%83%BB%E3%82%AD%E3%83%B3%E3%83%89%E3%83%AB">「Amazon Kindle（アマゾン・キンドル）」</a>が話題になっているとの記事で商品写真を目にした時に、先だってのらくらくホンで見た<strong>「文字の視認性の高さ」</strong>を思い出しました。</p>

<p>「Amazon Kindle」のディスプレイはスペックを見る限り<a href="http://www.eink.com/products/matrix/High_Res.html">「diagonal E Ink®」</a>という液晶らしいのですが、調べたところ「Amazon Kindle」と同じ電子ブックリーダー業界でしのぎを削る争いを演じる<a href="http://ja.wikipedia.org/wiki/%E3%82%BD%E3%83%8B%E3%83%BC%E3%83%BB%E3%83%AA%E3%83%BC%E3%83%80%E3%83%BC">「Sony Reader（ソニー・リーダー）」</a>も搭載しているようで、日本の姉妹製品にあたる「LIBRIe」のサイトに解説がありました。</p>

<blockquote cite="http://www.sony.jp/products/Consumer/LIBRIE/"><a href="http://www.sony.jp/products/Consumer/LIBRIE/products/EBR-1000EP/feat1.html">LIBRIe（リブリエ） | EBR-1000EP - 美しい文字表示</a>

<p>ディスプレイは、E INK方式電子ペーパー＊を採用。ふりがなのような小さな文字でもくっきりと表示でき、なめらかで美しい文字表示を実現しています。また、バックライトもないので目にやさしく、長時間の読書も快適。視野角（読める角度）も約180度と広く、どの角度からでも文字をはっきりと認識できます。</p>

<p>文字を形成するのは、表示面の下に敷き詰められた約40ミクロンのマイクロカプセルです。この日本人の髪の毛の半径ほどのカプセルの中には、ナノレベルの大きさの、プラスに帯電された白色顔料と、マイナスに帯電された黒色顔料が無数に浮遊しています。それを表示する文字にあわせ、電圧をかけ、白色顔料と黒色顔料を上下に移動させることで、直接文字を形成します。この新しい文字表示のしくみにより、高いコントラストと、紙の本のようになめらかな文字表示を実現することが可能となっています。</p>

<p>＊ E INK方式電子ペーパーとはマイクロカプセル型電気泳動方式電子ペーパーのことです。マイクロカプセル型電気泳動方式電子ペーパーの表示原理、材料および駆動系技術は、米国 E INK社によって開発された技術です。<br />
</blockquote></p>

<p><a href="http://www.amazon.co.jp/">日本のAmazon</a>でも購入が可能になりましたが、残念ながら「Amazon Kindle」そのものが日本語にはまだ未対応。<br />
しかしそう遠くない将来には確実に対応してくるでしょう。</p>

<p>目に見えるレベルで衰退しつつある日本の出版・印刷業界ですが、この「Amazon Kindle」の登場で完全に止めを刺されたと言っても過言ではないような気がします。<br />
現代の黒船の襲来じゃないですかコレ？！</p>

<p><br />
<h2 class="asset-subname">新時代の活字文化の到来を実感</h2>「らくらくホン」や「Amazon Kindle」もそうなんですが、<a href="http://www.tumblr.com/">Tumblr</a>を始めてからテキスト中心の内容に接する機会が多くなった事もあってか<strong>「文字の視認性の高さ」</strong>の重要性を凄く意識するようになりました。<br />
そんな流れでWebサイトの構築時にCSSでフォントやサイズを指定に関してかなり研究しました。</p>

<p>Windows Vistaでこのサイトをご覧の方は<a href="http://ja.wikipedia.org/wiki/%E3%83%A1%E3%82%A4%E3%83%AA%E3%82%AA">「メイリオ」</a>で見えているはずです。<br />
Macは昔からシステムレベルでフォントの視認性に気を配られてるのでそれなりに指定すればOKなんですが、Windowsはこの「メイリオ」フォントの登場でようやく追いついて来たかな？という印象です。</p>

<p><br />
ついでに<a href="http://tumblr.infinity-dimensions.com/">Infinity Dimensions Tumblr</a>のテキスト中心のQuote系の記事を見ていただくと、記事部分だけ明朝系のフォントで大型になっているはずです。<br />
しかもテキストが短くなるほどフォントサイズが大型化するように調整してありますので、目から頭に入ってくるイメージがかなり違うと思います。</p>

<p>私のPCディスプレイがWUXGA（1920×1200）と<a href="http://ja.wikipedia.org/wiki/%E7%94%BB%E9%9D%A2%E8%A7%A3%E5%83%8F%E5%BA%A6">画像解像度</a>が高精細な事もあって個人的な印象で決めただけだったのですが、実際<strong>ここ最近のWeb業界でフォントの大型化の流れがある</strong>ようです。</p>

<p><br />
これらの事を全体として考えると、いわゆる<strong>「活字文化」というものが電子化されるための条件がもの凄い勢いで整いつつあるんじゃないか</strong>というのを実感しました。</p>

<p>そんな事を言うと「活字とは紙に印刷されたものの事だ！」とお叱りを受けるかもしれませんが、実際に電子ペーパーが限りなく紙に肉薄しつつある現状を見るにつけ、媒体に固執している様な人や企業は旧世代の遺物になってしまうかもしれないと思わざるおえません。</p>

<p>電子化された新時代の活字文化を受け入れる事が、今後の未来を切り開くのではないでしょうか？</p>]]>
    </content>
</entry>

<entry>
    <title>無料でウイルス対策・ファイアウォールを構築</title>
    <link rel="alternate" type="text/html" href="http://www.infinity-dimensions.com/blog/archives/free-antivirus-firewall2009.html" />
    <id>tag:www.infinity-dimensions.com,2009:/blog//2.522</id>

    <published>2009-09-20T03:20:19Z</published>
    <updated>2009-09-22T11:03:06Z</updated>

    <summary>今までウイルス対策・ファイアウォールのソフトにはノートン先生を使っていたのですが、とうとう使用期限が来てしまいました... ここ数年セキュリティ関係の情報をチラホラと集めていたのですが、「ウイルスセキ...</summary>
    <author>
        <name>芳賀　裕一郎</name>
        <uri>http://www.infinity-dimensions.com</uri>
    </author>
    
        <category term="コンピューター" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="セキュリティ" label="セキュリティ" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.infinity-dimensions.com/blog/">
        <![CDATA[<p>今までウイルス対策・ファイアウォールのソフトには<strong>ノートン先生</strong>を使っていたのですが、とうとう使用期限が来てしまいました...</p>

<p>ここ数年セキュリティ関係の情報をチラホラと集めていたのですが、<a href="http://sec.sourcenext.info/products/zero/">「ウイルスセキュリティZERO」</a>は論外としても<a href="http://www.symantec.com/ja/jp/">「ノートン」</a>とか<a href="http://virusbuster.jp/">「ウイルスバスター」</a>、<a href="http://www.mcafee.com/japan/">「マカフィー 」</a>あたりのいわゆる有名どころが思ったほど評価が高くないというのが判明。<br />
いい機会なので本腰を入れてセキュリティ関係のソフトの抜本的見直しを敢行する事にしました。</p>

<p>改めていろいろ調査したところ、各種ウイルス対策ソフトのウイルス検出率を評価をしているサイトを発見！<br />
これを見たら鼻血モノのデータがwww<br />
このエントリーを書いてる時点ではこんなランキングになってるようです。</p>]]>
        <![CDATA[<p><br />
<blockquote cite="http://www.virus.gr/"><a href="http://www.virus.gr/">virus.gr</a><br />
<strong>1. G DATA 2009 20.0.2.1 - 98,89%</strong><br />
2. F-Secure 2009 9.00.148 - 98,72%<br />
3. Kaspersky 2010 9.0.0.463 - 98,67%<br />
4. AntiVir 9.0.0.381 Premium - 98,64%<br />
5. ZoneAlarm Antivirus 8.0.400.020 - 98,62%<br />
6. AntiVir 9.0.0.407 Personal - 98,56%<br />
7. Ashampoo 1.61 - 98,48%<br />
8. MultiCore 2.001.00036 - 98,36%<br />
9. Paretologic 6.1.1 - 98,11%<br />
10. TrustPort 2.8.0.2255 - 98,03%<br />
11. eScan 10.0.977.4091 - 97,82%<br />
12. The Shield 2009 12.0.12 - 97,72%<br />
13. BitDefender 2010 11.0.15.297 - 97,61%<br />
14. Ikarus 1.0.97 - 97,15%<br />
15. AVG 8.5.392 Free - 97%<br />
16. BitDefender 2009 12.0.12.0 Free - 96,37%<br />
17. Nod32 4.0.437.0 - 95,97%<br />
<strong>18. Avast 4.8.1335 Free - 95,87%</strong><br />
<strong>19. Comodo 3.9.95478.509 - 95,57%</strong><br />
<strong>20. Trend Micro Antivirus 17.1.1250 - 95,36%　←ウイルスバスター</strong><br />
21. F-Prot 6.0.9.1 - 93,03%<br />
22. McAfee Enterpise 8.7.0i - 92,35%<br />
<strong>23. McAfee 13.11.102 - 92,32%　←マカフィー</strong><br />
24. Norman Security Suite 7.10.0.1 - 90,76%<br />
25. Blink Personal 4.3.2 - 90,17%<br />
26. Vba32 3.12.10.9 - 89,91%<br />
<strong>27. K7 Antivirus 7.7.0568 - 89,02%　←ウイルスセキュリティZERO</strong><br />
<strong>28. Norton 16.5.0.134 - 87,37%　←ノートン先生</strong><br />
29. ArcaVir 2009 - 85,09%<br />
30. Outpost 6.7.2957.446.0711 - 83,59%<br />
31. Dr. Web 5.00.4.06300 - 82,89%<br />
32. Rising AV 21.51 - 80,92%<br />
33. Vipre 3.1.2775 - 79,69%<br />
34. Kingsoft 2009.08.05.16 - 79,59%<br />
35. V3 Internet Security 2009.08.10.02 - 79,24%<br />
36. ViRobot Desktop 5.5 - 79,05%<br />
37. Antiy Ghostbusters 6.1.6 - 77,14%<br />
38. Panda 2009 9.00.00 - 70,8%<br />
39. Twister 7.3.3.9983 - 67,14%<br />
40. Virus Chaser 5.0a - 66,54%<br />
41. Quick Heal 10.00 - 65,97%<br />
42. PC Tools 6.0.0.19 - 59,77%<br />
43. ClamWin 0.95.2 - 52,48%<br />
44. Sophos Sweep 7.6.8 - 42,84%<br />
45. Iolo 1.5.3 - 40,14%<br />
46. Net Protector 2009 - 34,34%<br />
47. The Cleaner 2010 Free 6.1.0.2007 - 34,11%<br />
48. Digital Patrol 5.10.102 - 27,29%<br />
49. Trojan Hunter 5.1.875 - 24%<br />
50. Protector Plus 8.0.E02 - 21,61%<br />
51. Solo 8.0 - 11,3%<br />
52. Trojan Remover 6.8.1 - 11,16%<br />
53. VirIT 6.4.71 - 9,01%<br />
54. IOBit Security 360 beta 3.1 - 8,92%<br />
55. PCClear 1.0.8.6 - 8,08%</blockquote></p>

<p><br />
「ウイルスバスター(Trend Micro Antivirus)」が20位なのはまだマシな方で、「マカフィー(McAfee)」が23位、「ウイルスセキュリティZERO(K7 Antivirus)」の27位すらも下回る我らが「ノートン先生(Norton)」が28位の大誤算？！<br />
有名なソフトが必ずしも良いとは限らないんですね...やっぱりちゃんと調べるのって大事です。</p>

<p><a href="http://www.gdata.co.jp/">「G DATA」</a>ってなんすか？という事で調べたらドイツのコンピュータセキュリティ会社が開発したソフトだそうで。<br />
日本版でもパッケージ販売されてるなんて全然知らなかった...<br />
値段を調べたら実質一番使うであろう<a href="http://shop.vector.co.jp/service/catalogue/gdata/">「G Data インターネットセキュリティ 2010　1年版/3台用」がベクターで3,000円切ってたり</a>とかなりお手頃♪<br />
最新ウイルス情報の更新速度とかいろいろあるんでしょうが、<strong>ウイルス検出率99%で現時点ではコイツが最強ソフト</strong>という事なんでしょうかw</p>

<p><br />
前述した通りセキュリティ関係の情報はいろいろ調べていたのですが、昔はウイルス対策ソフトは「安かろう悪かろう」というのが当たり前だったんですが、ここ最近は「無料でイイものがあるならそれでイイんじゃないか」と考え方が変わって来ました。<br />
という事で<strong>日本語に対応していてWindows Vistaでも使える無料のウイルス対策・ファイアウォール</strong>を探してみました。</p>

<p><br />
<h2 class="asset-subname">無料で使えるウイルス対策ソフト「avast! Home Edition」</h2>ネットサーフィンをしていると「<a href="http://www.avast.com/index_jpn.html">avast</a>が軽くていい」という話がちょこちょこ出てましてずっと気になってました。<br />
今回のウイルス検出率のデータを見ると<strong>無料版の「Avast 4.8.1335 Free」でも18位と、有料の「ウイルスバスター」よりも順位が上</strong>という結果。</p>

<p>という事でテスト的に「avast! Home Edition」をインストールしてみました。<ul><li><a href="http://www.avast.com/jpn/download-avast-home.html">avast! Home Edition</a></li></ul>明らかにOSの起動時間が速くなってる！！<br />
普通に使うのならもう本命はコレでいいんじゃないでしょうか？</p>

<p><br />
<h2 class="asset-subname">無料で使えるファイアウォール「PC Tools Firewall Plus」</h2>とりあえずウイルス対策は「avast」でいいとして、Windows付属のファイアウォールじゃあ心もとない...<br />
という事で無料で使えるファイアウォールをいろいろ探した結果、<a href="http://www.zonealarm.com/security/ja/home.htm">「ZoneAlarm」</a>が良さげだったので早速インストールしてみました。<ul><li><a href="http://www.zonealarm.com/security/ja/free-upgrade-security-suite-zonealarm-firewall.htm">ZoneAlarm Basic Firewall</a>　※ちゃんと記事読んでから推奨</li></ul>ちなみに日本語サイトの方からダウンロードするとVistaに未対応の古いバージョンのモノになるようなのでご注意を。</p>

<p>「ZoneAlarm」も最初の方は調子が良かったのですが、<strong>ブラウザを起動して数分ほど経過するとネットに繋がらなくなる</strong>トラブルが発生！！<br />
解決方法を探ったところインターネットのセキュリティレベルを下げるとイイっぽいとの情報を得て試してみるものの、この現象は解決できませんでした...</p>

<p>ググりまくって調べた結果、昔から「avast」と「ZoneAlarm」はコンフリクト(衝突)してしまうようで、最近のバージョンは解消したという話もあるりますが実際は各所でトラブルが発生しているようです。<br />
実際発生してるしw<br />
ここはすっぱり諦めてアンインストールするのが無難ですね...</p>

<p><br />
気を取り直して新たなソフトを探したところ<a href="http://www.pctools.com/jp/">「PC Tools」</a>という名前がチラホラと。<br />
日本語でVistaに使える無料のファイアウォールというとあまり選択肢もナイようなので、恐らくコレが本命だろうという結論に達してインストールしてみました。<ul><li><a href="http://www.pctools.com/jp/firewall/">PC Tools Firewall Plus</a>　※ちゃんと記事読んでから推奨</li></ul>数時間ばかり使ってみましたが<strike>特に問題はナイ</strike>ようですw</p>

<p><br />
という事で日本語に対応していてWindows Vistaでも使える無料のウイルス対策・ファイアウォールの組合せは、<strong>「avast! Home Edition」</strong>と<strong>「PC Tools Firewall Plus」</strong>が<strike>ベストなのではないかと思います</strike>。<br />
でもまあ結局は無料ソフトなので使用にあたっては自己責任でお願いいたしますm(_ _)m</p>

<p><br />
＜2009年9月22日追記＞<br />
<h2 class="asset-subname">トータルセキュリティの「Comodo Internet Security - Free Version」</h2>「avast! Home Edition」と「PC Tools Firewall Plus」の組合せでしばらく使ってみたのですが、この機会に不要なアプリケーションは削除してしまおうとコントロールパネルからアンインストールを敢行したのですが、なにやら<strong>アンインストーラーが途中で停止してしまうというトラブル</strong>に！<br />
どのアプリケーションに対しても同じくアンインストーラーが途中で停止してしまいます。</p>

<p>どうも「PC Tools Firewall Plus」がクサイとにらんで、一旦ファイアウォールを停止して「PC Tools Firewall Plus」をアンインストールしたところ、他のアプリケーションも無事アンイントールできるように...<br />
やっぱりか～</p>

<p>という事で新たに良さげなものを物色したところ、ファイアウォールで定評のある<a href="http://www.comodo.com/">Comodo</a>がヒットしました。<br />
サイトに日本語がないのでスルーしてたのですが、有志によって作成された日本語パッチをデフォルトで組み込んだという事で<a href="http://www.forest.impress.co.jp/article/2009/05/18/comodo_internet_security.html">ヘルプ以外ほぼ日本語化された</a>ようです。</p>

<p><br />
若干重くはなりますがウイルス検出率もavastと遜色ないですし、また相性問題等ですったもんだするのも面倒なので、ウイルス対策・ファイアウォールが一緒になった「Comodo Internet Security - Free Version」をチョイスする事にしました。<ul><li><a href="http://www.comodo.com/home/internet-security/free-internet-security.php">Comodo Internet Security - Free Version</a></li></ul>ほぼ丸一日ほど稼動させてますが前述のような問題も特になく快適に動作してます。<br />
起動時間はノートン先生並みになってますが...</p>

<p>インストーラーの段階から間違いなく日本語化されていました。設定が細かくて難しいという噂もチラホラ聞きましたが思っていたほどではありません。<br />
また「Free to both business and home users」という事でビジネス目的の利用者にも開放されている様なので、重要な情報を扱っている場合は別としても企業での導入を検討してもいいのかな～と思います。<br />
あくまで自己責任ですが。</p>

<p>軽さを重視するなら「avast! Home Edition」に「Comodo Firewall」を組み合わせていいかもしれませんね。</p>]]>
    </content>
</entry>

<entry>
    <title>「Google Chrome 4」をインストールしてみました</title>
    <link rel="alternate" type="text/html" href="http://www.infinity-dimensions.com/blog/archives/google-chrome-4.html" />
    <id>tag:www.infinity-dimensions.com,2009:/blog//2.521</id>

    <published>2009-09-16T17:12:46Z</published>
    <updated>2009-09-16T18:41:20Z</updated>

    <summary> メインで使ってるブラウザはFirefoxなんですが、Googleには何かとお世話になっております故、一時期浮気をして「Google Chrome」を使用しておりました。 軽量+高速なのは言うに及ばず...</summary>
    <author>
        <name>芳賀　裕一郎</name>
        <uri>http://www.infinity-dimensions.com</uri>
    </author>
    
        <category term="インターネット" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="google" label="Google" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.infinity-dimensions.com/blog/">
        <![CDATA[<div style="text-align: center;"><a href="http://www.flickr.com/photos/77324941@N00/3925874927/" title="Google Chrome 4 Dev by i_n_f_i_n_i_t_y_9, on Flickr"><img src="http://farm3.static.flickr.com/2519/3925874927_bfd271c82e.jpg" width="500" height="285" alt="Google Chrome 4 Dev" /></a></div>

<p>メインで使ってるブラウザは<a href="http://mozilla.jp/firefox/">Firefox</a>なんですが、Googleには何かとお世話になっております故、一時期浮気をして<a href="http://www.google.com/chrome/intl/ja/landing.html?hl=ja">「Google Chrome」</a>を使用しておりました。<br />
軽量+高速なのは言うに及ばず、タブ表示がメニューより上にあるデザインがまた使いやすくて結構気に入ってました。</p>

<p>しばらく「Google Chrome」を使っていたのですが、アドオンの充実ぶりとかWeb開発に欠かせない細かな機能なんかではやっぱり痒い所に手が届かず...<br />
結局Firefoxに戻ってしまったのですがw<br />
</p>]]>
        <![CDATA[<p>なんてやってる9月15日に「Google Chrome 3」の安定版が正式リリースされたそうで。<br />
個人的にこれといって目新しい機能もなかったので「まぁ入れておくか」ぐらいな気持ちだったのですが、ふと開発者版の<strong>「Google Chrome 4」</strong>の事を思い出し「どうせなら」とこっちをインストールしてみました。<br />
個人的にあまり深い意味はナイですw</p>

<p>ちなみにダウンロード先は表に出てないっぽい？ので<a href="http://www.google.com/chrome/eula.html?extra=devchannel">開発者チャネルのダウンロード先</a>の方から行きましょうw</p>

<p><br />
「Google Chrome 3」と大きく違うのは、Firefoxのアドオンに相当する「エクステンション」という機能拡張が可能になったとか「ブックマーク同期機能」がついてる事ですかね。<br />
エクステンションに関してはChromiumの開発者チャネルで今のところ以下のようなサンプルを公開しています。</p>

<blockquote cite="http://dev.chromium.org/"><a href="http://dev.chromium.org/developers/design-documents/extensions/samples">Chromium Developer Documentation</a><ul><li>Gmail Checker</li><li>Subscribe in Feed Reader</li><li>BuildBot Monitor</li></ul></blockquote>

<p>「Google Chrome 4」でエクステンションのサンプルのページで各エクステンションの<strong>Install</strong>をクリックすると、ダイアログが開いてそのままインストールが出来ます。<br />
インストールが完了したらブラウザを再起動させるとエクステンションが機能しているのが確認できます。</p>

<p>アンインストールする場合は、アドレスバー(Omnibox)に「chrome://extensions/」と入力すると、エクステンション管理画面になるので<strong>Uninstall</strong>を押せばいいようです。<br />
なんか設定メニューとかナイのが悲しい...。</p>

<p>「Google Chrome 3」でもエクステンションのインストールは可能なようですが、Google Chromeのショートカットに「--enable-extensions」のオプションを追加して起動しなきゃいけなかったりメンドクサそうです。</p>

<p><br />
技術評論社のサイトでは早速<a href="http://gihyo.jp/dev/feature/01/chromeExt">「先取り！ Google Chrome Extensions」</a>という特集を組んでエクステンションの開発の仕方とかやってるようです。<br />
「Google Chrome」はもっと機能が欲しいところなので、独自に開発していくっていうのもアリかもしれませんね。</p>

<p><br />
でも結局本命はFirefoxかな...<br />
次期Firefox4.0で<a href="https://wiki.mozilla.org/Firefox/4.0_Windows_Theme_Mockups#Version_B_-_Tabs-on-Top">「Google Chrome風」の上タブになるっぽい</a>のでw</p>]]>
    </content>
</entry>

<entry>
    <title>PHPでXMLパーサすると文字化けする場合の対処法</title>
    <link rel="alternate" type="text/html" href="http://www.infinity-dimensions.com/blog/archives/phpxmlparserbug.html" />
    <id>tag:www.infinity-dimensions.com,2009:/blog//2.518</id>

    <published>2009-08-21T09:42:29Z</published>
    <updated>2009-08-21T12:25:55Z</updated>

    <summary>XMLデータ→XMLパーサ(PHP)→JSONデータ→Ajaxみたいな、出力するまでにえらい長い経由でたどり着く流れを作っております。 一通り出来上がって各種ブラウザで動作確認していたのですが、IE(...</summary>
    <author>
        <name>芳賀　裕一郎</name>
        <uri>http://www.infinity-dimensions.com</uri>
    </author>
    
        <category term="トラブルシューティング" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="php" label="PHP" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.infinity-dimensions.com/blog/">
        <![CDATA[<p>XMLデータ→XMLパーサ(PHP)→JSONデータ→Ajaxみたいな、出力するまでにえらい長い経由でたどり着く流れを作っております。<br />
一通り出来上がって各種ブラウザで動作確認していたのですが、<strong>IE(Internet Explorer)の時だけなぜかJSONデータを読み込めない</strong>エラーが！<br />
毎度IEには泣かされます...</p>

<p>トライ＆エラーを繰り返しつつ原因を探って行くと、PHPでXMLパーサしてJSON形式に変換した段階で「?????」とか「��(&lt;?&gt;みたいなマーク)」のように<strong>一部データに文字化け</strong>が発生しているのが原因と突き止めました。<br />
どうやらIEではJSONデータに文字化けがあると読み込めないようです。</p>

<p>過去の経験上、文字化けの発生の原因は文字コードがあってない場合がほとんど。<br />
でも今回はXMLデータからAjaxまで一貫して「UTF-8」で揃ってるハズなのでナゼ問題があるのか皆目見当がつかない...。</p>

<p>困った時にはGoogle先生！というワケでググりまくったらやっぱり原因ありました。<br />
</p>]]>
        <![CDATA[<h2 class="asset-subname">xml_parser_create()で文字エンコーディングを明示する</h2>試行錯誤の段階ではPHPの内部エンコーディングをいじったりしたんですがどうも違ったらしいですw

<blockquote cite="http://code.nanigac.com/source/view/262"><a href="http://code.nanigac.com/source/view/262">codeなにがし::PHPのxml_parse()が文字化けする場合の対策</a>

<p>xml_parse()に渡すデータがちゃんとUTF-8であっても、php.iniでmbstring.internal_encoding = EUC-JPに設定している場合などには、xml_parse()した結果が文字化け(というか単なる?????の羅列で、文字ですら無い状態)することがあります。</p>

<p>この場合、xml_parse()に渡すデータがちゃんとUTF-8であっても、php.iniでmbstring.internal_encoding = EUC-JPに設定している場合などには、xml_parse()した結果が文字化け(というか単なる?????の羅列で、文字ですら無い状態)することがあります。</p>

<p>この場合、</p>

<pre name="code" class="php">xml_parser_create('UTF-8')</pre>のように明示的にエンコーディングを指定してやることで、正しく処理されるようになります(現象を確認したのは Debian Sarge の PHP 4.3 です。未確認ですが、PHP 5 の場合には、そもそも文字化けしないかもしれません)。</blockquote>そんな指定できるんだ！
という事で指定された通りにXMLパーサの生成したら文字化け解消しました♪

<p>PHPのリファレンス本読み返したらxml_parser_create()に文字エンコーディングの指定ありました...。<br />
何も指定しない状態だと「ISO-8859-1」がデフォルトになってるようです。それが原因で文字化けするんですね。</p>

<p>よくあるXMLパーサの解説例なんかでは大概「xml_parser_create()」という風に文字エンコーディングを明示してない場合がほとんどなんで全然気づきませんでした。<br />
やっぱりリファレンスとかちゃんと呼んでおかないとダメですね～</p>

<p>ちなみに他のエンコーディングに「US-ASCII」も指定可能です。<br />
って3種類しか無いのか！</p>]]>
    </content>
</entry>

<entry>
    <title>「Google AJAX Libraries API」でjQuery UI等がうまく動作しない場合の対処法</title>
    <link rel="alternate" type="text/html" href="http://www.infinity-dimensions.com/blog/archives/google-ajax-libraries-api-bugfix.html" />
    <id>tag:www.infinity-dimensions.com,2009:/blog//2.517</id>

    <published>2009-08-21T00:55:19Z</published>
    <updated>2009-08-21T02:07:45Z</updated>

    <summary>前に紹介した人気Ajaxライブラリ群を手軽に使える「Google AJAX Libraries API」ですが、このAPIを使ってjQuery UIなんかの動作テストしていたのですがどうにもうまく動作...</summary>
    <author>
        <name>芳賀　裕一郎</name>
        <uri>http://www.infinity-dimensions.com</uri>
    </author>
    
        <category term="トラブルシューティング" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="ajax" label="Ajax" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="google" label="Google" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.infinity-dimensions.com/blog/">
        <![CDATA[<p>前に紹介した<a href="google-ajax-libraries-api.html">人気Ajaxライブラリ群を手軽に使える「Google AJAX Libraries API」</a>ですが、このAPIを使って<a href="http://ui.jquery.com/">jQuery UI</a>なんかの動作テストしていたのですがどうにもうまく動作しない現象が。</p>

<p>ドラッグ＆ドロップを実現する<a href="http://jqueryui.com/demos/droppable/">「droppable()」</a>の指定で、オブジェクトをドラッグしたときにドロップ先のオブジェクトのCSSを書き換える<strong>「activeClass」と「hoverClass」のオプションを指定しているのに動作しない</strong>という現象がありました。<br />
何度も設定やソースを見直しても問題が見当たらず...。</p>

<p>いろいろ試行錯誤した結果、「Google AJAX Libraries API」でしたAjaxライブラリのバージョン指定がイマイチだったようですw<br />
</p>]]>
        <![CDATA[<p><br />
<h2 class="asset-subname">ワイルドカード機能をガッチリ使う</h2><a href="http://code.google.com/intl/ja/apis/ajaxlibs/">「Google AJAX Libraries API」</a>で読み込むライブラリの指定を行うのですが、ここでjQuery UIを呼び出す場合</p>

<pre name="code" class="js">&lt;script type=&quot;text/javascript&quot;&gt;
	google.load(&quot;jquery&quot;, &quot;1.3.1&quot;);
	google.load(&quot;jqueryui&quot;, &quot;1.5.3&quot;);
&lt;/script&gt;</pre>という風にバージョン指定をするワケですが、折角なんでワイルドカード機能を使ってバグフィックスバージョンを自動アップデートする様に指定。

<pre name="code" class="js">&lt;script type=&quot;text/javascript&quot;&gt;
	google.load(&quot;jquery&quot;, &quot;1.3&quot;);
	google.load(&quot;jqueryui&quot;, &quot;1.5&quot;);
&lt;/script&gt;</pre>と指定して満足しておりました。ところがうまく動作しなかった原因がどうもこのバージョン指定にあったようです。
試しにワイルドカードを極端に設定し直して動作テスト。

<pre name="code" class="js">&lt;script type=&quot;text/javascript&quot;&gt;
	google.load(&quot;jquery&quot;, &quot;1&quot;);
	google.load(&quot;jqueryui&quot;, &quot;1&quot;);
&lt;/script&gt;</pre>う...動いた！！

<p><a href="http://code.google.com/intl/ja/apis/ajaxlibs/documentation/#AjaxLibraries">「Google AJAX Libraries API」の対応ライブラリ一覧</a>に掲載されているバージョンにしか対応していないもんだと思っていたのですがどうも違うようです。<br />
勝手な思い込みってコワイですね...。</p>]]>
    </content>
</entry>

</feed>
