2015年6月14日日曜日

Laravel5と郵便番号用ajaxのajaxzip3.js

Laravel5でちょっとしたWebシステムを開発することになった。ちなみに、2014年10月ごろにはLaravel4でWebシステムを開発した。Laravel4とLaravel5はフォルダの配置とデフォルトの設定が随分変わったので、最初かなり戸惑った。
 それはさて置き、 ajaxzip3.jsと郵便番号の話です。フォームに郵便番号を入れると住所欄に住所が入るWEBページがよくあります。自分で作らなければいけないと思い、日本郵便のページから郵便番号のファイルをダウンロードして、簡単なプログラムを書いて、郵便番号のデータをMySQLに取り込んだ。

<2015/6/14追加>
Google Codeがサービス廃止になり、Githubに移行したそうです。私のページも動かなくなったので驚きましたが、理由が分かれば、安心。
Github移行を機にこれまでhttp、httpsで分かれていたURLを一本化したそうです。
今後は、https://ajaxzip3.github.io/ajaxzip3.js に成ります。(http://でも使えるみたいですが、基本はhttps://です。)
今までは、http://ajaxzip3.googlecode.com/svn/trunk/ajaxzip3/ajaxzip3.js だった。下記の部分もこの部分は読み替えてください。書き換えてください。

その後Javascriptの見本が見たくて、Googleで検索したら、ajaxzip3 と言う、驚異的なページを見つけてしまった。  ajaxzip3.jsを使えば、もう自分で郵便番号を用意する必要はない。ホームページに書くコードも至極簡単だ。ヘッダーの中で下記:
http://ajaxzip3.googlecode.com/svn/trunk/ajaxzip3/ajaxzip3.jsを読み込み。
本文のフォームの中に下記のように書く(私が書いたコードで、余分に、class="eisu"とtype="tel"で英数字化、placeholder="453"でグレーの初期値表示、onKeyPress="return submitStop(event)で改行キーでの送信の拒否、を入れている)。データベースを3桁4桁にしているので、入力用フォームも3桁4桁に分けている。
<td>
<input class="eisu" maxlength="3" placeholder="453" onKeyPress="return submitStop(event);" name="zip21" type="tel" value="">
</td><td>
<input class="eisu" maxlength="4" placeholder="0042" onKeyUp="AjaxZip3.zip2addr(zip21,zip22,addr21,addr21);" onKeyPress="return submitStop(event);" name="zip22" type="tel" value="">
</td>
ajaxzip3の動作見本ページはここです。

ajaxzip3のURLを見ると、https://code.google.com/p/ajaxzip3/と、google.comのドメインになっている。ajaxzip3.jsの設置場所も、googlecode.comになっている。Google Project Hostingというページで、オープンソースをGoogleが応援しているようだ。Googleがこのようなことを行っているのははじめて知った。(上に追加で記したように、Google Codeはサービス廃止だそうです。)


LinuxのopenSUSEをインストールして、日本が使える設定をする

Linuxの派生の一つであるopenSUSEを熱心に勧める学生に、2015/5/23土曜日のOSC2015名古屋で出会った。openSUSEの読み方は「オープンスージー」かと思っていたら「オープンスーゼ」だそうだ。ちょっとダサいな。また、openSUSEのoは小文字であり、大文字のOpenSUSEは間違いだそうだ。くれぐれも、openSUSEと書くようにしましょうか。

OSC2015名古屋以来、openSUSEをインストールしようと思っていたが、6月13日土曜日の深夜にやっとインストールした。インストールは簡単だが、日本語が使えるようになるまで、2時間以上掛かった。openSUSEで日本語を使えるまでの手順を書いておきます。

ちなみに、openSUSEのインストールに使ったパソコンはFMV INSPIRON 710m。メモリ1.25GB。XPからWindows7にアップした後、フリーズに近い状態ばかりで使い物にならないので、CentOSでもいれようかと思っていたが、人生初めてのopenSUSEをインストールすることにした。


ではopenSUSEのインストールをはじめます。
1.openSUSEをダウンロード。710mは旧32ビットPC用(64ビット用ではない)

2.isoファイルをDVD-Rに焼く

3.DVDから起動後、インストール最初の頃に、F2ボタンを押して、日本語を選んでインストールを進める

4.インストールの最後の頃に、パスワードの管理システムうんぬんが出てくるけど、一応、自分のIDのときと同じパスワードを入れて設定しておくといい。理由は、後々、無線LANの設定で、このパスワード管理を設定しておけば、PC起動のたびに、無線LANにパスワードを入れる必要がなくなるので、ぜひ、設定しておくことを勧めします。

5.もう一つ、インストールの途中で、無線LANやLANの設定が出てくるが、710mの場合、何もせずに次へ次へ進んで、無線LANは何もしなくても稼動した。

6.openSUSEのインストールが一通り終了して、再起動後、openSUSEにデフォルトで入っているFireFoxとLibreOfficeを使ってみた。

7.残念なことに、openSUSEで日本語が入力出来ない。Googleで検索してそれに従うが、やはり、日本語入力はできない。

8.出来ないけど、とりあえず、必須の日本語環境の設定手順を書いておくと

9.左下緑丸のスタートボタンをクリックし ⇒ コンピュータを選択し ⇒ YaSTを選び ⇒ YaST2コントロールセンターを開き ⇒ システムを選び ⇒ 言語を選び ⇒ 第一言語を日本語に設定する。

10.スタートボタン ⇒ 最上段の検索枠に「ibus」と入れて、ibus設定を開く ⇒ 入力メソッドをクリックし ⇒ 追加ボタンをクリックし ⇒ 日本をを選び ⇒ Mazcを選ぶ(Mazc-jp Layoutではなないので注意) ⇒ 設定を見てみると、「ローマ字入力」「MS-IME(ATOKも使えるとはすごい)」でいいでしょう。

11.ここまで設定すれば、FireFoxやLibreOfficeで日本語が入力できると思ったのに、残念ながら出来ませんでした。

12.それを助けてくれたのがこのページ。openSUSE13.2で日本をを使うための最後の設定
どうするかと言うと、xmlファイルを一つ削除するのだそうだ。ただ、この解説ページは、今はそれをしなくても日本語が使えると書いている。それは間違いで、今もやはり、このxmlファイルを削除しないといけない。

13.スタートボタンから、「ターミナル Konsole」を開き下記の内容を入力
sudo rm /usr/share/ibus/component/kimpanel.xml
[Enter]キーを押下して削除後、ibusを再起動するかopenSUSEを再起動すると日本語入力が可能になる。

14.日本語入力が出来るようになると、上の写真の右上と、右下にあるように、オレンジ色で「あ」と「A」の切り替え表示が現れる。日本語が使えない状態のときは、このオレンジのアイコンがない。このオレンジのアイコンが最初の現れたときは、神様に出会った気がした。

■PCでLinux 使うならどれにするか。個人的には、openSUSEをインストールしてみて、PC用ならopenSUSE, CentOS, Ubuntuの順番だ。サーバーなら、CentOSにする。  以上