Ubuntu 10.10 の PostgreSQL がノートパソコンで自動起動しなかった

Ubuntu 10.10 の PostgreSQL がノートパソコンで自動起動しませんでした。
原因ははっきりとはわからないのですが、以下の対策で安定して自動起動されるようになりました。

$ sudo update-rc.d -f postgresql remove
$ sudo update-rc.d postgresql defaults 92 21

/etc/rc*.d/ の S19postgresql を S92postgresql に変更して、起動するタイミングを後にずらしました。

CMS は DOM で表現可能であることが望ましい

今、CMS の内部設計を見直しているのですが、どうも DOM でページ構造を表現すると上手くいく事が証明できそうです。

例えば、子ページの順番をソートする場合や、子ページの一覧の先頭に新規ページを追加する場合、順番の数字で管理するより、前後のリンクで管理する方が、更新が必要なデータの件数が一定であるので、特に子ページの件数が多い場合は望ましいと思われます。

DOM で考えると childNodes / firstChild / lastChild / previousSibling / nextSibling です。

しかし、サイトのページが多い場合、毎回まともに XML を読み込んで DOM として処理していては、処理速度やデータがロックされる期間を考慮すると好ましくありません。
なので、あくまでも DOM 的な考え方でページのオブジェクトの設計・実装を行う事になります。

システムで CMS サーバと呼べるようなデーモンを準備して、常に DOM をオンメモリの状態にしておけるのであれば DOM として処理する方が妥当でしょう。

まぁ正攻法以外もあります。

例えば、先頭の順番の数字が 0 だったら -1 を設定するとか。
途中の番号が歯抜けでも問題無ければ、途中を削除しても順番は更新しないとか。
でも、追加とか移動する場合に、順番を大量に更新する必要がある場合もあります。

結局、この記事はただのメモですので、どーでもいい人はスルーしてください。

<index template="template/index.html">
<page type="list" id="1" title="新着情報" updated="2010-12-01 13:25:30" template="template/page.html">
<parts type="html">
<![CDATA[
新着情報一覧です。
]]>
</parts>
<parts type="list" order="new" />
<page type="page" id="3" title="サイトリニューアルしました。"updated="2010-12-05 13:00:00" template="template/page.html">
<contents>
<![CDATA[
サイトリニューアルいたしました。
]]>
</contents>
</page>
<page type="page" id="2" title="サイトオープンしました。"updated="2010-12-01 13:00:00" template="template/page.html">
<contents>
<![CDATA[
サイトオープンいたしました。
]]>
</contents>
</page>
</page>
</index>

Ubuntu 10.10 で NX Free Edition を使う

Ubuntu 10.10 には FreeNX がありません。
Google の開発した NeatX もあるのですが、サーバーがまともにシャットダウンされなくなったりします。

そこで NoMachine の NX Free Edition を使ってみました。

実は、Windows に RDP でログインして VMware で Ubuntu を実行する方がスムーズに動くんですけどね。
それだけ Windows の RDP は優秀ということです。
普段はあまり Microsoft を誉めたりしないんですけど、事実は認めないとね。

NX Free Edition のダウンロード

以下のURLより三つのパッケージをダウンロードします。

NX Free Edition for Linux

nxclient_3.4.0-7_i386.deb
nxnode_3.4.0-14_i386.deb
nxserver_3.4.0-14_i386.deb

NX Free Edition のインストール

以下のコマンドで上記パッケージをインストールします。

$ sudo apt-get install libaudiofile0
$ sudo dpkg -i nxclient_3.4.0-7_i386.deb
$ sudo chmod 755 /usr/lib/cups/backend/ipp
$ sudo dpkg -i nxnode_3.4.0-14_i386.deb
$ sudo dpkg -i nxserver_3.4.0-14_i386.deb

NX Free Edition の設定

/usr/NX/bin/GNOME.sh を作成します。

以下の手順で設定します。

$ sudo vi /usr/NX/bin/GNOME.sh
$ sudo chmod +x /usr/NX/bin/GNOME.sh
$ sudo vi /usr/NX/etc/node.cfg

/usr/NX/bin/GNOME.sh の内容

#!/bin/bash
/usr/bin/xmodmap -e 'keycode 123 = backslash underscore'
/etc/gdm/Xsession gnome-session

/usr/NX/etc/node.cfg の変更部分

CommandStartGnome = "/usr/NX/bin/GNOME.sh"

確実にインストールを完了させるため、サーバーを再起動します。

NX Client for Windows のダウンロード

以下のURLよりダウンロードします。

NX Client for Windows

NX Client for Windows のインストール・実行

ダウンロードしたファイルを実行してインストールします。
インストール完了後、NX Client for Windows を実行して接続してみます。

NX Client for Windows の設定

いったん接続して確認すると、キーボードの配列が英語になっています。
ユーザーディレクトリに .nxconfigセッション名.nxs が作成されていますので、Custom keyboard layout を修正します。

<option key="Current keyboard" value="false" />
<option key="Custom keyboard layout" value="jp" />

Ubuntu 10.10 初期設定用スクリプト

LAMP/LAPP 初期設定を行います。

もうあんまり必要ではないかも知れませんが。
何かの参考になればと思い、アップしました。

インストール直後にターミナルで以下のコマンドを実行します。
sudoコマンドのためユーザーのパスワードを聞かれますので入力してください。

$ wget https://akira.matrix.jp/ubuntu/maverick/setup.tar.gz
$ tar xzvf setup.tar.gz
$ cd setup/
$ ./setup.0

自動的に再起動されます。
再起動後にターミナルで以下のコマンドを実行します。
sudoコマンドのためユーザーのパスワードを聞かれますので入力してください。

$ cd setup/
$ ./setup.1

後半で以下について入力してください。

・MySQL の root ユーザーのパスワード
・Postfix の設定
・Sun Java インストールの確認

後は Eclipse とか、必要なものをインストールして下さい。

何か問題があったらコメントお願いします。

IS03 予備バッテリー到着

事前購入宣言で貰えるはずのバッテリーが、ヤマト運輸で到着しました。
これはコレでありがたいのですが、わざわざ本体のバッテリーを入れ替えて充電する必要があります。
使用と充電が並行して出来ないと、バッテリーが切れた時点で交換できないので不便なんですけれど。

au さんは予備バッテリーの充電器は計画してくれているのでしょうか?

Skype の自動アップデートで英語表記になってしまった

子供が寝付いてパソコンを立ち上げたら、いきなり Skype がアップデートされました。
アップデートが完了して立ち上がったら、何と英語に。

インストールし直そうかと思ったけど、メニューの「Tools」>「Change Language」で「日本語」を選択して、日本語表記に戻りました。

っちゅーか、これ、アップデーターのバグじゃないですか?

IS03とパソコンをUSB接続するには

microSDHCカードは、裏のケースを外し、バッテリーを外さないと取り出せません。
さらに、別途購入したソフトカバーも外す必要がある人が大半だと思います。

ちょっと撮った写真をコピーしたい・印刷したい時に、かなり面倒くさいと思いませんか?

IS03付属のUSBケーブルで、パソコンから充電する事と、パソコンに接続する事ができます。

付属のUSBケーブルで、パソコンにつなぎ、IS03のUSBをカードリーダーモードに設定します。
そうするとパソコンに新しいドライブが表示されます。
この時点では、パソコンでそのドライブの内容を表示しようとすると、「ディスクを挿入してください。」とメッセージが表示され、内容を見ることは出来ません。
IS03のステータスバー → USB接続 → マウント と操作すると、ドライブの内容を見ることができます。

けっこうはまって時間を取られました。