Your Web Application Project must be configured to use a JDK in order to use JSPs.

Your Web Application Project must be configured to use a JDK in order to use JSPs.
のエラーについて

EclipseにJDKの設定が行われていない場合に表示されることがある。
設定するためには

「ウィンドウ」 → 「設定」 → 「Java」を選択

「追加」を押下して、「標準VM」を選択後、JREホームのディレクトリーのボタンを押下し
JDKのインストールしているフォルダーを設定して「完了」を押下する。

プロジェクトを選択し、右クリックし「プロパティ」→ 「Javaのビルド・パス」を選択する。
「ライブラリー」のタブを選択肢、「ライブラリーの追加」→「JRE システム・ライブラリー」を選択し
「次へ」を押下し、「代替 JRE」のラジオボタンを設定し、先ほど設定した「JDK」を設定する。

設定が完了後に、再コンパイルが走ってエラーが表示されなくなった。

以下のサイト参照
http://code.google.com/intl/ja/eclipse/docs/faq.html#jspneedsjdk

sapporo java days

今日は「Sapporo Java Days」に行ってきました。

朝はうっかりボーっとしていたら時間が結構たっていて時間ギリギリでやばかったです><
遅刻ギリギリだったし。

マインドマップモデリング

UMLモデリングじゃなくて、マインドマップでやってみたらどうなるんだろうって
感じのニアンスの内容だったかな。
モデルとかもあってわかりやすかったと思う。
ただ実際の現場で、使うのかなと思うと堂なんだろうと思う。

自分の考えを整理して、表現するためにはすごい有効な手段だと思うし、誰かに説明するときにも
あるとものすごく便利そうだけど、作成コストに対して見合うの?って突っ込まれると少し厳しい気がする。
それを補うために自動生成って話があるのかもしれないけど、どこまでいけるのかなって感じかな。
これからどんどん発展していきそうなものなので少し気にしていきたいと思う。

Slim3のすべて

正直このセッションが目的で行きました。
話を聞くまではSAStrutsっていうすばらしい、フレームワークがあるのに同様な感じのフレームワーク
出す必要があるのかな?っていう気がしていたんだけど、話を聞いてみてちょっと納得した気がします。

Agile Modegramming for Cloud

午前中に話をされていた抽象的な部分を実装によって具体化していくというか、自動生成のデモ
とかを行っていました。席が遠い&目が悪くてあまりよく見えなかったんだけど、もっと実用に耐えるような
感じになっていくと面白いなと思った。
自動生成のために何かをするのって、その作業量を考えると実際にはそのまま作成したほうが早いかなって思うときも
あるのでどこまで有効になるかなって言う気もするけど。

Seasar2のすべて

HOTdeployの説明とS2JDBCの説明、QAって感じで構成されていてデモがあったんだけど、
これは前のSeasarConで見たことがあったことがあったのでそこまではなかったかも。
それにしてもS2JDBCって改めてすごいなと思った。流れるインターフェースはボケが始まってきた!?
俺にとってはEclipseを使うことによって最強の武器になりそう(笑)
S2JDBC-Genってほとんど使ったことがなくて、あまり興味が持てないところだったんだけど今度使ってみたいなって思う。

ハンズオンセッション

本当は温泉でハンズオン合宿見たいな感じだったんだけど、そっちが中止になってせっかくひがさんが着ているのでってこと
で懇親会までの時間があるのでその時間に?って感じで始まったんだけど、ものすごく有意義な時間でした。
今までもSeasar2のソースを読もうとしてそのたびに途中で断念してあきらめていたんだけど、
Slim3のソースの量ならよめそうだし、それに開発者のひがさんからポイントを聞けるなんて幸運はもうないんじゃないかなって
位ためになった時間でした。
やっぱりすごい人の話を聞いているとモチベーションというかやる気がどんどん出てくる!

朝ボーっとしていて本ももっていくの忘れたし、写真も一緒にとってもらおうと思っていてそれも忘れると(←これは危ない人か?(笑)
いう失態ばっかりだったけどすごい有意義な一日になりました。

sjc-p

Javaの試験であるsjc-pを受けてきましたー。

結果はギリギリ?合格でした。
12月に1回受けていたのですが、その時は調子に乗って全く勉強しない状態で受けたら見事に落ちました><
基本的なことは大体できているんだけど、普段1.4を使っているからか5.0についての知識があいまいだったりして
合格点にほんとギリギリ足りないという状態で結構落ちたあとはショックだったかも><

で、買ったチケットがキャンペーンで2度受けることのできるものだったので、本当は昨日受けようと思っていたんだけど、会場が空いてなくてでもチケットは今週の水曜日までってことでなんとか有休を使って、再度勉強して今日受けてきましたw

それにしても休んだ理由を上司に言っているだけに結構プレッシャーでした^^;

見直しをしたら何個か間違いで後に気がついたので直せたのでよかったです。
ただ、子画面がでてきてそこに回答を追記していくパターンの問題だと後で見直ししようとすると、チェック前に入力していた値がクリアされてしまうみたいなメッセージが出てきていたので、その問題で見直しは結構つらいかも。。

Webデベロッパーの祭典

土曜日に行われたWebデベロッパーの祭典に行ってきました。
北海道でまつもとさんが見られる機会がなかなかないってことで、結構混んでいたのかな〜。
予想よりはちょっと少なかったけど。

自分的にはTeedaの開発者である大谷さんが登壇されるのでぜひ話を聞いてみたいと言うことでいってきましたー。
内容的には、TeedaとかT2ではなくてFlexを使うにはって話がメインでした。
(まぁレジメにもそうかいているので(ww))

なかなか面白かったけど、Javaが中途半端になっている状態なのでひとまずは、Javaをもう少し詳しくなってからがんばろうかなと。

米林さんのJavaFXについても聞きたかったんだけど、迷って結局Rubyの方を聞いたんだけど、
ニコニコ動画とかで公開されたりしないかな。

パネルディスカッションもなかなか聞けないプログラムを始めたきっかけとか聞けてよかったw
もともとの目的を聞いたらそれはそれですごい発想だな〜と思ったしw

その後は懇親会にちょこちょこってついていっていろいろ話を聞いてましたw
気さくな方だったのですが、やっぱり話している内容はすごくてやっぱり何かをやっている人は、違うなって思う。
いきなりは無理だと思うけど、まずは少しずつステップアップしていきたいと思ったな。

Java Festa 2008

Java Festaに参加してきました。
今年で5回目の開催ですね。
自分が新人だったときに第1回があったのでかれこれ5回連続参加の皆勤賞です(笑)

受けたセッションは

の4つでした。


1.基調講演:Java Updates 2008
Javaのこれからの気になりそうなキーワードを怒涛に詰め込んでいて次から次へ!って感じでした(笑)
JavaWebStart(あっているかな><)はブラウザ上から通常のクライアントアプリ的な感じで受渡しができていて面白そうだだったかな。
JavaFXは2年前に発表されてからやっと本格的にリリースって感じだけどその間にFlashはもともと強いとしてSilverlightが盛り上がっていそうなのでそこに割り込んでいくのかな〜っていう疑問はあるかな。
そしてやっぱり最後は英語は苦手意識をもったままだとやばいよねって感じだった。
地域、そして言語は言い訳にならないって何回もおっしゃっていたし。
まずは読むところから始めてみよう。
書くのはスペルを覚えるのが。。(苦笑)


2.S-2:Androidの可能性
まだ実機が日本で発売されているわけではないので、こんなところがいいですよ〜って感じの説明とAndroidのユーザグループの説明が中心でした。
自分的にはソフトの面からいくとそこまで大きな変化にはならないかなという気もするけど組み込み系の人にとってはすごい衝撃なのかもしれないなーと思いました。


3.S-4:Junitのススメ - テストファーストの導入と運用
予想通りの内容だったのでまぁこんな感じかなと。
ぎりぎりまでGlassFishと迷っていて、結局こっちにしたんだけどGlassFishも聞きたかったかも。
Ustreamとかで公開してくれないかな。
運用というよりは開発者がPMを説得するためにって感じの話が半分と実施にJunitを使ったときのサンプルでも見たいな感じでした。
まぁJunit自体がもう浸透していることだと思うのでこのネタで行うのはなかなか難しいのかなと。WEBの画面系の試験について行ってもらえるとよかったな〜。


4.S-5:Google App Engine - Cloud Computing のキー
これからのgoogleのインフラを使ってサービスができますよ!ってネタでした。
言語自体がPythonなのでJavaをメインにしている人には興味ないのかなーと思ったけど結構たくさん人が入っていました。
Java言語でもつかるようになったら試してみたいかも。(そうしたらまた独自のSDKとかになるのかもしれないけど)
最後の質問コーナーでTシャツを質問者に配るってことをしていて、質問しようかなーと思っていたけど、後輩とかもいたのでやめておきました><
一人でいるとするんだけどなー(爆)
まぁその代わり終わった後に個別に聞いたんですけど、鵜飼さんが丁寧に答えてくれました。


こんな感じであっという間に一日が終わってしまいました。
毎年さんかしているとだんだん規模が縮小されているなーって感じもするけど札幌で一度にこれだけの
いろいろな話を聞ける機会があまりないので貴重なイベントですね。
規模が縮小されているのは、Javaがそれだけ浸透して当たり前の世界になってきたことの裏返しなのかなと。

オブジェクト指向とsmalltalk

CLR/H 第38回勉強会
オブジェクト指向smalltalk
に参加してきましたー。

普段はMS系の勉強会が中心だったのですが、今回はオブジェクト指向smalltalkがメインということでこれはぜひ参加してみたいということで。

今回は2部構成になっていて、まず第一部がオブジェクト指向についてのセッションで、第二部がsmalltalkの歴史とそして簡単な実際の使い方&ハンズオンセミナーみたいな感じでした。

第一部については
第1部
OOPとはなにか
 本来であれば基本中の基本
  OOPは2つ
   ・ ADTとメッセージング
   区別して使い分ける。
    
    
  メッセージングOOPの権化(smalltalk)
   → 得体が知れない
   → 実は身近な存在でもある。
   
  「オブジェクト指向
   プログラミング(OOP)
    → 今日のメイン!    
   分析・設計(OOAD)
    →また機会があったら

  一般的なオブジェクト指向
   カプセル化
    継承
     ポリモーフィズム
     
   オブジェクトにメッセージを送って。。。
      
  オブジェクト指向を考えた人 
   アラン・ケイ(本人談)
   実のところは?
   1977年ごろ?(smalltalkの開発者が言っていた?)
   議論の分かれるところ。
   
   アラン・ケイオブジェクト指向
    ・メッセージング    
    ・状態やプロセスの 保持、保護、遮蔽    
    ・遅延のバインディングの徹底
        
   カプセル化とは
    カプセル化→1970年代(CLU)
    継承 → 1960年代(SIMULAI)
    ポリモーフィズム(1967年 ストレイチー、1985年 ウェグナ)
    
   三点セット+アルファとして「OOP」→ ビョーン・ストラウストラップ(C++の実装者)
   
   OOPとはADTの拡張である
    手続き的なプログラミング    
    モジュール機構を用いた〜    
    抽象データ型(ADT)を    
    オブジェクト指向プログラミング
       
   モジュール化とは
    ・モジュールを単位としたプログラムの分割    
    ・モジュール内の情報の公開・非公開の制御
   
   抽象データ型(ADT)とは
    1977 バーバラ・リスコフ
     手続きとデータのセット(カプセル化
     ユーザー定義型によるモジュール化
     
   「OOP」とは
    ユーザ定義形をSIMULAクラスを使って実現
    
   SIMULAのクラス
    ・ALGOL60のブロックに「寿命」を与えた
    ・擬似並行処理のために公安
    ・手続きをクラス内に内包
    ・継承機構、ポリモーフィズム
    
   ここまでの生理
    ・OOPを言い出したのはアラン・ケイ
    ・しかしケイは3点セットをいっていない
    ・ストラウストラップが1980年代半ばにADTの特殊形態として再定義
    ・クラスを使ってADTするのがOOP
    
   三点セットの招待
    「OOP」 = 「ADT」+「クラス」
     カプセル化 。。。 ADTのこと
     継承・ポリモーフィズム
      。。クラスの機能・効果
      
   ケイの「オブジェクト指向」は?
    前述の公開されたメールのやり取りのほか、Squeak-DevMLなどで断片的に語られる
    
    それ自体をテーマに書かれた論文はない。
    
   ソフトウェアはいまだに「工学」の域に達していない
    ・ソフトウェア工学はツールやアイディアにかけている
    ・建築好学で言うなら、ピラミッドを作っているよう
    ・プロジェクトのたびに新たな学習を強いられる
    ・途中で学んだことを完成後には適用できない
    
    真のソフトウェア工学が実現するまでのつなぎ「遅延バインディング」ではないだろうか?

    遅延バインディングが可能にすること
     ・動作させながら安全ん変更を加えられるか
     ・不都合があれば取り消しが可能か
     ・すでに存在するオブジェクトに属性を追加できるか
     
    遅延システムでのプログラミング
     ・生物あるいはインターネットのような機構を想像
     ・構成成分はオブジェクトのみ。そしてそれは万能
     ・メッセージングで協動、プログラミングも同じ
     ・オブジェクトはしかるべく「振舞う」
     ・ごり押しや神がごとくコントロールはNG
     ・巨大なソフトウエアは生態系、変更は対話的
     
    二つのオブジェクト指向
     ・ストラウストラップ。。。データ型のOOP
      ADTをクラスで実現
      オブジェクトは「データ型」
      
     ・ケイ。。。メッセージングのOOP
      遅延結合をメッセージングで実践
      オブジェクトは細胞、小さな計算機
      
    プロトタイプのOOP
     当初、メッセー任具のOOPから派生的に生じた
     
     samlltakに反抗、クラスは複雑過ぎる → SELF
    
     オブジェクトにはスロットと委譲機構があれば十分
      ・メソッド・インスタンス変数はスロットで
      ・存在しないスロットへアクセスは委譲先へ
      ・クラス(メソッド保持、インスタンス生成、型)不要
     メッセージングという概念すら不要、→JavaScript

って感じでした。
第二部は実際に、smalltalkの処理系であるを用いて実際に動かしていく感じでした。実際には自分がなれていないせい&文字がかすんで(年寄りなので><)最後まではついていけなかったけど、雰囲気は味わえてよあったかなーと思います。

世の中にはいろいろな言語があって、それぞれ特徴があっていろいろな使われ方をしていてっていうのを味わえるのもこういう勉強会の醍醐味というか楽しいところかもw

自分で実際に主催することはないと思うけど、これからもいろいろな勉強会に参加させてもらってどんどん知識の幅を広げたいな〜(広げるばっかりで深くならなくてやばいけど(爆))

Eclipseでjavaのバージョンを指定して起動するやり方

1.ショートカットを作成する

2.作成したショートカットのプロパティでリンク先に以下を追加

-vm "C:\Program Files\Java\jdk1.6.0_07\bin\javaw.exe"

3.ショートカットを用いて起動すると対象のJDKで起動される。