また海外サーバを借りてみた「3iX」

2006/12/18 | 海外サーバ

諸々の事情でまた海外サーバ(ホスティング)を借りてみた。
今回借りたのは3iX。前回のdot5hostingではさんざんな目にあって苦労したが今回はどうか。
今回はまぁなんとスマートなこと!。申し込み完了後すぐに使えるようになりました。申し込み手順は日本となんら変わらず。
 (1) プランを選んで
 (2) ドメインを指定して
 (3) 諸情報を入力して
 (4) カード決済する
手順どおりにやればメールで設定内容が送られてきます。あとはDNSサーバの設定さえしておけば大丈夫(ドメインは別のところで取っているのでどうするのかわからない)。
ここのコントロールパネルはcPanelといわれるもの。メジャーな管理ツールのひとつだ(使ったことないからこれからいろいろ試してみるとする)。

さてサービスを立ち上げよう!。

Google Mapsから日本語Geocoding・・・復活?

2006/12/15 | JavaScript/Ajax

先週・今週と地図系の仕組みのイベントがあった。先週はオープンGISツール関連のOSGeo財団の設立記念イベント、今週は情報地質学会。いずれも地理情報を扱ったものがテーマだ。
ムック本「超極めるPHP」にMapServerというフリーの地図表現システムの記事があったけど、その進化版といった感じ。プログラムはどうやらPHPが結構使われているとのことだった。
そのイベントでの一番の収穫!。停止されていたGoogle Mapsの日本語Geocoding機能がとうとう復活したらしい。一週間ほど前から復活したとのことだった。今までいろいろ技を駆使して日本語Geocodingしてきたわけだが、もうそんな苦労はいらない(APIの説明はここから)。これが一時的でないことを祈るとしよう。

postならpostだけ、getならgetだけ

2006/12/06 | HTML_QuickForm

いつも便利に使っているHTML_QuickForm。
しかし特殊なことをしようとすると、うまくいかないことがある(もちろんいろいろ回避する方法はある)。

QuickFormのオブジェクトを生成する際に、以下のようにpostを指定した。
$myForm=& HTML_QuickForm(‘myForm’,’post’);

ここで例えばエレメントを以下のように追加した。
$myForm->addElement(‘text’,’myTextBox’,’Input text’);

このように記述したphpスクリプトに対して、以下のクエリをつけてアクセスしてみた(もちろんgetで)。
?myTextBox=abcd

いちおうテキストボックスには「abcd」という値が入って欲しいと思っていたのだが、そううまくはいかなかった。結果としてわかったことは・・・。
「postならpostで渡った値だけ、getならgetで渡った値だけ!」

当たり前といえば当たり前なんだけど・・・。少しだけはまりました。

テンプレート内で関数処理する

2006/12/05 | Smarty

smartyのテンプレート内で関数を使う必要が生じた。単に「関数で処理して表示」というわけではなく、いったんプログラムで処理して処理した戻り値をsmarty変数に返す、という処理をしたい。
いろいろ調べた結果、関数群を記述したクラスからオブジェクトを生成し、smartyオブジェクトに登録する、という方法が有効だとわかった。
具体的には、

class myClass
{
 function myfunc($params,&$objSmarty){
  return (戻り値);
 }
}

とクラスを定義しておき、これを以下の手順で登録する。

$myObj=new myClass;
$objSmarty->register_object(‘myObj’,$myObj);

テンプレート内で上記関数を呼び出して戻り値を変数に格納するには以下のように記述する。

{myObj->myfunc assign=returnValue}

何がやりたかったかというと、smartyに対して文字列で与えられた変数を分割して、生成した配列を個別に扱いたかった、ということ。
きっと、もっとスマートな方法があると思うのだが思いつかなかった。まぁ、これでもできているので、とりあえず解決。

Read the rest of this entry »

想定外の文字にマッチしてしまう

2006/12/03 | MySQL

mysqlで用語集を作ってみたのだが、ちょっとした問題がでた。
この仕組みでは読み仮名を登録するようにしてあるのだが、五十音で整理したいため、読み仮名の最初の文字を取り出して別カラムで格納している(例えば「ガチョウ」という単語があった場合は、そのままでは「ガ」になってしまうが、ちょっと処理をして「カ」を取り出している)。
ここで問題。「ツ」という文字を検索するときに「ツ」で検索して表示されるのはもちろんだが「テ」で検索しても表示されてしまう。また「ル」という文字を検索するときに「ト」で検索しても表示されてしまう。なぜ?、なぜ?。
理由を突き詰めなかったが、なんとなく想像がついたのでカラムをbinaryとして保存するよう変更した。これで解決。
きっと少し考えれば理由もわかるとは思うがあえて調べない(面倒だし、理由を知らなくても直感でわかることだから)。でももし親切に教えてくれる人がいらっしゃるようでしたら、コメントに残してください。


守谷市(まちの情報ポータル) 無料アンケートレンタルjpForm.net