目次
前のページ
2002-06-05 MicroDrive
2002-06-08 クラッカー、再び
2002-06-12 OSアップデート!!
2002-06-13 アップデート完了
2002-06-13 サーバー完全復活
2002-06-24 DJB
2002-06-26 静かな車
2002-07-08 料理バンザイ!
2002-07-16 デジタル放送
2002-07-20 衝動買い
2002-08-03 DVD+R/+RW
2002-08-10 電源不調
2002-08-16 PC再インストール
2002-08-21 ネットカフェ
2002-08-23 DVD作成
2002-08-25 JAVA
2002-09-02 昨夜の追記
2002-09-08 IRC
2002-09-10 求人情報
2002-09-18 Unicode
次のページ
IBM のマイクロドライブ購入。
別にIBM の HDD 部門が日立に買収されて慌てた訳ではないのですが、近いうちにS30用に買おうと思っていたものをネット通販で購入してしまいました。
e-TRENDって店で買ったのですが、1G のマイクロドライブが29,800円。通常の実売価格は4万前後ですから、かなり安いです。
ただし、海外メーカーにOEM供給されたものを再輸入しているので、メーカー保証なし。店での保証は1ヶ月だけです。
朝頼んだら、夕方には手元に届きました。配達方法はいわゆる宅配便と「快速宅配」が選べるのですが、快速宅配のほうが手数料が安く、速く届くという不可思議な状態。
横浜の片田舎に住んでいるので、自分で秋葉に行くよりも早く・安く手に入ってしまうのは便利です。
そんなわけですでに手元にあるわけですが、1Gってのはすごいです。
S30の表示を見ながら書いていますが、非圧縮の生データを記録しても 414枚も入るようです。
JPEG なら最高解像度・最高画質でも 630枚。標準画質なら 1130枚入ります。
実用上はここらへんになるだろうけど、最低解像度・最低画質を選んでみたら 8200枚撮影可能と出ました。
…なんか、すごすぎて 1G を使いこなせるのかどうか不安になってきた。
320x240、秒15コマの動画なら3644秒です。
およそ1時間ちょっと。これなら使える気分になってきたかな…
面白い映像を1時間撮ろうと思ったら結構大変ですけどね。
160x120なら…撮影可能時間が長すぎて表示できないようです。9999秒と表示されています。
まぁ、画素数1/4なんだから、4時間程度でしょうね。映画が2本、デジカメの中に入ってしまいます。
実は、月末に新婚旅行行く予定なんで、行く先々の珍しいものを片っ端から記録してやろう、というのが購入の目的です。
電池は毎日ホテルで充電できるけど、データはおよそ1週間分溜め込めないといけないので。
関連ページ
アラン・シュガートの誕生日(1930)【日記 14/09/27】
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
1ヶ月ほど前に、仕事先のサーバーをクラックされて大騒ぎとなった。
あのときにファイアーウォールをかなり強化し、telnet/ftp ポートなどもすべて閉じて ssh のみのアクセスとしたのだが、今回ふたたびクラックされてしまった。
前回のようなドジなクラッカーではなく、サーバーへの実害は無い。これがせめてものすくい。
しかし、こちらのサーバーを足がかりに別の「弱い」サーバーを探すためのプログラムを仕掛けられていた。
このプログラムが、大量のパケットを発生させたためサービス速度が低下、この時点で異常に気付いた。
まぁ、クラッカーとの戦争はいたちごっこなので仕方が無い。
今回は、大事になる前に気付いたし。ポートスキャンの足がかりにされたことで、こちらが加害者になってしまったことは申し訳ないが、どうもプログラムを入れられて早期に気付いたようなので許してもらいたいところ。
比較的古い PHP を使っているのが不安でもあるので、これをどうにかしようと言うことになった。
実は、古い PHP と最新の PHP には、致命的な非互換性がある。「日本人が勝手に」作っていた日本語拡張部分が本家に取り込まれ、「国際化対応」となったために、命令の名前が違ったり、動作が変わったりしているのだ。
この乗り換えは結構な手間となるが、大多数の命令は、簡単な変換関数を書くことでなんとかなる。
まずは、プログラマーである僕の環境で実験…と考えた。
ところが、PHP のバージョンを上げるのは容易ではないと判明。
PHP のバージョンを上げるには、glibc のバージョンを上げなくてはならない。
glibc のバージョンを上げるためには、initscript というプログラムをインストールしなくてはならない。
そして、この initscript と言うプログラムは、多くのプログラムの追加インストールを必要とする。
…はっきりいって、そんな作業をするくらいなら、OS を最新版に入れ替えたほうが簡単だ。
そんなわけで、OS入れ替え検討中。そうすれば、公開サーバーともバージョンを揃えられるし。
しかし、家の中枢サーバーにもなっているため、入れ替えは慎重にしたい。
後日やるつもり。
関連ページ
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
先日書いたように、OSの入れ替えをしようと思う。
それなりに巨大なデータもおいてあったりするため、バックアップに午前中一杯かかってしまった。
いまからOS更新作業。今日中に完成予定だが、怖いので今日の日記を先に書いておく(笑)
問題があったりすると、仕事的にもまずいのだけどね。
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
先ほど書いたOSアップデートですが、やっと完了しました。
実際にはまだ完全ではないけど、普通に使えるレベルにはなった。
RedHat 7J から RedHat 7.3 へのアップデートでした。
一番時間がかかったのは、「ハードディスク構成を変えたら、なぜか CD-ROM が認識されなくなった」ため。
結局 BIOS 設定をいじることで認識されたのですが、このトラブル解消だけで3時間ほどかかってしまいました (^^;;
このアップデート一番の目玉と言うか、目的はPHP のバージョンアップ。
jstring 関数が mbstring 関数に変更、という大きな変更があったためにいままでバージョンをあげていなかったのですが、先日の仕事サーバーへのクラッカー進入の件もあるし、セキュリティーホールのある古いバージョンを使いつづけるわけには行かないだろうと判断。
しかし、非常に良く使われる関数の全面改訂は、バージョンアップの障壁となるのは事実で、これから問題回避のためのプログラムを書かなくてはなりません。
回避するよりも根本を直すほうがいいことはわかっているのだけど、プログラムが膨大なので…
個人的には、これでMINGが使えるようになるのが面白そうです :-)
別年同日の日記
17年 遅い Javascript を iframe に追い出す方法
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
完全復活、っていったって、読んでいる人にはほとんど関係ない。
昨日再インストールしたサーバが、とりあえず必要な機能を完全に取り戻した、と言う話。
PHP の非互換に多少苦しみました。
4.0 系列から 4.2 系列にいきなりバージョンアップしたので、非互換部分がぞろぞろ。
3.x のときに、日本語環境が i18n_ で始まるたくさんの関数で作られていた。
これは、公式なものではないがシステムの非常に奥底まで入り込み、上手に日本語を使いやすくしていた。
4.0 になって、i18n_* はなくなった。公式ではなかったので内部構造が変わると移植しにくかったのだ。
しかし、jstr_* と mbereg_* の2系統にわけられて復活。内部までは入り込まない、「とりあえず」の日本語化であったが、よく出来ていた。jstr_* になる際に、一部の関数名は変更された。
4.2 で、jstr_* は mb_* に、mbreg_* は mb_reg_* になって公式のものとなった。
今度は、i18n_* の時のように、システム内部にまで入り込んだ、良い日本語化となった。公式の強みだ。
そしてまた一部の関数名が変更された。i18n_* の頃の名前に戻った関数名もあるし、まったく新しくなったものもある。
今回、4.0 から 4.2 になるので、この関数名の違いをうまく吸収しなくてはいけなかった。
仕事で作った膨大なプログラムを、とりあえずそのまま動かせないと困るのだ。
幸い、そのためのプログラムを発見。
しかし、これは関数名の変更などは考慮していないものだった。指針を示した上で重要ではあるが。
さくっと改良して、実情にあわせた物にする。
関数への引数で、 EUC という文字列を渡すべきところが EUC-JP でなくてはならなくなったが、今はまだ EUC でも認識してくれるようだ。
また、mbreg_* 系の命令は、古い名前でも認識してくれるらしい。これも、しばらくの間の移行措置のようだが。
これを直したら終わりかと思ったら、思わぬ伏兵がいた。
nl2br 関数。これは、改行(NewLine)部分にBRタグを挿入する命令だ。
つまり、普通のテキストを nl2br に通すと、HTML として表示できるテキストになる。
4.0 系列では HTML の BR タグを出力していた。それが、いつの間にか XHTML 互換になっている。
KDDI の HDML では、 HTML 互換のシンプルな BR タグしか解釈できず、それ以外はエラーになる。これは大問題だ。
これに関しては、日本語命令の移行のようなプログラムは組めない。
同じ名前の命令で動作が変わるようなものは、プログラムでの対処が出来ないのだ。
ということで、PHP 本体にパッチを当てる。ext/standard/string.c のなかに nl2br の本体があるので、タグを生成している部分を書き換えてやればよい。タグのサイズも 6 文字から 4 文字に変わるので変更を忘れないように。
これで、おそらく下位互換性を確保したまま新しいバージョンを導入できた。
もちろん今回の措置は暫定的なもので、時間をかけて「正しい」プログラムに変更していったほうが良い。
(即時コンパイル言語である PHP では、プログラム量の増大は速度低下に直結する)
仕事で使うこともあって、当たらしい OS に興味があってもバージョンアップできないでいたが、これで一気に最新版。
新サーバーで気持ちよく作業ができる!
…K6-300Mhz だけどね (^^; ただの「ルーター」である、公開マシンより性能が低いよ (T_T)
別年同日の日記
17年 遅い Javascript を iframe に追い出す方法
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
金曜日に小学校以来の友人と飲んだのだが、その席で「連絡用のメーリングリストが欲しいね」と言う話になった。
そんじゃ入れてみますか、と気軽にはじめてみる。
個人的な趣味で、メールサーバーとしては sendmail はあまり好きでないのでqmail を入れている。
sendmail は設定ファイルがややこしくなりすぎ、常人に理解できるものではない。
設定を簡単にするツールもあるが、そのツールのための設定ファイルもそれなりに難しい。
設定を簡単にするツールを簡単にするツール、なんてものまであるが、そんなものを使うくらいなら qmail を使う。
で、qmail で使える ML ソフトを探してみると、qmail の作者(D.J.Bernstein)が作ったEZMLMと言うのを見つけた。
qmail の好きなところは、その簡素さと拡張性の高さにある。まさにハッカーの仕事だ。そして、それを見事なまでに活用して簡素で強力な ML ソフトを作っているあたり、さすがは作者純正と言うところ。
しかし、インストールは一筋縄では行かなかった。
qmail の設定で virtualhost (1台のコンピューターで、何台分ものメールサーバーの働きをさせる設定)を使っていたのだが、これは EZMLM とは相性が悪いようなのだ。
少なくとも1つのドメインでは、virtualhost を使わないでメールを受け取る必要がある。…というか、普通はそのように設定するのだが、virtualhost を使ったほうが設定が楽だったので手を抜いていたと言うのが真相だ。
仕方ない。真面目にメールを受け取ろう、と思ったが、簡単ではなかった。
メールを受け取るためには、メールサーバーの設定だけではだめで、DNS のほうにも設定が必要なのだ。
DNS サーバーには BIND を使っている。もっとも、家庭内 LAN のためだけだが。
(実際の公開ドメイン名の DNS は、ダイナミック DNS サーバを使用している)
これをちょいちょいっと直して…いる間に、ふと気付いた。
うちにはサーバーが2台ある。1台は公開サーバー兼ルータ兼ファイアーウォール、もう1台は仕事実験用だ。
DNSは仕事実験用サーバで動かしていて、メールサーバーはファイアーウォール上で動かしている。
しかし仕事実験用は、実験用なので時々リセットする。リセットしている間は DNS は動かない。
メールサーバーが DNS に依存するということは、動作が不安定になってしまうということだ。
解決法はただ一つ。DNS の二重化だ。
というわけで、たかが家庭内 LAN の DNS を二重化することに決定。
しかし、BIND の設定は結構面倒くさい。1台でも面倒なのだが、二重化するのはさらに面倒くさい。
そこで DNS も入れ替えることにする。またまた qmail と EZMLM の作者 DJB が作った djbdns だ。
djbdns を動かすには、daemontoolsが必要となる。これまた DJB の作品だ。
…なんだか、どんどんディレクトリ構成が DJB の思う壺になっていっている気がする。
しかし、これはこれで悪い気がしない。DJB のソフト群は、どれも理にかなっていて使いやすいのだ。
BIND を設定したときは、資料に書いてあるとおりに打ち込んで、ちょっと手直ししただけだった。
しかし、djbdns は資料が少ないこともあって少し時間がかかった。その分、DNSの動作について理解が深まるという効果があったが。
このあと、EZMLM にパッチを当て、強化版の EZMLM-idx にして、無事 ML を立ち上げることが出来た。
ML を立ち上げたい、というだけで、qmail の設定を変えて DNS サーバーまで入れ替えることになったが、それだけの価値はあったように思える。
sendmail や BIND では、設定が「ややこしい」がゆえに、便利な設定例がネット上にたくさん転がっている。
内容をよく理解しないで、それらの設定を適当に手直ししただけで使えるのはありがたいかもしれないが、応用はまったく利かない。
qmail や djbdns では、設定例があまり見当たらないので一見難しく見える。
しかし、実は簡単すぎて設定例を言うまでもない、と言うのも事実だったりする。
UNIX 使いで、sendmail や BIND の設定・セキュリティーホールの多さに困っている人は DJB のソフトを試してみるといい。
関連ページ
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
道を歩いていたら、後ろから急に車がきて驚いた。
別に急に来たわけではないのだが、静かで気付かなかったのだ。
最近の車はエンジン音が小さくなっている。電気自動車などはもっと小さいと言う。
これでは、将来交通事故が増えるのではないだろうか?
そんなことを思っていたら簡単な解決法を思いついた。
静か過ぎるのがいけないのだから、うるさくすればいい。誰にでもわかることだ。
もちろん、電気自動車になればエンジンの騒音はしない。
だから、かわりに「音を流して」やるのだ。
ボンネットの中にスピーカーを入れておいて、エンジン音を出せばよろしい。
どうせ音を出すものなのだから、クラクションの共鳴器を使えば大きな音が出るだろう。
そうなるとやっぱ、音は PCM で録音されていたりするのだろうか。
電気自動車ともなると、制御用の CPU を高機能なものにしてついでにカーナビもやらしていたりする。
なので、PCMで音を出すくらいのことは簡単にできるはずだ。
できることなら、車のオーナーが自由に音を録音できると嬉しい。
デフォルトでは普通乗用車のエンジン音だが、その気になればあこがれのフェラーリF40のエンジン音にしたりできるのだ。
最近のカーナビには、携帯電話などと接続して通信できる機能が普通についていたりする。
そんな状況でエンジン音を変えられるということになれば、音のデータファイルのダウンロードもできるのが当然だ。
メーカーのサイトに行けば、往年の名車のエンジン音が自由にダウンロードできる。
フォーマットが共通化されてくれれば、別のメーカーのエンジン音にだってできる。
せっかくPCMを使えるのだから、クラクションの音にも凝りたい。
名車と呼ばれるものには、非常によい響きのクラクションがあったりする。
ただ注意を促すブザーの音ではなく、穏やかなトランペットのような音だ。そういう音が使えるといい。
普通乗用車にはあまりついていないが、PCM で録音するのであれば「右に曲がります」とか、「バックします」という大型車に良くあるアナウンスも可能だろう。
これも、いろいろな声のバリエーションがあるといい。
いろいろと音を変えられれば、当然自分で作りたい人だって出てくるだろう。
当然それは可能だ。メーカーが公開しなくても、データ形式はいつか解析される。
まずは、「バックします」のかわりに「ガッツ石松」を入れてみよう。
ボキャブラでおなじみになった駄洒落(?)だが、一度言われてみるとそう聞こえるようになってしまうので不思議だ。
ここは、いっそのこと本当に喋らせてしまえ。
クラクションだって、喋ったって構わない。
事実、クラクションはコミュニケーションに使われることが多いのだ。
軽く押せば「ありがとう」、長く押せば「ふざけんな!」など、いろいろなバリエーションを用意しておきたい。
そうなると、エンジン音を「音」に限定しておく必要もないだろう。
MP3 などを使えば長時間の録音もできる。ちり紙交換や石焼芋の業者さんにもぴったりだ。
もちろん、右翼の人たちなら演歌を流したりするのだろう。
(うちの近所でよく見る右翼は、ウルトラセブンのテーマを流すのが好きなようだが)
いろいろな音がつかえるのであれば、トータルコーディネートで面白いものを作るものも出てくるだろう。
飛行機の音を集めて入れてみたり、船の音を集めたり、機関車にしてしまう奴も出てくるかもしれない。
いや、乗り物ならまだマシで、動物の音を入れる(クラクションが象の鳴き声)とか、アニメの台詞を入れるとか、わけのわからない車で「いかにウケを狙うか」という世界になってしまう気もする。
なんか面白そうだけど、うるさそうでもある。
ちなみに、S30にはシャッター音とかを好きな音にできる機能があって、そこから思いついた与太話。
カメラの機能ですら、うるさいので使っていない。車にこんな機能がついても僕は使わない気がする (^^;
同じテーマの日記(最近の一覧)
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
このページは自宅のサーバーで運用しているので、ログ解析なんてことも簡単にできる。
ちょっとやってみた。元データは7月に入ってからのもの。
一番表示されているページは…トップページ。これはあたりまえ。
2位はエビチリ。なぜ?
この疑問は、「検索ページで検索に使われたらしい語句」のリストを見るとわかる。
1位エビチリ。2位ミルクセーキ。
…おかしい。うちのページのメインはコンピューターと歯車だったはず。なぜ料理の人気が高いのだ。
google で検索してみて納得。
エビチリで検索すると1ページ目、8位に出てくる。上位3位はたまたま「エビチリ」という語句が入っていたり、そういう名前のサイトだったりして料理法ではない。4,5位は「エビチリ茄子」という料理のレシピでエビチリではない。6位はなんでエビチリで検索されるのか不明。7位からがやっとエビチリのレシピだが、7位のページは今ひとつ料理法が良くわからない。
…ということで、エビチリの作り方を知りたかった人がうちのページに来るらしい。
ミルクセーキで検索すると、トップに出てくる。なにをかいわんや。
…料理ページをもっと充実させたほうがいいのかもしれん。
同じテーマの日記(最近の一覧)
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 【エビチリ】 簡単 (2006-03-09 17:50:24) |
うちのテレビはいまだに X68kモニタを使用している。
ちなみに EXPERT 用。これだと、スピーカーがモノラルで、音声多重などにも対応していない。
彼女がセサミストリートを英語で見たい、というので買い換えたいのだが、そろそろデジタル地上波放送も始まるので、今買い換えるのもなんだなぁ、と思っている。
(地上波デジタル放送は2003年からです。ちなみに、まだどこに基地局アンテナを立てるかも決まっていません)
いまなら「パソコンモニタなので」家電リサイクル法にも引っかからずに廃棄できるというメリットはあるのだが。
それはさておき、気になっているのはデジタルで中継が可能か、ということ。
アメリカがデジタル放送と言い始めたときは、正直馬鹿じゃないかと思った。
フルデジタルでは帯域が足りないのは目に見えているし、当時 MPEG1 の圧縮には、実時間の10倍程度の時間がかかった。これだと、ドラマの放映はできてもスポーツの中継は無理だ。
しかし、馬鹿なのは僕のほうだった。いまでは MPEG2 を実時間と同じ速度で圧縮することができる。BSではすでにその方法で放映をしているわけだし、いよいよ地上波でも、というわけだ。
しかし…まだ最後の問題がある。
MPEG というのは、前後のフレームからの差分情報で画面を表すことで圧縮を行っている。
「前後」というのが味噌だ。過去だけでなく、未来のデータまで圧縮に利用している。
未来のデータを知ることは出来ないから、実際にはデータをバッファに溜め、少したってから圧縮をする。
少なくとも、3〜4フレームの蓄積は必要だ。1フレームは 1/60秒なので、1/20秒程度の遅れが生じることになる。
さらに、展開時にも当然未来のデータが必要になる。ここでも同じような手法を使い、3〜4フレームの蓄積が必要になる。全体では6〜8フレームの遅れだ。 1/10秒となると、さすがにズレが人間の感覚でもはっきりわかるようになる。
スポーツ中継で 1/10秒の遅れというのはどうか?
いや、これは別に問題ないだろう。スタジアムの光景とテレビの光景が1/10秒違っていたとしても、テレビの前の人にはぜんぜん問題が無い。
しかし…日本には問題になる中継があるのだ。まさに、日本ならではの問題。
それはNHKの超高視聴率番組「行く年来る年」。この番組は、東大寺の鐘が1月1日午前0時0分0秒きっかりに打たれるシーンがクライマックスだ。これが、なんと 1/10秒もずれてしまうのだ。
ちなみに、テレビの横に置かれたビデオの時計は非常に正確。ビデオはテレビの時報で時刻あわせをしているし、その時報は録画したものの放映なので、時間遅れは生じていない。生中継の東大寺が「時報」として機能する、この瞬間だけが問題となるのだ。
NHK の技術陣は、この難問を一体どのように対処するのだろう?
関連ページ
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
昨日の話。
新聞の折り込みチラシで、近所のゲームショップ屋が「中古高価買取」を謳っていた。
こういうのは常に「高価」といっているのだが、見てみるとGC のドシンと動物番長が結構高い。夏休み直前という事もあり、本当に買い取り価格を上げているらしい。
どちらも悪いゲームではないのだが、すでにあまり遊ばなくなっていたので、売ることに決定。
あわせて 5200円。悪くない値段だ。
そういえば、マリオサンシャインの発売日。「見るだけ見てくか」と店頭デモを見て、チラシをもらう。
チラシに妙なキャラクターが載っていた。「これ、かわい〜〜」と彼女。
…数分後、なぜかドシンと動物番長を売ったはずのお金が、マリオサンシャインに化けていた。
もう一つ衝動買い。これも昨日の話。
うそつきだと先日散々書いたヤ○ダ電器だが、あれはネタで書いただけで別に嫌いなわけじゃない。
で、ヤマ○に DVD を見に行く。こちらも彼女が欲しがっていたので、パンフレットくらいもらって比較検討しようという腹。
欲しいのは、実は「光端子付きの CD プレイヤー」だったりする。MD にダビングするときに便利なので。
しかし、いまさら CD プレイヤーを買うよりは、DVD を買おうという事なのだ。
光端子がついているもので一番安いものを…と探すと、店員いわく「DVD はほぼ全部光端子はついています。」
事実そうだった。値段を決める要因は、本体の大きさ・D端子・プログレッシブ対応・MP3対応・CD-RW対応…などなど。
「それらの機能は必要なのか?」彼女と相談する。「いらない」一瞬で答えがでる。
うちのテレビは、いまだに X68k モニタで、モノラルで、当然 D端子なんかついていないからだ。
多分買い換えるのはデジタル地上波放送が始まって以降だろうし、そのとき機能が欲しかったら DVDプレイヤーも買いなおせばよろしい。その時にはもっといい機能のものがもっと安くなっているだろう。
というわけで、一番安い機械を見たら、「今ならさらに値下げ」とセール期間を書いてあった。最終日だった。
そんなわけでしばらく悩んでから、買ってしまおうと決断。1万円以下。消費税が入ると1万円を微妙に越える額。
丸一日たった今、実はまだ箱に入ったまま。
DVD の箱をなぜ開けていないかといえば、答えは単純で、マリオサンシャインで遊んでいるから。
発売前から「ハワイっぽい」という噂は聞いていたが、つい先日ハワイに行ってきた人間としては、ハワイのどこらへんを参考にしているかが良くわかって面白い。
関連ページ
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
先日DVD プレイヤーを衝動買いしたのだが、今度は DVD+R/+RW ドライブを購入した。
まぁ、実際のところ先日の衝動買いも「近いうちに買おう」と思っていったところその場で購入してしまった、というだけだし、今回のドライブ購入も計画的なものだ。
実は、仕事でプログラムを作っているのに CD-R ドライブがなかった。
去年の秋まで使っていた Mac には SCSI の CD-R ドライブがつながっているのだが、今使っている Win にはバックアップ手段がないのだ。
春頃には Win の CD ドライブの調子が悪かったこともあり(元々古いマシンから流用していたのだ)、CD-R ドライブ購入を計画した。そうしたら「ドライブの調子悪いなら、良いのあげますよ」と、仕事仲間から50倍速の CDドライブをもらってしまった。
そんなわけでバックアップメディアがなかったのだ。
実はバックアップだけなら何とかなる。現在、家の中にサーバーが2台常時稼動しているので、重要なデータは二重化するようにしている。
でも、先日の新婚旅行のビデオを DVD 化しておこうかな〜 なんて考え始めてしまったのだ。ビデオだけでなく、700M もあるデジカメ写真と、まだデジタル化していない銀塩写真と、いま書いている新婚旅行気もまとめて保存しておきたい。というか、DVD なら出来る、と思い始めてしまった。
「そんな恥ずかしいものを」と拒否反応を示す友人もいるのだが、僕はこういうものは後で見ればいい想い出だと思っている(自分の青臭さも含めて)ので、とにかく保存しておきたいのだ。
そんなわけで DVD+R/+RW なわけである。
ちなみに先日買った DVD デッキは、偶然だが +RW も見られるらしい。RICOH の動作確認機種リストに入っていた。
最終的には +R で永久保存なわけだが、書き換え可能ディスクで動作確認できるのはありがたい。
+RW で動くと言うことは、うまく「悪いこと」すると、レンタルビデオ屋で安くまとめがりした DVD をとりあえずハードディスクの中に置いといて、あとで焼いて見るなんてことも出来るのかな〜なんて思ったのだが、これには非常に時間がかかるらしい。
違法性が高いし、暇でもないので時間を掛けてリスクを犯してまでそんなことをしようとは思わない。
高い買い物だが、当分は年に数ヶ月に一度のバックアップと、結婚式のビデオ保存だけかな。
もしかしたら、彼女がエアチェックしたビデオを DVD 化して保存、なんてことを手伝うはめになるかもしれないけど (^^;;
関連ページ
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
3ヶ月ほど前に、急に PC の電源が入らなくなることがあった。
かなりあせって分解してみたが原因不明。組みなおしたら動いた。
ここ2週間、同じ現象が相次いでいた。
電源が入らなくなる前には必ず予兆があり、使用中に画面にノイズがのるようになる。
そうなった後で一度電源を切ると、次には入らない。分解して組み立てなおすと直る。
まぁ、分解・組み立てで直るのだから、どこかが接触不良なのかと思っていた。
昨日また「予兆」が出たので、叩いてみたら接触が直るかと思って、右の角を斜め45度に叩いてみたのだが、そのときに気がついた。
本体が異常なほど熱い
慌てて背部の電源廃熱ファンに手をやる。風が出ていない。ファン故障だ。
動作させたままケースを外し、廃熱を試みる。画面にはノイズがのったまま。
使いつづけるのも不安なので一度終了させる。
本体が冷えたころ、もう一度電源を入れてみる。問題なく動いた。ファンもまわっている。
どうやら、ファンを回すモーターが不調で、時折止まるもよう。
症例から見ると、途中で止まることは無い。起動時に動かすのに成功すればまわりつづけ、失敗すればまったくまわらないようだ。
仕方ないので、今日電源を買いにヤ○ダ電気へ。別売りの ATX 電源は高い。
電源というのは本来高いものなのだが、最近の電源は性能を落としても安く作り、ケースとセットで売ることが多い。
それをわざわざ別売りにするものは、「わかっている」人向けにきっちり作った電源が多いのだ。結果高くなる。
安物電源が壊れたせいで買いにきているのだから、ここでケチってもしょうがない。
安い電源付ケースよりも高い電源を購入。とはいえ、別売り電源の中では一番安い奴だが。
いま、新しい電源にしたPCでこの日記を書いている。
ファンの音が非常に静か。さすがに別売りだけのことはある。ファンも2つついていて強力な排気を行うので、PC内部が熱くなることは無いだろう。
しかし、これでまた電気代が高くなるのかな (^^; 以前の電源は 300W 、今度のは 400W だよ…
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
メインPCのWin2000 を再インストールした。
実は、2〜3ヶ月前から調子が悪くて再インストールしたかったのだが、環境構築に失敗すると仕事ができなくなるので怖くてやっていなかったのだ。
今は一応夏休みということで、思い切って朝からはじめる。
案の定1日がかりの仕事だった。
今度やるときのためにメモ:
サウンドドライバを入れると NewsUpd という SPY ウェアを入れられる。
こいつは百害あって一利なし。即効で消去しないとやっかい。
IDEドライバをうかつに入れると、DVD 書き込みソフトがハングアップする。
このふたつが異常に手間をかけさせてくれた (^^;
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
自分の会社の事務手続きで保険事務所へ。
本当は10日までに済ませなくてはならなかったのだが、忘れていて呼び出しを食らった形 (^^;
出かける際に妻がドコモバをもって出たのだが、ボタン電池切れで起動せず。
溜まっていたメールマガジンを読みたかったらしいのだが、メイン電池ならまだしもバックアップ電池切れで起動しないとは…。実は今までにもこれで何度か泣いているらしい。ひとしきり文句を聞く。
じゃぁ、もっといいサブマシン買えば? という話に。めったに使うものではないし、最近のマシンは必要以上にスペックがあるので買うのももったいないといわれる。
しかし、見るだけ見てみようということになり、事務手続き終了後横浜へ。
狙っていたのは廉価な Palm。しかし、160x160dot の画面ではメールを読むのは、ちぃとばかしつらそう。
絵梨沙フォントを使ったとしても、横20文字しか表示できない。
メールを読むのだから、できれば漢字40文字表示がほしいところ。
たまたまソフマップが中古セールをやっていたので、中古コーナーを除くと、ザウルス igetiが安かった。
igetiは、出ていたころに僕も注目していた。結局買わなかったのだが、これならメール読むのに性能も十分じゃない? と思う。妻も非常に気に入ったようだった。
店員にマニュアルを見せてもらう。買うまでにはもうひとつ関門があるのだ。
接続方法、対応機種を見る。Windows のみ。ガーン。妻は Mac ユーザーだ。
あきらめきれず、情報収集。
インターネットがつかえれば…と、ネットカフェを探す。家では常時接続なので、わざわざ金を払ってネットをする人の気が知れない、と思っていたのだが、こういうときには街中でネットできるのは便利だと思う。
なにぶん横浜のどこにネットカフェがあるのかわからなかったので、かなりさまよって漫画喫茶を発見。インターネットもつかえるらしい。1時間400円。二人で800円。15分使えれば十分なのだけど…
Mac とザウルスを接続するソフトがあるらしい。フリーソフトでいいから…と思って探していたが、市販品でちゃんとサポートもある。しかも、ネットで買えばそれほど高くない。これだ!
というわけで、ソフマップに戻って igeti を get。おもしろいおもちゃが増えた。
もっとも、妻のものだが。zaurus は前から気になっていたんだよね…。中古とはいえ1万円以下だったし、この値段なら僕もほしいくらい (^^;
なんか話が大きくそれたが、本来は「はじめてネットカフェ行った」話を書くつもりだった。
なんか、薄汚いビルの一室に入っていて、不健康そうな雰囲気だった (^^;;
漫画喫茶の一部なのでそんなものかもしれないけど。
ネットカフェ、便利だけど高かった。1時間400円は相場のようだが、地元に戻ったら15分100円というのもあった。
そのくらいの料金だと、もっと気軽に使えてありがたい。
関連ページ
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
DVD+RW/+R ドライブを買って以降、初めてDVD-Video 編集に挑戦してみた。
素材は自分の結婚式のビデオ。もともとこれの保存は DVD+R/+RWドライブ購入の目的のひとつだ。
ビデオ取り込みは、妻の iMac で。使用ハードウェアはCapty TV。USB 接続ながら、高品質な MPEG2 取り込みを可能とするハードウェアエンコーダだ。
(実は、Pictyがあったからこそ、ビデオをDVDにできると思って DVD+RW/+R ドライブを購入したのだ)
まずは取り込みでつまづく。
いままで MPEG1 取り込みしかしたことがなかったので問題なかったのだが、MPEG2 はさすがにUSBの帯域ぎりぎりなのか、映像の取りこぼしが出る様子。
映像のビットレートを変えてみたり、音声のサンプリングレートを変えてみたりといろいろためし、最後にふと気づいて「標準」という、微調整なしのお勧めモードを試したら非常に綺麗に取り込めた。
次の問題は編集。
RICOHのDVD+RW/+Rドライブには、多すぎるくらいの付属ソフトがある。
その中に ビデオ編集ソフト(WinProducer)、簡易編集機能つきのDVD-Videoオーサリングソフト(Drag'n Drop CD)、単純なオーサリングソフト(neoDVD)があった。
いろいろ試した結果、このどれもが「使い物にならない」と判明。
「編集」というのは、短い映像クリップを並べてつなげる機能をいうらしい。取り込んだビデオから邪魔な部分を消すことができないのだ。
かろうじて、Drag'n Drop が「トリミング」を行えた。映像の端を切る機能だ。
しかし、これは DVD に焼く直前の処理として行うだけで、トリミング後のデータをファイルに書き出したりはできない。
しかたなく、とりあえず映像をトリミングし、+RW で焼いてみる。
…焼くのには非常に時間がかかる。もともと DVDで使われる MPEG2 の形式で取り込んでいるのに、MPEG2 にデータを「変換」しているのだ。
まぁ、DVDは実際のところどんな MPEG2 でもいいというわけではないため、チェックを兼ねてファイル全体を変換しなおしているのかもしれない。
やっと焼きあがったデータを家の DVD プレイヤーで再生してみる。
なぜか、音が割れている。聞くに堪えないノイズがたくさん入っている。
だめだ。このソフトは使い物にならない。
結局、編集も iMac で、 Picty に付属のソフトで行う。
トリミング済みのデータであれば、WinProducer や neoDVD でも扱える。WinProducer は「複数の映像をつなげて、長いファイルを作る」ためのソフトなので、ここは neoDVD で作業を行う。
neoDVD も、やはりMPEG2を再圧縮する。これまた非常に時間がかかる。
あまりに時間がかかるので、裏で作業をさせておいてこの日記を書いていたのだが、ちょうど焼きあがったようだ。
ちょっと見てみよう。
だいたい OK。
オーサリングに失敗しているところがあるが、これは自分の責任だろう。
neoDVD なら、とりあえず「編集済みの」クリップを「不自由な」オーサリングで焼けることがわかった。
うーん、自由な編集、自由なオーサリングがしたい。
しかし、そういうソフトは安くても「編集のみで」数万円、「オーサリングのみで」数万円といった感じだ。
そんなにしょっちゅう DVD-Video を作るわけでもないし、いまはこれで我慢しておこう。
後日追記 8/24
WinProducer でも、ちゃんとファイルのトリミングはできました。「もっとも直感的な方法」で可能だったのですが、直感的方法がゆえに操作メニューには出ていなかっただけでした。
使い慣れてみると、WinProducer は結構使い勝手のよいツールです。
関連ページ
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
仕事で AU 向けの JAVA (EZplus) プログラムを試作してみようと思った。
すでに EZplus の公開から1年近く。
開発に必要な環境を整えるだけでもままならないと判明。
まずは AU のページにいき、開発キットをダウンロード。
i-mode での開発経験はあるので、これは「JAVA を入れてあることが前提」なのは承知している。
Java 開発環境は JDK というのだが、i-mode では JDK 1.3 を使用した。
AU は 1.3.1 が推奨らしい。しかし、1.3 なら入れてあるし、そう変わらないだろうと判断。
JDK というのは「純粋な JAVA」の開発環境だ。
携帯電話に搭載されるものは KVM (Kirobyte Virtual Machine) と呼ばれる Java のサブセットで、その開発は JDK 以外のプログラムを導入することで行う。
特に携帯用に作られたものは MIDP と呼ばれ、その開発キットを Java 2 Micro Edition Wireless Tool Kit 、略して J2MEWTK という。略しても長い名前だ (^^;
この J2MEWTK 、AU で推奨するのは 1.03 らしい。しかし、Sun のページを見に行ったところ、1.04 しかなかった。
仕方なくこれを入れてみると、どうやらディレクトリ構成が違うらしい。
少なくとも、インストールしたディレクトリ名が、期待されているのは J2MEWTK だったのに、WTK104 となっていた。
一応一通りの環境は整ったので、開発テストをしてみる。
まずは開発ツールを起動して…起動して…
アイコンをクリックしても何も起きない。いきなりつまづく。
スタートメニューに入るアイコンは、例に漏れずショートカットだったので、実際のファイル位置を見てみる。
…単純な問題。インストーラー任せで入れたのだが、パラメータとして渡すディレクトリパスが間違っている。
直してやったら問題なく起動した。
AU のページからサンプルプログラムを持ってきて、コンパイル。
…コンパイル失敗。何が悪いのかわからず、しばし悩む。
本来 Java のコンパイラなどはコマンドラインで動く。
しかし、それでは Windows 上では使いにくいので、AU の開発ツールではコマンドライン部分を隠している。
問題がなければこれでいいのだが、ひとたび問題が出るとブラックボックスの中身がわからないため、対処法が見えない。
よくわからないので、「本来とは違う環境なのが問題なのでは?」と思い始め、JDK 1.3.1 を探しに行く。
すでにバージョンがあがっており、 1.3.1.4 というのしかない。
それを入れたところ、期待されるディレクトリ名 jdk1.3.1 ではなく、jdk1.3.1_04 ができてしまった。
しかし、やはりうまくいかない。
冷静になってよくエラーメッセージを見ると、その中に「jdk1.3\」という文字が見える。
パスがおかしい?
開発ツールの中にはパスを指定する部分があるのだが、そこを変えたはずなのに変わっていない。
いろいろ探したら、僕の変えたのは「デフォルト」であり、実際に使われるのは「プロジェクト」ごとの設定とわかった。
修正したら少し進んだが、やはり別のところでとまる。
今度は最初から冷静にエラーログを読む。J2MEWTK という文字が見えたので、指定パスを WTK104 に変えてやる。
これでコンパイルは成功。ひとつの山を越えた。
しかし、今度はエミュレータでプログラムが読み込めない。
ネットで情報を探すうち、J2MEWTK の 1.03 が今でも入手できると判明。ただし「日本語版」だ。
1.04 をアンインストールし、1.03 を入れる。
これでもだめだ。開発ツールのほうはエラーメッセージをそれなりに出してくれたのだが、エミュレータはあまりエラーメッセージを出してくれないようで、手がかりが少ない。
いろいろといじっているうちに、ふと気づいた。
エラーメッセージが短すぎてよくわからなかったのだが、これはそもそも実行に関するエラーではなく、「実行するものがない」と言っているのでは?
Java では、一番最初に実行される関数名として、「プログラム名」を使う。
サンプルプログラムのプログラム名は adseesaw となっている。気になってプログラムの中を見ると…関数名は Adseesaw だ!
念のため AU のチュートリアルページの説明を読んだら、Adseesaw と入れるように書いてあった。単純な入力ミスだ!
プログラムの名称を Adseesaw に変えたら、あっさりと動作した。これに気づくまでに30分近くかかった。
結局、環境を構築するだけで3時間近く。
インストール・アンインストール・巨大ファイルのダウンロード・少ない手がかりの検索などが時間がかかった原因だ。
多分、開発ツール自体は jdk/J2MEWTK のバージョンが違っても動作するんじゃないかと思う (^^;;
(jdk の β版では動かないという記述を読んだが)
さて、これでやっとプログラムの試作をはじめられる。
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
宴会場にこんな垂れ幕まで用意されていた (^^;;
昨夜の追記です。
あの後、「実は参加者は贈り物を事前に知っていた」と、主催者からこんなページを教えてもらった。
たぶん一時的なページなのですぐにリンク切れになるけど。
で、そこを見たら機種は SPARC STATION IPX ですね。
これがどの程度の性能かというと…バイトベンチマークの比較ページで調べたところ、486 の 66Mhz よりは速く、100Mhz よりは遅い、という感じらしい。
うーむ…SPARC だったらまだ現役で動いているところもあるし、使えると思っていたのだがちょっと厳しいかも。
よく UNIX は安定性が高い、といわれる。
WindowsNT に比べて UNIX は…とか、MacOS X の内部は安定性の高い UNIX で…などという文脈で使われてきた。
大多数の人はこれを言葉どおりに受け止めているが、もうちょっと正確に言うのであれば、「安定性が高い」と言われるのは SunOS が非常に安定していたから。
「5年間も稼動しつづけた」などという話がある場合、大抵は SunOS のことです。Linux の世界でもこの話が引き合いに出されることがあるのですが、Linux はそこまで安定してない。
まぁ、1年程度なら平気で稼動しつづけるが。
(Windows NT は、3ヶ月も稼動しつづけたらリセットしてやるほうが安全だった。XP がどうなったかは知らないが)
そういうこともあり、いただいた SPARC は是非 SunOS のまま稼動させたい…と思っていたのだが、SPARC の世界でもLinuxを使ったほうがよい、という時代が来ているようだ。
SunOS は安定しているとはいえ古い設計のものだし、Linux なら実用的には十分安定していて、より良い設計になっているから、とか。
同じように、NetBSD/sparcというものもある。
SunOS は BSD をベースとしていた(途中から時代の流れに従って SYSV 系に無理やり変更した)ので、旧来の Sun ユーザーにはこちらのほうが使いやすいのかもしれない。
しかし、僕はもともと SYSV 系の HP-UX で UNIX を覚えたし、root 作業は Linux で覚えたので…
#root 作業は Linux で、といってもディストリビューションでずいぶんと違う。
そういう意味では、BSD だろうが SYSV だろうがそれほど変わらないかもしれない。
むしろ、BSD を覚えるいい機会かも。
まぁ、僕の趣味は古いコンピューターだというのも多くの人が知っていると思う。
SPARCを家に引き取ったらいろいろと使ってみようとは思っている。
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
2つの技術的興味から、IRCをはじめてみた。
ひとつは、自分でも携帯電話用の chat を仕事で作っているため。
仕事で作っているにもかかわらず、草の根 BBS 時代のものと、WEBチャットしか知らんのでは問題あるだろうとは思っていた。
もうひとつの興味は、「うずら」にあってみたかったため。
これも、実は自分の作るチャットにこんなボットを投入できればという考えからだが。
しかーし。なぜか、うずらのいる IRCnet に接続できず (^^;
(Access Denied が出るのです。誰か原因教えて)
仕方なくJP-chatに入ってみて、「ゲームあれこれα」というチャンネルがあったので入ってみる。
その時はちょうどエロゲーの話題だったようだが、他のゲームでもOK なようで、なかなか楽しく話が出来た。
面白かったのでその後3日ほど顔を出したのだが…このチャンネルはもともとエロゲーの話題のチャンネルらしいと今日知った(笑)
まぁ、せっかく住人と仲良くなったので、今後も時々顔を出そう。
そんなにエロゲーの話題は出ないし。下ネタは出るけど (^^;
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
最近仕事が忙しいので、いい人材でもいないかな〜と探している。
google で SOHO 関連のコミュニティーページを探して、求職情報を見る。
SOHO 駆け出しのころは、同じようにして求人情報を見たっけ。
当時大手だった SOHO ページが規模を縮小していたり、つぶれたりしている。
今はあまり SOHO ってのは流行らないのかもしれない。
ビットバレーって話も、まったく聞かなくなったしな(笑)
#当時、渋谷周辺に IT SOHO が集まり、渋 = bitter 谷=vallay であることと、情報の単位 bit 、そしてもちろんシリコンバレーをかけて「ビットバレー」と呼ばせようとしていた。
なかなか探している人材が見つからない。
PHP + Mysql が出来るプログラマー、というのが第一条件だ。
アメリカでは一般的なこの組み合わせも、日本では異端だ。
まぁ、perl + PostgreSQL でも悪くは無い。それほど違うものではないので、ほかに5種類くらいの言語を使っています、という人であれば PHP + Mysql にはすぐ順応できるからだ。
もうひとつの条件は、 Linux がそれなりにわかること。
「それなりに」というのは、自分で root 作業くらいは出来るという意味だ。
CGI のプログラムというのは、CGI が出来ればいいというものではない。メール関連のプログラムも多いので、自動送信に cron は使うし、メールを受け取って自動処理するのも必要。
「Windows しかわかりません」という人では、これらの仕事が出来ないのでダメ。
そして、最後の条件。家が東京近郊で週に1度は打ち合わせが出来ること。
他にも HDML がわかっていて欲しいとか、JAVA くらい使えて欲しいというのもあるが、これは出来なくても、まぁよし。
探していて思ったのだが、この様な情報を掲載している SOHO ページの多くが、情報の「鮮度」に注意を払っていない。
「仕事します」という書き込みがあったとしても、いつの情報かわからない。
月日だけ書いてある場合もあったが、年がわからないので意味をなしていない。
「仕事を探している」というのは、通常は短い期間の情報なので、1年前に仕事を探していた人に用は無いのだ。
しかし、こんなあたりまえのことに気づいているページが少ないこと自体、日本の SOHO の寒い実態を垣間見る気がする。
かなり多くの場所で探したが、この様な人材は見当たらない。
で、さんざん探した後に気づいた。
ちゃんと仕事が出来る人だったら、わざわざ求職を出さないでも仕事あるんだろうな。
探すだけ無駄だったか。求人を出すほうが良いのかもしれない。
というわけで、誰か腕に自信がある人は連絡ください。
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |
もうずいぶん前のことだが、PHP にマルチバイト正規表現関数が正式サポートされた。
以前は日本人が作っていて jstr_〜 (Japanese STRings の略だ)という名称だったが、国際化対応されて mb_〜 (Multi Byte の略だ)に変更になった。
それまでは JIS/SJIS/EUC/UTF-8 しか対応していなかったのだが、対応するコードも非常に増えている。
以前に仕事で作ったプログラムでは、UCS-2 が欲しかったのだが、無かったので PHP のプログラムで生成していた。
今回、正式に UCS-2 にも対応したので、プログラムを書き直すことにした。
ちなみに、Unicode というのはどんな文字も 16bit であらわす。(とは限らないのだが、話をわかりやすくするためにそういうことにしておく)
UCS-2 というのは、1文字が 2byte であらわされた、素の Unicode だ。
UTF-8 というのは、「アルファベットが 16bit なんて無駄だ」というわがままなアメリカ人のための規格だ。
従来の ASCII 文字は 1byte であらわせるが、ヨーロッパ言語圏の文字は 2byte 、漢字言語圏は 3byte であらわすようにしてある。ただし、元のコード自体は Unicode と同じ。 JIS と EUC の関係みたいなものだ。
以前の jstr では、EUC から Unicode に変換する時に、ちょっと困ったことがおきていた。
JIS/SJIS/EUC というのは「同じコードの表現方法が違うだけ」なので数式で変換できるのだが、Unicode はコード体系がまったく違う。そのため、変換表を用意する必要がある。
jstr では、このコード表がいわゆる「MS-Unicode」なのだ。一般的な Unicode ではなく、マイクロソフト独自のもの。
#MS を弁護しておくと、Unicode は「コードと文字の形」だけを定義して、「従来のコードとの対応」は定義しなかった。そのため、ベンダーごとに微妙な違いがあったりするが、それでは不便なのでまとめられつつある。
仕事で使いたかったのは、「一般的な」 Unicode だったので、これには困った。JIS のなかで、5文字が正しく変換できないので、その5文字だけ特別扱いしていた。
すばらしいことに、mb ではこの問題が解消していた。JIS から Unicode への変換では正しく変換を行い、Unicode から JIS への変換では、MS-Unicode でも一般的な Unicode でも正しく変換する。
これで面倒な問題がひとつ減った。
もうひとつ、変換したいコードには「外字領域」を含んでいたのだが、これは正しく変換できない。そもそも正式な Unicode でも、正式な JIS でも無いからだ。
そこでこれらは Unicode 変換の前後に個別対応するのだが、mb_ereg_replace では「文字コードの範囲」に対応している上、「置換後文字列の動的生成」に対応しているので、命令一発で処理できる。
しかし、なぜか UCS-2 の状態での正規表現検索は出来ない。
UCS-2 では、「1バイト目」と「2バイト目」を区別する方法が無いからだろう…とも思うのだが、そもそも全文字 16bit で表現されるので、区別の必要すらないはず。
まぁ、出来ないのは仕方が無いので、ここは UTF-8 に変換してから置換を行う。UTF-8 には対応している。
UTF-8 で、「文字の範囲」を指定する。ややこしい3バイトコードを正しく処理する。すばらしい。
しかし、なぜかその領域内に、2文字だけ処理できない文字がある。何故そうなるのかはわからないが、バグだろう。あんまりすばらしくない。
これは、mb_ereg_replace した後で、普通の文字列用の preg_replace で個別処理。
以前は、UTF-8 から UCS-2 の変換を、1バイトずつ PHP で処理して変換していた。
PHP はインタプリタみたいなもの(厳密には違うが)で遅いのだが、その処理が命令一発になったので非常に高速になった。
細かなバグはいっぱいあって、個別処理を入れないといけない面倒くささはあるが、以前よりもプログラムがすっきりして速度も上がったのだから、まぁよしとしよう。
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |