2008年3月10日月曜日

社会保険料とか税金とか

今日、ようやく時間ができて、前の会社の事業縮小で解雇されて以来手元になかった健康保険証を作るために区役所出張所にいってきた。今後は勤め人になる予定が今のところ無いので、久しぶりの国民健康保険と国民年金の加入である。

その時に役所にいわれたのだが、前年の収入ベースで計算されるために、結構高額に請求されるようなことだった。

この国の仕組みはいつもそう。
前の年の収入が「普通」恒常的に続くであろうモデルを想定して、次の取立金額を決める。
そこには経済のトレンドだとか、勤め人が一般的なモデルから勤め人を離れて独立指向のトレンドだとかを考慮する余地はまったく無い。

ちょっと会社や個人事業を立ち上げた人ならわかると思うが、普通スターとアップの時は、前の年の収入が安定して継続的に続く事ってなかなか望めない。普通、ジェットコースターの様なアップダウンを描くはずである。その場合に前年収入を元に計算をされるのって結構きついんだよね。特する場合もあるけど。基本的には前年より収入が下向きになることをあまり考慮してないっていうか。

この国のシステムは、誰かに囲われて細々生きていくのに最適化されていて、個人が自分の力で生きていこうとするときに、特に、新たな挑戦をするときにあまりやさしくない。しかも、北欧諸国のように、誰かに囲われなくなっても最終的に国が贅沢に囲ってくれるっていう方式にもなっていない。

だけど時代は少しずつ変わり始めているはずだと思うけど。

2008年3月2日日曜日

ちょこちょこCAKE.PHP

需要と供給の関連からやっぱPHPをやらねばならないということで、CakePHPで作ってます。

Cakeも色々言う人はいるけど、僕のようなしがない個人事業プログラマが個人という限られたマンパワーをエンパワーメントするにはいいツールだとおもうんだよね。大規模開発ってわけでもないし。Symphonyとか他にも色々あるようだが、基本的にはそういった案件だとあんまりPHP自体どうかと思うし。

しかし僕の回りがそうなのかも知れないけどPHPの案件は多いですね。
ちょっと前まで一年近くPythonでやっていたため、PHPでやると気楽でいいですね。
Pythonの方がずっとStrictなので、もっとエラーが頻繁に起こります。
でもPythonで本当にエラーが出来ないように作ると、結構バグの少ないものができます。
PHPの場合、それ以前の段階であんまりエラーがでないんで、個人的には楽です。
そういえばJavaやってたときももっとStrictで頻繁にエラーがでてたような。
PHPが楽なんですね。。

で、Cakeなんですが、今二つの案件を並行に回しているんですが、結構いい感じで学習出来ています。一つの案件は、本当にベーシックなCakeの知識でいけるやつで、なんというかViewとModelの一対一関係がわりとストレートで、データ構造もマスターと詳細と言う基本的なパターンなんで(いわゆるhasManyとbelongsTo)基本を理解するには丁度良い感じでした。

もう一つの案件は、もっとviewに複数のモデルとの関係が強かったりして、そしてモデル間の関係がわりとHABTMな関係が多いので、これはこれで今までの発展系として勉強になります。

ま、どちらにしても、CakeとかFrameworkの醍醐味は、DB→Model→Controller→Viewの関係が以下に楽に透過的になっているかと言う所にあるとおもうんです。いちばんいいのは、ViewとModelが直接連動しているように扱える位の透過性を感じれるものがいいとおもうのです。
やはり一番多いDB&Webの案件ではそこを確実にしかもいかに楽に構築できるかがプロジェクトの分かれ目だと思うんです。

そういった意味では今回はDBDesignerからER図作って、それをXMLに落として自動的にCakeのModelを関係性込で自動生成と言うやりかたは、非常に斬新なものでした。ここを自動化出来るかどうかって結構大きいと思うんです。

ま、しばらくWebがRDBMSを使っている限りはこの流れは続くでしょう。
しかし、10年後にも残っているパターンだとは思わないけど。
そこのころにはもっと抽象化されたインターフェイスの外部からデータを持ってくることになっておそらくRDBMSは隠蔽化されてると思うんです。そのころにはだから、もっと自然にアプリの方がデータを扱えるようになってもっと楽が出来るんじゃないかと思っています。
どのウェブサーバも裏に個別にRDBMS持ってるってのも考えたらwebの進化には無駄な話だからね。

楽できるっことはそこがきちっとシステム化されていて、直接いじる必要が無いって事だと思うんで、システム全体的な見地からいっても僕は賛成です。コアなデータ管理の部分は、もっと専門家がきちっと安全な所で管理すべきだと思うし、Webのプログラマがそこを個別に管理しなければならないってのも、本来的には無駄な話だと思っています。