目次
10-02 サーバー不調
10-02 Write Once ...?
えーっと、サーバー不調で4日近くもWEBが停止していました (^^;;
不調の原因もケアレスミスなら、4日も気づかなかったのもケアレスミス。
WEB 以外にもサーバー不調の影響は及んだようで、知人から「メールサーバー止まってるみたいだよ」と指摘を受けてはじめて気づきました。
どうやら、不調の原因は RedHat Linux のup2date。
これは Windows の「Windows Update」みたいなもので、最新のプログラムを探し出し、取って来てインストールしてくれるコマンド。今までにも何回かアップデートをして問題なかったから今回もそのつもりで使ったのだけど…
アップデートで大量にファイルを入れ替えたのですが、その際にディスクに不整合が起こった(?)ようで、ディスクアクセスが不調となりました。それがメールサーバー停止の原因の模様。
再起動したら、fsck しろ! とシステムに怒られました。fsck は、おかしくなったファイルシステムを修復するためのツール。結構時間がかかり、報告が山ほど出ましたが無事修復に成功します。
再起動したところ、無事起動しますが、何か変です。
サーバーはルーターとしても動いているのですが、外に見に行くことが出来ません。
なにか設定をおかしくしてしまっているらしい…
こういう問題は google で検索すれば解決することが多いのですが、そもそも外に出られないので自力解決します。
3時間くらい悪戦苦闘して、やっと解決。今後同じ問題が起こらないように、再起動時に正しく動作するように設定を直します。
WEB を見てみます。変です。ぐちゃぐちゃのプログラムの一部が見えます。
うーん…この問題はとりあえずおいておいて、qmail の設定。
qmail もdaemontoolsで起動するように設定を変えてしまいました。これなら何かあっても安心です。
さて、WEB がおかしい原因究明。
調べるのに時間がかかりましたが、どういうわけか、PHP の「古い」バージョンを入れられてしまったようです。
まぁ、PHP は RedHat標準の RPM (インストーラ)を使わず、手動インストールしていたので新旧が認識できないのは仕方ないのかもしれません。
古いことよりも、PHP の設定を標準とは変えていたので、「普通の」PHP を入れられてしまったことで WEB が機能しなくなってしまったのが問題でした。
せっかくなので最新版の PHP …は、日本語関係にバグがあると言うので、一つ前のバージョンを入れます。
入れなおしたらうまく動作するようになりました。
結局、今日はサーバーの設定だけで1日終了。
仕事をしなくてはいけないのだが、コンピューターのトラブルは時間ばかりかかっていけない。
同じテーマの日記(最近の一覧)
関連ページ
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
1年半ほど前に作った i-mode 用の Java アプリを元に、AU 用のバージョンを作っている。
Java は Write Once, Run Anywhere (一度書けばどこででも動く)をキャッチコピーとして登場してきた。
しかし、実際には Java の実行環境(JavaVM)の実装の違いなどから、「Write Once, Test Anywhere」(一度書いたら、あらゆる場所でテストしろ)などと揶揄されてきた。
まぁ、今回も i-mode と AU の違いがあるのでそれなりの修正は必要だろう、と考えてはいたのだが…
小型機器用の Java 実行環境を KVM と呼ぶ。Kiro byte で動く JavaVM の意味だ。
実際には、Java は実行環境とともに「クラスライブラリ」というものが重要となる。
KVM と組み合わせるには、CLDC と呼ばれるライブラリ群を使う。
i-mode も AU も、KVM + CLDC を基本としていることに変わりはない。
携帯電話用に、CLDC に加えて使うライブラリを MIDP という。
これは、性能も解像度も低い携帯の画面で使うことを想定した、入出力ライブラリだ。
i-mode が Java 対応した時、MIDP はまだ開発中だった。そのため、DoCoMo は MIDP ではなく、独自のライブラリ群を使った…と、表向きには語られている。
しかし、MIDP をベースとして作られたものなので、大きな違いがあるわけでもない、とも語られている。
しかし、ぜんぜん違う。
i-mode では、画面出力を基本的に「HTML 互換」としていた。
i-mode で WEB は見られるのだから、その部品を使う分には難しくないという、非常にもっともな考え方だ。
以上が、i-mode の Java で使える主要な入力部品だ。
しかし、MIDP では、最後の2つ、ドロップリストとボタンがない。
ボタンに関しては通常は一連の入力に1個あればよいもので、携帯電話についているボタンに機能を割り振ることは可能なのでなくてもそれほど問題はない。
問題はドロップリストだ。
というようなインターフェイスを作ることが出来ない。こんな単純なことをラジオボタンで表現すると
という、非常にうざったい画面になってしまう。
実のところ、グラフィックを表示する画面はあるので、最悪の場合「すべてを自前で作る」と解決方法はある。
ただし、この場合文字入力と共存することは出来ない。グラフィック画面ではボタンの入力を直接知ることが出来るかわりに、文字入力が出来なくなるのだ。
加えて言えば、目に見えない「裏」の部分もずいぶん変わっている。
Java では、ユーザーの入力に即時に答えられるような割り込み機能を「Listener」と呼ばれる仕組みで実現している。
i-mode の Java では Listener が豊富に用意されていた。MIDP ではほんのわずか。
たしかに、同じようなことは出来るようになっているのだが、豊富に用意されているほうが使いやすいことは事実。
また、画面表示がらみだが、Font に関する設定も i-mode のほうが柔軟だった。Font というのは奥の深い世界で、英語の場合文字の位置は「ベースライン」を基準として考えられる。
文字は、 1. 文字の高さ 2. 文字の幅 3. 文字の、ベースラインより上の高さ 4.文字の、ベースラインより下の高さ の4つの「サイズ」がある。
i-mode では、すべてを知ることが出来た。長い文字列を指定のドット数以内で表示する時、どこで折り返すと良いかを調べる命令まであった。
しかし、AU では「ベースラインより下」を知ることが出来ない。高さから「上」を引き算すればわかるが、余計な手間がかかる。
折り返し位置も教えてくれない。任意の文字列が何ドットになるかという「幅」は教えてくれるので、少しづつ文字の長さを変えながら自分で調べることは出来るが、これも非常に余計な手間だ。
うむむむむむむむ…
最近、i-mode の Java は「MIDP がまだ出来ていなかったから」独自仕様にしたのではなく、「MIDP があまりにもダメだから」独自仕様にしたのではないかと疑っている。
だとすれば、それに気づかずに MIDP を導入した AU/J-Phone は…
同じテーマの日記(最近の一覧)
関連ページ
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |