変奏現実

パソコンやMMORPGのことなどを思いつくまま・・・記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。

この画面は、簡易表示です

2013年3月27日

O/Rマッピング

RDBとオブジェクト指向プログラミングとではかなり思い込みがズレている。
RDBは

基本的に古式awkのような一行野郎であり、

オブジェクト指向プログラミングは

事前の事前による事前為の慈善作業を至高とするのでムリもない話だ。

その穴埋めとして生まれたのがO/Rマッピング(その名の通りObjectとRDBを関連付けるツール)である。

  1. Apache Cayenne

    • 2.0.4  2007/10/xx
    • 3.0  2010/05/09
    • 3.0.2
    • 3.1Beta
  2. Apache iBATIS(2010/06/16 retire)
  3. Apache Torque
  4. Hibernate (JBOSS Community)
    • 4.1.11.Final 2013-03-18
    • 4.2.0.Final 2013-03-18

なお、ココにもっと詳しいO/Rマッピングの一覧がある。
大きく分けると、データベースの構造までチャチャを入れる独善家から後付OK派まである。
元々あるデータベースをとりあえず丸呑みしてくれる独善家タイプなツールが最高なのだがそんなものはない。
 



WEBベースなIDE(統合開発環境)

最初のJavaのWEB開発は、秀丸とBATファイルで出来ていたが・・・今はEclipseが普通だ。
※但し、有償のIDEの使用が大前提なJava系WEBサーバーを除く。
そんなEclipseやVisual Studioなどのようなクライアント・アプリケーションとして動作するIDE(統合開発環境)は・・・

  • 容量がとにかくデカい。
  • インストールが面倒。
  • 複数のバージョンを混ぜると危険。
  • 当のIDEを便利にするハズのアドオンの開発時は開発環境が壊われやすい。
  • 特定のクライアント・アプリケーションをインストすると、動かなくなることがある。
  • Windows Updateをするときは、いつも緊張する。

と、インストした後もパソ環境の維持にも気を使わないといけないので、VirtualPCやVMPlayerの中で使う方が安心だ。
※壊れても、いつでも巻き戻しできるからね。(大笑
Zip解凍でインスト完了なEclipseですら、複数のバージョンや各種ディストリビューションのバリエーションが豊富過ぎて、開発チームやプロジェクトが異なれば、他で使ったEclipse環境を使いまわすのはトラブルの元である。mavenと連携したEclipseは要注意。mavenに非ずんばEclipseに非ずという状況になるしcygwinも同様の道を歩んでいるのでドチらもVirtualPCでの使用が望ましい。
早い話が、IDEの複数のバ-ジョンが必要なこともあるが、MS-Officeの複数のバ-ジョンを併用できる状態を維持するのは極めて難しいことと同様なことが起きるのだ。
それに比べればWEBベースすなわちブラウザ上のIDEは、パソへのインストも、パソ環境の変更も不要。その代償としてIDEを管理するサーバーが別に用意しないといけないこともある。
だが、一人でチマチマ開発するならともかく、チームを組んで開発するなら人員が増えた時の手間が、

  1. アカウント発行
  2. メールでIDEのURLを配布
  3. ブラウザで開けばOK

で、済むなら便利この上ない。
しかし、実用性に乏しいという指摘は多い。
第一に、開発パソの他に開発用のサーバーを用意するなんでイヤ!という顧客は多いに違いない。
第二に、今のWEBサーバーは専用の有償のIDEが必要なんで、今よりIDEのライセンスが高くなるんじゃない?
第三に、昔は秀丸とBATファイルで出来たんですよね?なんで豪華な開発環境が必要なの?
と云うように開発の都合なんて知ったことか、さっさと仕事を片付けろ!という人が圧倒的な多数派である。
 
なぜか?
 
お手軽で便利なアプリばかり使っていると
開発もお手軽で便利だと思ってしまう。
それが人間なのです。
貴方だって!
100円のAndroidのアプリ開発も
エンタープライズ(ゴミの掃き溜め)な開発方法なら
何億もかかるなんて想像もできないでしょ?
 
~WEBサイドIDE~
Bespin ⇒ Skywriter
Cloud9 IDE



割り込み機能

多くのCPUには割り込み機能が付いている。
無限ループ状態になったプログラムを止めるには大方はパソの電源をOFFするしか思いつかないだろうが、VBのデバッグ中なら、Ctrl+Breakを押すとで停止できる。
そんな風に実行中のプログラムに無理やり割り込んで他のことをやらせる機能を割り込み機能と云う。
滅多に使わない様に思えるが、実はWindowsでは1秒に何10回以上も機能している。
一番目立つのはマウスのカーソル表示、二番目がキーボード入力、三番目が時計だろう。
その他にもUSBデバイスからの通信とかPCI-eとかLANとか、大抵の通信は割り込み処理がデフォである。
何たって相手が何時通信して来るのか判らないからだ。
割り込まれたら、マウスの座標を読んでカーソルを移動したり、画面に文字を描いたり、受信したデータをバッファに入れたり
・・・と、色々する。
もし、この機能が無かったら、MS-DOSの頃のアプリはキーボードとかマウスとかのデバイスを自前で全部処理しなければいけなかったので、当然あってしかるべきものだった。
今は、そんなものはWindowsに任せることになっているので、割り込み機能はいらないかもしれない。
 
 
 




top