2006年2月アーカイブ

カレンダー: 2006年2月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28        

週末は新規エントリー作成ではなく、テンプレートの修正などして、ブログのナビゲーションメニューの追加などをしていました。

基本的には検索や更新情報などで「たまたま立ち寄ってくれたひと」に、引っ掛かったページ以外のほかのページも見てもらうにはどうすればいいかということを、あれこれ考えながらテンプレートをいじっていた訳です。

最初に訪れたページから他のページを見てもらうためには、他のページへのリンクを置かなければなりませんが、何処に何を置くのが効果的でしょうか?
自分が「たまたま立ち寄ってくれたひと」だったらと仮定して考えて見ることにします...

まず、立ち寄ってくれたひとは「書かれたエントリーの内容に興味を持って来てくれた」と思うので、まず「本文を読む」というのが最初に取る行動だと思われます。
つまり、そのサイトの構成とか他にどんなことが書かれているかなどは、本文を読み終わってから考えるのではないかと思う訳です。

これがよくある心理だとすれば、本文が終わったあたりに、他のページへのナビゲーションを置くのが効果的ではないかと考えられます。

これに従い、個々のエントリーページにナビゲーションセクションを追加します。
このナビゲーションセクションには、そのエントリーのカテゴリー一覧へのリンクと、そのエントリーの投稿月のアーカイブへのリンク、前後のエントリーと、新着エントリーという名目でトップへのリンク。及び全エントリー一覧へのリンクを置きます。

さらに月やカテゴリーアーカイブなどにも下に、似たようなナビゲーションを作成していきます...

続けてナビゲーション以外で効果がありそうなことを考えます。
私のブログは、カテゴリーを意識して書くことが多いので、来訪者をカテゴリーアーカイブに誘導できれば、他のエントリーも読んでくれる気がします。
でも、Movable Typeが初期作成するテンプレートは、あまりカテゴリーを重視していないようで、カテゴリーアーカイブを表示させない限り、そのエントリーがどのカテゴリーかすら分からない状態です。

これでは、カテゴリーアーカイブを見てくれる可能性は薄そうなので、とりあえず、個々のエントリー表示部分などでも所属するカテゴリーを表示させて、カテゴリーアーカイブへのリンクを設置してみます。

さらに、トップページの最後に「カテゴリーの説明」として、各カテゴリーの説明と分類されているエントリー数、最後に投稿されたエントリーの情報を表示させるセクションを追加します。実際のところ、今ぐらいのエントリー数では、どれぐらいのひとがカテゴリー情報まで移動して目を通してくれるかはちょっと謎な気もしますが、今後エントリーが増えてくれば、重要になってくるのではないかと期待しています....

最後に付けて頂いたコメントの扱いを改善します。
初期状態では、頂いたコメントは、コメントの付いたエントリーページのみでしか読めないのですが、それではせっかくコメントしてくれたひとに申し訳ないので、全てのページに表示される右メニューに新着コメント 3件の情報を表示するとともに、トップページに、掲示板風の新着コメント表示セクションを置いてみます。

その他、月のアーカイブにカレンダー表示を追加したりとか、土日の休みをつぎ込んでカスタマイズしただけに、細かいのも入れればここに書ききれないぐらいの修正を加えてしまいました。(^^;;;;;;

まぁ仕事でやってる訳でないので、効果なくても自分が「orz」だけで済むのですが、やっぱり効果が出て欲しいところではありますね...

日曜日に京ぽん2 WX310Kを購入したときといっしょにヨドバシで購入したものがあります。

OMRON HV-F127です。
いっしょに購入したといっても HV-F127は、コンピュータでも通信関連機器でもなく、「低周波治療器」いわゆるひとつの肩こり対策グッズです (たまたま同時に買っただけ)。(^^;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

仕事柄か、体質か、以前から肩こりには悩まされていたんですが、-- 最近はブログ書きがさらに輪をかけているという気もしますが (^^;;; -- 出来ればなんとかしたいなぁとは、ずっと思ってました。でも特に趣味的興味が持てる分野でもないので、深くチェックすることもなく今に至るという感じでした。

実際、最近まで低周波治療器は名前ぐらいは聞いたことはあったものの、具体的に(何の)低周波をどういった原理で何の治療に使うのかとかいうことも良く知りませんでした。(^^;;

ネットを探せば低周波治療器のハードウェアや動作原理などは、低周波治療器の感電特性といった非常に参考になるページがありますし、別にここで健康グッズとしての低周波治療器のレビューを書きたいわけでもないのですが、試してみながら、くだらないことをいくつか考えたので、平日のブログの埋め草に、ちょっと書いてみようと思ったわけです。(^^;;;;;;;

さて、肩こりという問題がある場合、一般的な対策としてはマッサージをするでしょう。プロのマッサージ師に頼むか、子供とか孫の肩たたき券を利用するか、マッサージチェアみたいな機械を利用するか、自分の手で叩くかといったように、手段はいろいろ考えられるものの「外部からの力により患部を物理的に叩く」ということにはかわらないと思います。(話がそれるので、肩こり対策として温泉とか鍼灸とか寝るとかビタミン剤とかは考えないことにします (^^;;)

低周波治療器は、イメージ(偏見)では電気のビリビリで刺激しそうですが、実際は違って、低周波で筋肉をドライブすることで、揉んだり叩いたりするのと同じ効果を得ます。(実際使ってみると、本当に叩かれているとしか思えない感じだったりします)

マッサージ器は、「揉むにしろ、叩くにしろ、外部の動力がなければ作れない」というのを、低周波治療器は「患部には当然存在する筋肉を、低周波という微弱な力でドライブすることでパワーを出す」という発想の転換により、電極と発信器のみの動力なしで実現しています。
これは「社内に大きな開発リソース維持する以上、クローズドに作って売るのが当然」という、従来型のソフトのビジネスモデルと「オープンに開発することで、元来利用者サイドである外部のコミュニティの力を利用し、会社はサポートなどの付加価値だけで儲ける」という OSSのビジネスモデルの関係にちょっと近いのかなぁと思ったりします。

# さすがに、ちょっと飛躍しすぎかな。(^^;;;;;;;;;;;;;;;;;;;;;;

でも、外部から叩かない分、マッサージ後のダメージが残りにくい感じですし、直接筋肉を動かす分、深いところまで効果が及ぶ気がするところなんかも、OSSに近いのかなぁと思ったりします。(^^;;;;

以上、タワゴトでした...

WX310K購入

カテゴリ: 京ぽん・WILLCOM
| | コメント(0) | トラックバック(0)

今日、近所のヨドバシにて、初代京ぽん(AH-K3001V)を、京ぽん2(WX310K)に機種変更してきました。どの色にするかは最後まで悩んだんですが、結局一番最初にモックを見たときに良いと思ったノーブルピンクにしました。
ピンクといっても彩度が低くてメタリックなんで、全然女の子ぽいピンクではないのですが、それでも「もっさいオヤジがピンクかよ。」という心の声との葛藤は購入直前まで続き、最後は売り場の女性の「私もこれが一番いいと思いますよ~。女の子ばっかりってことはなく、男女比も半々ぐらいで出てますよ。」という声に背中を押されて決断してしまいました。(^^;;;;;;;;;;;;;;;;;;;;;;;;;

部屋に帰り、初期充電状態のままでオンラインサインアップの操作をしていたら、あっという間に電池残量ゲージが 1になってしまいました。まぁ、仕方ないかとあきらめて、ちゃんと充電することにします...

で、充電完了まで、ちょっと暇になったので、その間にブログの更新をしておきます。

今まで使っていた初代京ぽんは、運良く発売当日に手に入れることが出来たんですが、買った直後にやったことは、当時流れていた Windows以外では使えないんじゃないかという噂の真偽を確認するべく、常用していた Vine Linux 2.6を入れた LOOXに接続しての動作確認でした。Linuxからモデムとして認識しないと、当時の目論見がいろいろ崩れてしまうからなのですが、本体の機能チェックもそこそこに、なんとかLinuxから使用出来るようにならないかといろいろ試したりしていました。
この作業、当時は 2ちゃんねるを中心にお祭り騒ぎだったりしたこともあって、かなりハイテンションで進めたりしたのですが、今回は、打って変わってLOOX 後継に買ったノートPC(Mebius MP50G)は 未だ Linux化せず、WX310Kの方もマニュアルをざっと見たところ、ちゃんと 標準の CDC準拠で使えるモードもありそうという状況なので、Bluetoothとか、試してみたい機能はいろいろあるものの、まぁゆっくりやればいいかなと思っています。

発売から日もたっていて、必要な情報は既にネットに出揃ってそうですし、今回の新機種では話題の主役は、やっぱり W-ZERO3なんでしょうね。

# 私はあの大きさでパスしましたが...(でも Linux Zaurusベースならもう少し心が動いたかもしれないなぁ)

・・・充電がまだ終わらないので、京ぽん2まとめwikiで情報を仕入れておくことにします...

ふむ。miniSDは、メーカーや型で相性があるのかぁ。買う前にもう一度確認の必要あり、と。
ファームは、12月に更新されてそれが最後か。
後は、Tipsとか要望関係かなぁ。一通り触ったら、もう一回チェックしよう...

さて、充電も完了したようなので、いよいよ京ぽん2を使ってみます。
その前に、ファームを確認します。京ぽん2からは、本体だけでアップ作業が可能になっているようなので、メニュー ⇒ 機能 ⇒ その他 ⇒ その他設定を選んで、一番下にあるソフトウェア更新を実行します。

・・・どうやら既に最新のファームのようです。OK。

次に機種変更のとき、アドレス帳は移行してくれたのですが、ブックマークまでは出来ないようなので、Windowsからユーティリティを使って移動します。
まず、初代京ぽんのブックマークを読み込み、続いて京ぽん2のを読み込みます。そうすると、両方の内容がマージされたような状態になるので、フォルダ順に並べ替えて、00のオフィシャルと、01の公式分から古いものを削除するか別のフォルダに移動します。
終わったら、京ぽん2に書き込みます。フォルダ名は持ってこれないようなので、京ぽん2のメニューから変更します...

ブックマークが持ってこれたら、Operaを起動して適当に接続してみます。

・・・なるほど、結構快適になっている感じです。

ついでに高速化サービスも ONにしてみます。
京ぽんの Operaは、結局必要に迫られないと使っていなかったんですが、これならちょっとした暇つぶしでも OKかもしれません。
もっとも、移動中の時間は新聞か文庫本の未読消化にあてることが多いので、本気で活用するには自分の生活パターンから見直す必要がありそうですが...(^^;;;;;

非力だ非力だと随分書いてしまった OpenBlockS266ですが、実際どれぐらいの性能なんでしょう?
まじめにベンチする気はないものの、ちょっと気になったんで BogoMIPSを見てみます。

% cat /proc/cpuinfo

processor : 0
cpu : unknown (50910951)
clock : 266MHz
revision : 9.81 (pvr 5091 0951)
bogomips : 266.24
machine : OpenBlockS266
plb bus clock : 133MHz
pci bus clock : 33MHz

FAQに CPUの種類が違えば比較することに意味はないと書かれていますが、まぁネタとしては面白いんで、昔のPCならいつぐらいのものにあたりそうかを調べてみます...(^^;;;;

おおよそ、Pentium Pro 200~PentiumII 300MHzぐらいのマシンと同じぐらい?
1997年~98年ぐらいのころの話 (NECが まだPC-98NXとかいってたころ)ですね。
PowerPC搭載機なら、99年ぐらいの iMacぐらいでしょうか。

まぁ、その当時はメモリは 32MBぐらいが普通で、64MB搭載すれば高スペックといった感じだったことを考えると、128MBメモリを実装されている OpenBlockS266は、その頃の PCより恵まれている気もしますが、現在のサーバ用の、その当時よりはメモリ喰いの重いソフトを動かされることが多いということを考えると、ちょっと可哀相なのかもしれません。

Googleで BogoMIPSを検索してみたら、いくつか BogoMIPSの測定値を見つけることが出来ました。

例え、その数値に、バーコードバトラーの能力値なみに実用的な意味がないとしても、自分のモノを闘わせて優劣を競うのが楽しいという少年の本能の残骸の赴くままに比較してみることにします。(^^;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

「月夜さんとDebian GNU/Linux」のBlogに書かれている情報を見ると、ライバル?玄箱HGよりはちょっと速いけど、Linux Zaurusには全然負けてる感じみたいですね。また別のページを探すと白箱(LANTANK)は 266ぐらいの値のようなので、同じぐらいの性能なんでしょうかね。(白箱は SH系みたいなんで単純比較は出来ないですが)

色々気になってきたので、Transmetaの Crusoe TM5400(533MHz)を搭載した初代 FMV BIBLO LOOX S5/53に Vine Linux 2.6を載せたやつを引っ張り出して見てみると「1058.40」。なかなかの数字を叩き出します。コードモーフィングは、この手の処理にはめっぽう強いんでしょうねぇ...まぁ BogoMIPSが実用上の性能に比例しない例としてあげるには最適かもしれません。(^^;;;;;;;;

昨日の続きで、Sun Studioの話...
業務で使うかどうかは微妙なんだけど、せっかくなんで IDEを起動してみることにします。(^^;;;;

% sunstudio
Assertion failed: offset < fFileSize, file ../../../src/share/native/sun/awt/font/fontmanager/fontobjects/fontObject.cpp, line 418
/opt/SUNWspro/bin/sunstudio: line 1: 1804 Abort (core dumped)
-- 以下略 --

あれ?
なんか昔も見たような嫌なエラーが出ます。orz
Googleで検索したけど、特定の状況ででる訳ではないようで、手がかりなしです。

フォント関係のエラーだとすると DISPLAYが linuxなのがいかんのかなぁ...とか考えます。うぅ

設定してないので、VGA(640x480)でしか上がらない VMWareのコンソールだけど、エラーの原因切り分けぐらいは出来るだろうと思い、 Xをあげて確認してみます。

/etc/init.d/dtlogin start

CDEからログインしてやってみます...
微妙に違うエラーの気もするけど基本的に変わり無し...orz

・・・いっそ、開発マシンの Sunの生コンソールからやってみるか・・・

誘惑が頭をよぎるけど、今のところ業務は直接関係ないのでちょっと憚られます。(^^;;;;
VGAだと、画面が小さすぎてエラーになるのかとも思い、代わりにVNCでつないで起動してみたりもしたけど NGでした。 orz

だいぶん煮詰まってきて、/opt/SUNWspro/bin/sunstudioを、lessで見て Hackしてみたりもしたけどいまいちヒントがありません。
Javaのバージョンに問題があるのかなぁと思い(SunStudio同梱の JDKのはずなんだけどねぇ)インストール時に使用した最新版を --jdkhomeで指定してみます。が、うまく認識しません...orz
/opt/SUNWspro/prod/jdk_chooserとかも Hackしたりしながら、原因を考えます。

うまく認識できない方の原因はJDKではなく JREをインストールしていたからだとわかりました。(恥)
# jdk_chooserが javacがあることをチェックしていたんで、JREでは認識されなかった。

それならと、JDK1.4.2_10を落としてみます...が、エラーが出ることは変わらない...orz

これでだめなら、もう止めと最後に jdk1.5.0_06を落として試してみます...

% sunstudio --jdkhome /usr/jdk/jdk1.5.0_06 &

お、なんか起動中のダイアログが出ます。あ、IDEらしきウィンドウが表示されました。
やた。(^^)v

結局、起動にさせるのに3時間もかかってしまいました。まぁ、うまくいかなかった本当の原因は不明なんで、私の環境だけかもしれませんが。むぅ。

疲れたので、続きは後日...にしようかとも思ったけど、気分が良くなったのでもう少し続けます。(^^;;;;;

とりあえず、昨日コマンドラインからコンパイルしたアレを IDEから開いてみることにします。
ファイルメニューから...あれ?...既存の環境をインポートできそうなメニューがありません? Welcomeを見ると、チュートリアルがあるので少し眺めてみます...書かれた手順を順番にやると、基本的な作業をざっとできるようなチュートリアルを期待したのですが、単に概要説明のようです...orz

仕方ないので、流し読みします。
・・・「ファイル」にある「ファイルシステムのマウント」というのが、既存の環境を開くメニューのようです。
なんで、IDEから ファイルシステムのマウントができる必要があるんだとは思ったんですが、まさかそういう機能のことを示しているとは思いませんでした。てか、誰もそんな機能だと思わないと思うけど。> Sun

さて、開けたのはいいんですが、私自身は emacsから、M-x compile, M-x gdbで十分快適だと思うひとなので、ここからなにを評価するべきかがイマイチぴんと来ません。 (^^;;
とりあえず、外部エディタとして、最初から XEmacsと GVimが入っているみたいなので、エディタを変えて開いてみたりします。

XEmacsは、専用の ELispも入っているようで、専用メニューがあって、ちゃんと IDEと連携できるようです。(ちょっと関心)

構築とかデバッガ関係は、また後日、気が向いたときにということで、今日はこの辺で引き上げます...ふぅ

今回も、仕事としてやった話。

うちの職場では業務で Sunのアプリケーションを開発するときは、Sunの純正コンパイラである Forte 6(Workshopコンパイラ)を使用していたのですが、Sun Studio11が無料になったのを機会に、ずっと滞っていたアップグレードを試みることになりました。(^^;;;;;

で、そのときの記録です。

まず SunのサイトからSun Studio11のアーカイブをダウンロードします。(Sunのダウンロード用のアカウントが必要)

実際に業務で使うのは SPARC用なのですが、最初の確認作業は例によって VMWare上に入れた x86用の Solaris9で行ないたいので、x86版もダウンロードします。

SPARC版のサイズは 600MB強, x86版も 300MB以上あるので、会社の回線を使用して日中からやるのもどうかと思ったのですが、上司の GOが出たのでやってしまいます。(^^;;;;;;;;;;;;

アーカイブのダウンロードが済んだら展開します。ついでにドキュメントも落として、PDF版のインストールガイドを見ながら作業を開始します。

とりあえず、適当に ./installerをやってみたら、エラーになりました。orz

仕方ないので、インストールガイドを読むと J2SE 1.4.2_08, J2SE 5.0 Update 3以降が必要なようです。
javaのダウンロードページで、最新の J2SE 5.0 Update 6と OSパッチをダウンロードしてインストールします...

終わったら、気を取り直して ./installerを実行します。今度は GUIのインストーラが起動しまうす。OK。
進めていくと、Javaの開発環境もインストールされるようです。(Sun Studioだから当然かもしれないけど)

でも、それなら「わざわざ準備で Java環境のアップグレードさせるなぁ~」といいたいです。(^^;;;

この辺が Sunの(ry
# まぁ、それ以上の問題はなくインストールは終了したので、それ以上は追求せずに次へ進みます。(^^;;;;;;;;;;;;

とりあえず、仕事なので給料分の義理を果たすべく、仕事で書いたプログラムを Sun Studio 11でコンパイルしてみます。

まず、configure...
./configure --with-sunws=/opt/SUNWspro

サポートしていないバージョンだといわれてしまいます。
修正しないといけないけど、ちゃんとバージョンチェックしてたんでちょっと関心... (^^;;;;;

Oracle Instant Clientに引き続き、また configure.inを修正します。

バージョンチェック部分の修正のために、Sun Studio11の ccはどんなバージョンを返すのかを cc -Vで確認します。

cc: Sun C 5.8 2005/10/13

ん? 5.8? なんで 5.8なんだ?
長く使ってなかった間にバージョンの付与規則も変ったみたいです...

まぁ、経緯は分からないけど、「Sun C 5.8」だというのなら、それを Sun Studio11とみなすことにします。

で、修正して、autoconfして、再度 configure, 終わったら makeしてみます。
例によって、Oracleが無いのでエラーになるけど、それ以外はうまくいくみたいです。

せっかくの Sun Studioなのに、IDEを起動する前に終電になりそうです。(^^;;;;;;;
続きはまた後日...

Movable Typeのデフォルトでは、カテゴリーアーカイブや月ごとのアーカイブは、全ての記事を、単にそのまま並べただけの構成になっています。この構成だと量が増えたときに見通しが悪いので、一覧的な画面をテンプレートのカスタマイズで作成してみることにします。

とはいったものの、今までやってきたテンプレートのカスタマイズは固定の CSSやHTMLの箇所の修正だったり、既存テンプレートからのコピペだけだったので、テンプレートの文法まで踏み込んで調べたことはありませんでした。Googleで探すと HOWTO系のページはいくつか HITするものの、個人的に満足出来るページが見つからなかったので、諦めて公式リファレンスを読むことにしました。

・・・基本的にテンプレートの変更は、データを展開して HTMLを作成するときの制御情報や置換情報を記述するために追加された独自のタグを理解すれば出来そうです。タグの数は結構あるみたいですが、元になるテンプレートがあればそんなに難しくもなさそうです。

やることが把握出来たら作業にかかります。

修正の方針は、アーカイブ画面は一覧化ということで検索サイトの検索結果ライクな画面し、元の全てのエントリーが並ぶ画面は一覧画面に「全てのエントリーの内容を表示」といった感じのリンクを設置することにします。

最初に、元の日付とカテゴリーのアーカイブテンプレートをコピーして、新たに「一括表示アーカイブ」というテンプレートとして保存しておきます。次にアーカイブのテンプレートを一覧化します。MTEntriesタグで囲んでエントリーを列挙する基本は変わらないので、その中を変更していきます。

最初にタイトルにパーマリンクを設定して表示させます。
<a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a>

タグの中にタグが入れ子になるのが、ちょっと気持ち悪いですが、そういう仕様なので、しょうがないです。(^^;;;;;

続いて、本文の最初の何文字かだけを表示させます。
<$MTEntryBody convert_breaks="0" words="100"$>…

その後に、日付とコメント、トラックバックの情報表示をコピーしておきます。

最後に、適当に divタグで囲って、classを付け、CSSでスタイルを設定します。

テンプレートの修正が出来たら、GUIから Movable Typeに登録されている内容を更新します。ついでに、テンプレートを WWWから /mt-template/ で参照できるように「リンクするファイル」も設定します。(特にアクセス制限はかけていないので 実際のテンプレートを Hackしたい方はご自由にどうぞ...)

テンプレートの登録ができたら、次は Movable Typeが両方のテンプレートを使用するように設定を変更します。システムメニューの設定から公開の設定を開き、下のほうにあるアーカイブマッピングに、一括表示用のテンプレートのマッピングを追加します。

「マッピングを新規作成」をクリックして、「カテゴリ」と「月別」のアーカイブを、新規に登録したテンプレートを指定して追加します。追加できたら「出力フォーマット」を「カスタマイズする」で変更します。月別は、「%y/%m/show_all.html」カテゴリは「%c/show_all.html」にします。これで、一覧の方のアーカイブと同じディレクトリに show_all.htmlという名前で全表示の HTMLが作成されるので、一覧表示のテンプレートの MTEntriesのループの前に、show_all.htmlへのリンクも追加しておきます。

終わったら再構築を実行してサイトに反映します。
後は、納得いくまで調整と構築の繰り返しです...(^^;;;;;;;;;;

職場での話。
以前書いたプログラム(最初に書いたのは 8年ぐらい前)が、RedHat Linux ES4だとエラーになると、同僚にいわれたので、メッセージを確認すると、「too few template-parameter-lists」みたいなエラーが出ている。

他の環境では通っているし、テンプレートのパラメタリストは間違っていないと思うし...
おかしいなぁ。コンパイラが gcc(g++) 3.4.2と新しいから、そのせいかなぁ?

ちょっと腰をすえて調べないと分からなさそうなので、自分の作業用PCの VMWareに 、同じRedHat ES4をインストールしてやってみる...

当然だが、同じエラーが出るので、メッセージをGoogleで調べると、gccの Bugzillaが引っ掛かる。

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17445

おいおいコンパイラのバグかよ。と思って状況の方を確認すると...「Resolution: INVALID」

へ?仕様?仕様なの?特に変な書き方はしていないと思うけど...ダメなんですか?

疑問が増したので、Bugzillaにある議論を読むと、なんか、頭に「template <>」を付けないとだめらしい。
ダメな理由がよく分からないので、ARMとかプログラミング言語 C++のテンプレートのとこを読み直してみる。
でも、やっぱりよく分からない。いまいち納得できないけど、確かにそう変更すればエラーにならないし、古い gcc2.8.1でもエラーにならないから、Bugzillaにあるように修正していく。
# C++のテンプレートは便利なんだけど、仕様が複雑怪奇すぎる...

そうこうしながらコンパイル時のエラーは大体やっつけたものの、最終的には Oracleのライブラリがないとアプリ全体のコンパイルは完了しない。
でも、とりあえず確認のために作った環境に Oracleクライアントのインストールをするのも面倒なので、以前から気になっていた、Oracle InstantClientを試しに入れてみることにする。

まずはOTNのOracle Instant Clientのページからダウンロードする。(OTNのアカウントが必要)

ダウンロードしたZIPを展開して、出来たディレクトリを見てみると、いきなり共有ライブラリファイルがころがっている。

ん?あれ?・・・インストーラーは?ドキュメントは?普通あるべきファイルが見当たらない?

もう一回ダウンロードしたページに戻って探してみると、アーカイブを展開したらインストールしなくても動かせるって書いてある。
・・・動かせるっていったって、tnsnames.oraぐらいは書かないとダメだと思うんだけど、何処に置くんだ?

疑問が増したので、さらにドキュメントを探すと、セットアップガイドという PDFがあったので読んでみる。
・・・「@」の後ろに直接「ホスト名:ポート/サービス名」と書けば tnsnames.oraは不要です。

ふーむ・・・でも、そういえば、逆に最初に Oracle使ったときは、何でいちいち tnsnames.oraにサーバを定義しなければならないんだろ、面倒だなぁと思ったなぁ、慣れというのは恐ろしい... (^^;;;;;;;;;;;

確かにインストール作業が不要なのは楽かもしれないが、これまで書いたアプリの Makefileは、ORACLE_HOMEの場所だけが可変で、その下の構成は固定であることを前提にしていたため、その前提に沿っていない InstantClientの SDKは、 Makefileも直さないと使えない。
結構面倒だが、InstantClientは今後使うこともあるだろうから、この際、ちゃんとconfigure.inから直していくことにする...
なんかトータルでは、結局普通にクライアントインストールした方が早かったかなぁというぐらいの時間がかかってしまったが、まぁ経験値は稼げたから良しとしよう。(^^;;

エントリーもだいぶん増えたので、この辺でテンプレートをいじってのカスタマイズに取りかかってみることにします。

デフォルトの Movable Typeのアーカイブ・テンプレートは、メニューのない「1カラム構成」になっています。今はトップページしか検索にヒットしないので問題ないのですが -- ヒットしないのはそれはそれで問題なのですが -- 今後、直接アーカイブページに飛び込むケースが増えてくると、よほど暇なひとで無い限り、他のページを見ようと思ってくれない気がします。これは、営業的にはよろしくありません。(^^;;;;;;
というわけで、やりたいことはいくつかあるのですが、まずはアーカイブ系の画面にも、右にメニューを表示させる変更に取り組むことにします。

変更が必要な場所を把握するために、とりあえずメニューの付いているメインページと、付いていないカテゴリー・アーカイブのテンプレートを比べてみます。

・・・スタイルシートを全ての HTMLで共通に使用するためか、DOMの構造は似ているようです。

詳しく見ると、bodyの classが、"layout-one-column"が "layout-two-column-right"になるのと、id="beta"で区別されるメニュー用の divが有るだけのように見えます。

お、これなら楽勝?と思い、各テンプレートを "layout-two-column-right"対応に変更していきます。
で、再構築。ちゃんとメニューが付いています。めでたしめでたし...

と思いきや、これだけでは、どうやら新規にエントリーを投稿したとき全部再構築しなおさないと、古いアーカイブのメニューが更新されません。OpenBlockSは、ただでさえ遅いのでちょっと許容できない問題です。(でも、だからデフォルトはメニューなしなんでしょうね。ちょっと納得してしまいました)
でも、こんなところで挫折しては技術屋の名折れです。方法を考えます。解決策として、温故知新で SSI(Server Side Include)を併用してみることにしました。

具体的には以下のようにします。

(1) インデックス・テンプレートとしてメニュー部分(div id="beta")だけを切り出したテンプレートを新規に追加する。(menu.htmlとする)
(2) アーカイブ・テンプレートからは SSIの include機能を使用して、最新の menu.htmlをメニューの場所にリクエスト処理時に取り込む。

まず、Apacheの SSI機能を有効にします。

例によって、Debianではインストールされているものの有効にはなっていないので「a2enmod include」で有効にします。
次に、ブログを展開するディレクトリに「Options +Includes」を追加して、SSIを有効にします。
さらに、SSIを使用するファイルの識別を実行ビットで行わせるための「XBitHack full」も追加します。(メニューの更新のためにキャッシュを無効にするのもどうかと思うので、fullを指定して更新日付を扱うようにしています)

Apacheの設定が終わったら、Movable Typeが作成する HTMLで SSIが有効になるように mt-config.cgiのコメントになっている以下の行を有効にします。(これで実行ビットが ONになります)

HTMLUmask 0022
HTMLPerms 0777

最後に、インデックス・テンプレートとしてメニュー部分(div id="beta")だけを切り出したテンプレートを新規に追加し、アーカイブ・テンプレートのメニュー部分を「 <!--#include virtual="/menu.html" -->」で、SSIを使用して読み込むように変更し、終わったら再構築して確認します...

新規エントリーを追加してからでないと、厳密には確認できないですが、仕事でやってるわけではないので、今までのページがちゃんと出れば、とりあえず OKとします。 (^^;;;;;;;;

「CNet Japanに VMWareの記事を発見しました。」
「・・・」
「ふむ・・・よし、あれを仕掛けてみるか」
「!!」
「危険です。開設1ヶ月に満たない我々には早すぎるのではないでしょうか?」
「リスクを恐れていては何も出来ない。我々はブロガーなのだよ。」
「いくぞ!」「トラァァァック・バァァァァァァァァァック!!!!!」

てなことを考えていたかどうかは謎ということにして、トラックバック送信を設定してエントリーをポストしてみました。(^^;;;;;;

トラックバック自体は、まぁ自動リンク集作成CGIみたいなものなので、発想は昔からあったと思うのですが、これを CNet Japanのような、商用の Newsサイトにまで採用させたというところが、ブログの成果のひとつなんだと考えていたりします。
言ってみれば、パソコン雑誌にもれなく掲載される読者欄があるようなものなので、紙メディアの考え方を引きずっていた時代では考えられない話かなぁと思うわけです。

まぁ今でも日本ではトラックバックできるニュースサイトは多くないんで、まだまだ脱却しきれていない気もしますが、下手に編集者が選択するよりも、読者に任せた方がよくなるという、いわゆる Web2.0的アプローチは、出版社なんかが運営するサイトでは、やはり抵抗が大きいんだろうなぁとは思います。

「Web2.0」という肩書きを与えられて、力を付けつつあるトラックバックですが、例えば Asahi.comなんかにも送信できる日もくるのかなぁとか妄想してみたりします。
そのときは、「ブログの勝利」とかいったタイトルで何か書いてみたいですね。

CNet Japanの記事に VMWareのサーバ版(GSX Server)を無償提供することが近々発表されるとありました。

VMWare Playerのときも驚いたものの、Playerについては EMCに買収されたこともあって、戦略を完全にエンタープライズ・サーバ重視にするんだなぁと思えば、まぁ納得出来たんですが、GSXまでも無償というのは、有難いですが完全に想定外の展開ですね。

VM技術も TCP/IPスタックのように、基本は OSに取り込まれていく流れということなのでしょうか。

※ Windows3.1のころまでは、TCP/IPは Windowsには付いてなく、数社から製品が出ていました。
※ BSD, Linuxは、もちろん、そのころも最初からついていましたが...

VMWareは、Workstationを職場で便利に使ってるんで、贔屓にしているんですが、ここまで、VMWareを追い込んだ(?) Xenも自分で試してみる必要がありそうだなぁという思いが深まったのも事実ですね。(^^;;;;;;;;

しかし、こうなってくると、やっぱり、VT対応の CPUが欲しいかな...

ブログを始める前、私のブログ(システム)に対する認識は「来訪者がコメント可能な日記管理システム。標準でRSSをサポートしていて更新チェックがツールで可能」といった程度のものでした。
たぶん、これも間違った認識ではないと思いますが、この認識だけだったので Web黎明期の「趣味ホームページ作成」との違い、正確には何故、一旦下火になった個人サイトがブログという形になって息を吹き返したかが、いまいち理解出来ませんでした。

で、始めてしばらくして、いろいろ調べているうちにブログの重要な機能をひとつ見落としていることに気づきました。「更新ping」というやつです。(な~んだと思ったひと、大した話じゃなくてすいません (^^;;;;;))
更新pingは、ブログを更新したとき、XML形式でブログの更新情報を集めているサイトに更新を通知する機能で、一般的には(?)ブログのアクセス数アップの手段として紹介されています。確かに更新pingを設定すれば、露出が増えるのでアクセス数がアップする可能性があることは確かなのですが、私はこの機能こそが、ブログがそれ以前の個人サイトの範疇から抜け出せた要因であると確信しています。

つまり、ブログでない普通の個人サイトは、更新しても内容が Googleなどの検索にヒットするまでに数日から数週間かかりますが、ブログなら更新pingがあるおかげで、例えばgoo blogを更新ping送信先に設定しておけば、更新してから 最短5分で gooのブログ検索にヒットするようになります。

この「ついさっき書き込まれたばかりの情報が検索できる」ということにより、それまでは2ちゃんねるやスラッシュドットのような大規模な掲示板系サイトの専売特許だった、ホットな事件に対する個人の意見をすばやく集積するという機能が、個人ページの集合体であるブログでも可能になったというわけです。

私も、このことを理解したため WILLCOMが、W-OAMを発表したときは、ニュース記事を読んですぐにブログ検索をして反響をチェックしましたし、すぐに不特定多数に検索されて読まれると思えばエントリーを書き込むときのモチベーションも自然と上がります。
# 私のブログはほとんど話題のテーマに沿ったことは書いていないですが...(^^;;;;;;;;;

「あ、これは確かにパラダイムシフトなのかもしれないな。」

ちょっと分かった気になっている駆け出しブロガーな私がいます。(^^;;;;;;;;;

携帯から見れないという指摘が某友人からあったので、MT4iをインストールしてみました。

確認は、WX310Kで行っていますが、MT4iの説明によれば、キャリアによらずアクセス可能のはずです。

URLは http://morishoji.homelinux.net/mt/mt4i.cgiになりますが、QRコードが使える方は、右メニューの QRコードでアクセスできます。

なお、PerlのCGIなので、openBlockSではページが表示されるまでに 5~10秒ぐらいかかります。
気長に待ってください。(^^;;

(3/2 メニューからリンク設定にあわせて記述を追加)



ナビゲーション

最近のコメント


最近のコメントを表示...
Powered by Movable Type 4.01