ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

Windows Vistaの次のウインドウズはコードネーム「Fiji」で、出るのは2009年頃?

2006-12-17 23:35:22 | Weblog

ここのブログ

Windows Vistaの次のウインドウズはコードネーム「Fiji」
http://gigazine.net/index.php?/news/comments/20061217_fiji/

によると(以下斜体は上記ブログより引用)


Windows Vistaの次のウインドウズの開発がスタートしており、開発コードネームは「Fiji」という名称だそうです。この「Fiji」の次が「Vienna」だそうで。


(中略)


Windows Vistaの次に予定されているものとして考えられるものが2つあり、1つは「Windows Vista R2」というもの。あるいはいつもと同じように「Windows Vista SP1」というもの。どういう扱いになるかはさておき、とにかくWindows Vistaの次として現在開発されているのが「Fiji」。いわゆるマイナーバージョンアップ版という位置づけらしい。

そしてその次に予定されているのが以前は「Blackcomb」と呼ばれていた、新コードネーム「Vienna」というわけ。この「Vienna」ではVistaに搭載されなかった各機能が復活予定らしい。


で、時期については


なお、Vistaの次が出るまでの間隔ですが、どうやら2年後というのが大雑把な目安らしい。つまり「Fiji」は2009年頃、「Vienna」は2011年頃ということになるっぽい。


とのことらしい。

っていうことは、ちょっとこの後、大きく変わるのは間がありそうですね。

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Hello World程度のデータベース 準備編(データ、正規化)。

2006-12-17 19:35:19 | 土日シリーズ

 いまやっている Hello World以前のプログラム言語のあとに、Hello World程度のデータベースとして、データベースの基本的な話(情報処理試験のデータベーススペシャリスト程度の話まで)を、「情報処理とは何?」からはじめて、書こうと思っています。

 で、それ自体は来年から書くんだけど、そのネタで今思いついていることをメモメモ。
(なので、こまぎれの単語説明になっています。1月以降に書く中で、きれいにまとめます)




■データとは
 いろんな定義があるでしょうが、ここでは、
 あるモノや事柄(出来事)に関して、
 ある側面からみた結果を、
   数値、記号(文字による文章や画像なども含む)であらわしたもの

たとえば、得意先住所というのは、得意先というもの(会社)を、住所という側面からみたものです。
 同じように、得意先を名前という側面から見れば、得意先名だし、
 仕入先を住所という側面から見れば、仕入先住所です。

 ただし、住所、氏名、郵便番号など、あきらかにわかるときには、「あるモノや事柄(出来事)」を説明しないこともあります。
 上記の「住所、氏名、郵便番号」とかかれた場合、たいていは、「あなたの」のモノの部分が省略されています。

 なお、この「あるモノや事柄(出来事)」をエンティティといいます。そして、「ある側面からみた」が、エンティティの属性といわれます。

 DBの場合は、これが、テーブル名となり、「ある側面からみた」というのが、項目名となります。




■データの保存場所

 データは、コンピューター上では、どっかに置かれるケースと、ある処理からある処理へ、受け渡す(メッセージ)ために使われます。

 データとしておかれる場合は、今では3つのケースがあります
・メモリ上に置かれる
・ファイル上に置かれる
・DB上におかれる

 ファイル、DBに置かれるかどうかは、永続性によって決まります。
 つまり、電気をきっても、そのデータを保存しておかないといけない場合は、
 ファイルやDBに書き出されます。

 一方ファイルか、DBかの違いは、共有してつかうかどうかです。
 DBは、プログラム間で共有して使うため、一貫性、独立性、共用性をもたせたものです。

(自分へのメモ:ここ、詳しく書く。
 独立性を説明する前に、三層スキーマ構造を説明したほうがいいかどうかを検討)




■正規化

 DBに入れるには、データをどのテーブルのところに置くかを決めないといけません。
 この「どのテーブルに置くか」を恣意的にやると、データの共有性上、問題が起こります。
 データが独立性をたもって、共有できるようにする手法が、正規化です。

(自分へのメモ:もちょっと説明を考えたほうがいい。ちょっと無理やりだ)


 正規化には
   第一正規形
   第二正規形
   第三正規形
   第四正規形
   第五正規形
 の5種類が本とはあるのですが、第四、第五正規形は、第一正規形~第三正規形とは違った見方であり、DBを作成するには、第一正規形~第三正規形までの処理をします。

(自分へのメモ:4、5正規形、説明するか検討)




■第一正規形

 第一正規形とは、データの繰り返しをなくしたものです。
 つまり、繰り返しがあったら、それは別テーブルにします。



■第二正規形
 第二正規形の大きな作業は主キーをきめることです。
 データは、

 あるモノや事柄(出来事)に関して、
 ある側面からみた結果を、
   数値、記号(文字による文章や画像なども含む)であらわしたもの

 と書きましたが、このうち「あるモノや事柄(出来事)」、すなわち、エンティティ
ごとにデータ項目を集めます。

 そして、そのエンティティごとに集めた項目のうち、この項目がきまってしまったら、そのモノ、事柄を1つに指し示すことができるという項目を探します。
 たとえば、社員の場合、社員番号が決まると、社員が決まってしまうというようなケースです。
 項目は1つでなく、2つ以上の項目をあわせると、1つに決まるというケースもあります。それもOKです。
 もし、そういう項目がない場合は、項目に番号を振り、むりやり、作ります。

 その項目、つまり、「この項目がきまってしまったら、そのモノ、事柄を1つに決まり、指し示すことができる」項目を、主キーといいます。

 さて、主キーが決まると、主キー以外のエンティティの項目も、決まってしまいます。
 たとえば、出席者番号(これが主キー、エンティティは出席者)
  1番だったら、氏名は浅田さん、性別は女、年齢は16歳、
  2番だったら、氏名は安藤さん、性別は女、年齢は18歳、
  3番だったら、氏名はキムさん、性別は女、年齢は16歳、
  5番だったら、氏名は村主さん、性別は女、年齢はナイショ
 とか(^^;)

 このように、ある項目がきまると、他の項目も決まってしまうのが、関係従属といいます。
 で、ここで、16歳ということを聞いても、だれのことかはわかりません。浅田さんかもしれないし、キムさんっていう、3番目の人かもしれません。
 つまり、主キー以外の項目を聞いても、他の項目の値はわかりません。

 このように、主キーがきまると、他の項目も決まってしまう(関係従属)けど、他の項目値を聞いただけでは、値が決まらないのを完全関係従属といいます。

 第二正規形の定義は、主キーに関して、他の項目が完全関係従属にあることです

(自分へのメモ:わかりにくいかな。。あと、例に、生年月日を追加。
 そのために、安藤さん、浅田さん、金さんの生年月日をしらべておく)




■第三正規形

 第二正規形までやった上で、ある項目とある項目の間に、なんかすれば求まる場合、それを分ける操作を第三正規形といいます。

 たとえば、生年月日と年齢は、違いますが、もしかりに、出席者が出席する日にち(2006年12月7日)がわかれば、年齢は自動的にもとまります。
 郵便番号と都道府県のような関係も、もとまります。
 
 このように、ある項目とある項目の間に関係があり、その関係を知っていれば求まる(推移的関係従属といいます)という場合、それを分ける(郵便番号だけ入れて、都道府県は、郵便番号テーブルの中に入れる)のを、第三正規形といいます。




(自分へのメモ
 第4、第5正規形を書くか、それよりボイスコッド正規形BCNFを説明する?
 一事実一箇所(1 fact in 1 place)を説明する?検討)




  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Tomcat6.0でJSPからJavaBeanを呼び出し、うまくいかなくて結局4.1にしてしまった

2006-12-17 11:00:28 | JavaとWeb

今までTomcat6.0でJSPやサーブレットをためしていたんだけど、
JSPからJavaBean(というか、Javaのクラス)を呼び出そうとして、

ふつーに配置したら、
**** cannot be resolved to a type
というエラーがでて、(JSPが)コンパイルできない(>_<!)
(****には、そのuseBeanで宣言したクラス名が入る)

でも、examplesの下に、JSPとJavaのクラスを配置すると、
ちゃんとできるので、多分、環境の設定の問題。。。

だと思うけど、よくわかんなかったから、6.0をアンインストールして
4.1を入れたら。。。同じ配置で一発で動いた(^^;)

ってことで、4.1をこれから使って説明しようと思った、
ウィリアムのいたずらなのでした。。

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Hello World以前のプログラム言語(その10:オブジェクト指向の言語の構造)

2006-12-17 02:33:06 | 土日シリーズ

情報処理とは何?から、Hello Worldを各種言語で出力するまでの流れをかく、シリーズHello World以前のプログラム言語のつづきです(このシリーズは、土日に書きます)。

今回のお話のまえに、前回までのまとめ!




■前回までのまとめ
●コンピューターは情報を処理する機械で、

●情報を処理するとは、
  必要な入力データ(情報)をいれて、
  なんらかの処理をさせて、
  目的となる出力データ(情報)を得る
 ことである。

●で、情報を処理するのには、処理内容を指示するわけですが、それがプログラムであり、

●そのプログラムは、以下の種類の文で構成される
  ・処理を命令する文
  ・条件によって、処理を分けるための文
     単純に条件をわける文
     繰り返しする文
  ・変数を宣言する文
     利用する変数を、どんなカタチで取っておくか宣言する
       →型  変数 のカタチの文
     いくつかのまとまりであらわす
       →単純にある変数を複数個集める:配列
       →いろんな型の変数をあつめて1つとして扱う:構造体

●で、プログラムに対して、データを入力するが、そのデータは
 従業員データなど、いろんなプログラムで何度も利用することが
 ある。そこで、それらを、ファイルという形で保存している
  ファイルは、おなじデータのかたまりの繰り返しになっていることが多い。
  このデータの塊が、レコードと言っている。 

●ファイルは入力だけでなく、ファイルに出力することもあるし、
 プログラムもファイルのカタチで書いて保存する
 →データと手続きをまとめて、クラスというもので記述する
    →カプセル化
 →オブジェクト指向でのクラスの概念を、プログラムを記述する
  上でもつかうといい

●オブジェクト指向のクラス概念には、親子関係があり、これを
 継承で表現する

●オブジェクト指向では、メッセージ(引数)を変えることで
 処理をかえることができる。これがポリモーフィズムである

(赤字は前回やったところです)

 今日は、オブジェクト指向の言語に必要なことをまとめます。




■オブジェクト指向を言語で表現するときに必要なこと

そうすると、いままでのことをまとめると、オブジェクト指向
で言語を書く場合、以下のことが必要なようです。

●クラスのなかに、データと処理がかける。また、クラスは継承関係が
 表現できる

●データは、型と変数名が表現できる

●処理は、メソッド(関数)としてまとめて書け、メッセージの部分に相当する
 引数が書ける。→引数が違えば、違う関数

●処理は、
  ・変数を宣言する文
  ・処理を命令する文
  ・条件によって、処理を分けるための文
 がかける。




■これをかんたんにまとめてみると。。。

こんなかんじ

クラス  ===  継承関係を書く

   データ
     型    変数
      :
      :
      :
   データの終わり(明確にわかればなくてもいいけど)


   処理1=== 引数、引数・・・
     ・変数を宣言する文
     ・処理を命令する文
     ・条件によって、処理を分けるための文
      :
      :
      :
   処理1のおわり(明確にわかればなくてもいいけど)

   処理2=== 引数、引数・・・
     ・変数を宣言する文
     ・処理を命令する文
     ・条件によって、処理を分けるための文
      :
      :
      :
   処理2のおわり(明確にわかればなくてもいいけど)

   :
   :
   :

   処理N=== 引数、引数・・・
     ・変数を宣言する文
     ・処理を命令する文
     ・条件によって、処理を分けるための文
      :
      :
      :
   処理Nのおわり(明確にわかればなくてもいいけど)

クラスの終わり(明確にわかればなくてもいいけど)

実際、Javaもこんなようなカタチですし、
他のオブジェクト指向の言語でも、こんなカタチをしているものがあります。



     
 次回は、今日の話とJavaと関連付け、HelloWorldの書き方に入ります。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする