最近、最初に考えていたテーマと外れた記事ばかり書いていたんですがここで
一旦本来のテーマに戻します。
まず実験と言う事でいきなり、本格的なWebアプリは無理なんで簡単な登録PGを
作ってみる事にしました。
■ 方針
・
PHPで作る。
・更に、
セッションを使ってみる。
・DBは
PostgreSQLを使ってみる。
・見た目にはこだわらず、ソースも汚くてもいいので
とにかく動作するものを作る。
と言う事で簡単な担当者メンテナンスのアプリを作成する事にした。
■ コーディング
・VisualStudioのような開発環境はなく、自前で用意しなければならなかったので
インターネットで調べまくったり、体験版を使ってみたりして、
エディッタは取敢えずシェアウェアの
Peggyにした。
・画面は
HomepageBuildeerで雛形を作成し、それに手を加える事にした。
何のことはありません。 今でもHomepageBuilderで画面の雛形を作成し、
エディッタは、Peggyと言うスタイルです。
簡単でいいツールがあったら教えて頂きたいところです。
Eclipseは検討しましたが覚える事が沢山ありそうだったので止めました。
■ プログラムの構成
・
画面は全部で5種類になりました。
・プログラムは、要求ごとに分岐させる入り口プログラムを中心に据え、
後は
require_onceでインクルードするようにクラス毎3つに分割しました。
1.
DB操作クラス
本で学習したものをほとんどそのまま利用しました。
2.
画面出力クラス
これはHomepageBuilderで雛形を作成して手を加えたものです。
3.
メイン処理クラス
中心となるロジックを組立てたクラスで、処理の中心になります。
入り口プログラムからメイン処理クラスの該当関数に分岐させ、その中でああだこうだ
処理を行い、DB操作はDB操作クラスの関数を呼出し、画面出力は画面出力クラスの
関数(PHPではクラス内の関数はメソッドって言うんでしたっけ??)を呼出しと言う
スタイルです。
今でも基本的なPGの配置はこの頃から変わっていません。
■ 作成中の出来事や思った事、、、、、ランダムにあれこれ
・
Shift-JISと
EUC-JPの文字コードの違いと言うものをはじめて意識させられた。
初めて作る人は結構ぶつかるみたいですが文字化けってので悩みました。
・
セッションという概念が初めてだったので頓珍漢なところで悩んでました。
今現在運用しているサイトではセッションを使わずにいますが、、、、、
と言うか、セッションを使わなくてもよい仕組みにしています。
・ 昨日まで動いていたのが今日は駄目ってのがあり2日ほど悩んだんですが、どうも
TCP Wrapperを変にいじっていたみたいで、原因がわかるまでトホホでした。
・ 画面をまたがるDBの
排他制御ができないと言うところで少し悩みましたが、そう言う
パターンの排他制御は行わない仕組みにする事で解決しました。
・ コードが入力されたら即名前が横に表示されると言うような作り方は件数が少ない
ものの場合は別ですが、件数が不定のものには採用できないので、一旦送信して
サーバーに要求しないといけない事が判明しました。
汎用機の
ダム端みたいって思いました。
・ 私が今まで作成してきたWindows用アプリではリターン(エンター)キーで
入力フィールドの移動ができるように作成していたので、TABキーだけの移動は
多少違和感がありました。
まぁ、それがWindowsの本来の作法なんでしょうけど??
リターン(エンター)キーで移動できるものが作りたいと思いました。
・ お恥ずかしい限りですが、
正規表現はLinuxの学習をはじめるまで言葉すら知りませ
んでした。 正規分布なら知ってましたが。 ちょっと使ってみましたがその有用性は
今一ピンときませんでした。
今では少し使ってるんですけど??
・
pgAdminと言うのを知らなかったので、DBの直接操作は何をやるにしても
psqlで
面倒くさくやってました。
・ PHPの完璧なデバッグツールを見つける事ができず、デバッグはひたすらブラウザ
での実行と、サーバーのエラーログとのにらめっこでしていました。
最近はそのスタイルで不自由を感じなくなっているので探していませんが、何かいい
ツールがあれば教えて頂けると嬉しいです m(__)m
・ 英語がとんと駄目な私にとってはエラーログを理解するのも一苦労でした。
・ 文末のセミコロン”
;”や”
{}”がダメって言われると探すのが一苦労でした。
いまでも時々ありますが、いまでは割と早く見つけられるようになりました。
・ Linuxも初心者、PHPも初めてと言う状況でしたので、設定ファイルも深く理解してい
たわけでもなく、何かうまくいかないとマニュアル見て関係ありそうな設定をいじくって
どこがどーなったか分けがわからなくなる事が数度ありました。
・ 作業に取りかかってから
メーリングリストなるものを知り、早速参加させてもらったん
ですが、来るメールを読んでいると、バカな事を問合せると怒られそうで初心者には
なかなか敷居が高い気がしていました。 どんな問合せだったか忘れましたが、自分
では調べてもわかんないしどうしようもなく、勇気を振り絞って問合せたら意外と親切
に教えてもらったと言う記憶があります。
・ 画面上の操作性は
JavaScriptも使わなければいけない事が判明し、これは実験の
予想外の事でしたが、いろいろなHPのソースを参考にしたり、本を読んだりで結構
時間をとられました。
JavaScriptもMLのお世話になりました。
・ HpmepageBuilderで雛形を作るときに、あーでもないこーでもないといじくりまわし
ていると、結構同じようなタグがいくつも張り付いていたりするって事が分かった。
大きな影響がなければ見落としていてたぶん無意味なタグが残ったままです。
・
NULLを意識した。
・ もうすぐPHP5が出るらしい、、、、今現在使っているのは4.3.10-1.1です。
今のところ5にする予定はありませんが、どうなんでしょう??
かなり時間が経ってしまったんで忘れているんだと思いますが、もっと沢山いろいろな
問題があったように記憶しています、、、、なんせ初めてでしたから
実際のドキュメントはサーバーを実験で何度も再構築したりしたので残っていないの
ですが、引出しをひっくり返していたら実験時に作成した印刷物が残っていたので、
スキャンして貼り付けておきます。
※元々安物の裏紙に印刷されていますので裏面の写り込みはご容赦を!
■ これは当時全体の流れを整理したものです

Webアプリは初めてだったのでここまで考えるだけでも少し時間がかかりました。
以下は、画面イメージです。





プログラムソースも印刷したものしかないので載せておりません。
見たい方がいればコメントでもしておいていただければ気が向いたときに
アップしておきます??
最初のPGですからレベルも低くお恥ずかしいところですが、お役に立てるなら
お見せする事は一向に構わないと思っております。
反面教師にはなれるかも知れません!
週刊BlogRanking →
テーマ:UNIX/Linux - ジャンル:コンピュータ