Hatena::ブログ(Diary)

しんさんの出張所 はてな編 このページをアンテナに追加 RSSフィード

カレンダー
2007 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2012 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2013 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 11 | 12 |
2014 | 01 | 02 | 03 | 04 | 05 | 06 | 08 | 09 | 10 | 11 | 12 |
2015 | 02 | 03 | 04 | 05 | 06 | 07 | 09 | 10 | 11 |
2016 | 05 | 08 | 10 | 11 | 12 |
2017 | 01 | 02 | 06 | 08 | 11 |
2018 | 02 |

2008-10-31

[]pgAdminIIIの変わりように戸惑う

pgAdminIIIでテーブルの作成を行おうとしてタイプが大幅に変わっているのに気がついた。

8.1のころ

  • varchar:あり
  • int4:あり
  • integer:なし

8.3になると

  • varchar:なし
  • int4:なし
  • integer:あり

正直varcharをなくした理由が知りたい。text型にしないといけないとは・・・。

[]JDK6 update10が落とせない

さて、そろそろ落としてみるか・・・と思ったら落とせない。

cds-edit.sun.com」につながらないようだ。いつから落とせなくなってたのだろうか。まさか、発表からずっと落とせなかったなんてないだろうな。

[]javascriptパースの失敗

どうもNetBeansJavascriptがあるhtmljsファイルのパースに失敗する現象は6.1でもあるみたい。「6.5だけ」ということではないようだ。そういや6.1ではSwingJSFばっかりでscriptはあんまり書いてなかったかな。

[]シャープCCD搭載携帯電話

http://k-tai.impress.co.jp/cda/article/news_toppage/42505.html

やっときた。長かった。

CCD搭載のハイエンドカメラは910SHを最後に途絶えていたのですよ・・・。もう2年になりますね。

この機種もガラスレンズとメカニカルシャッター搭載。光学はないようだけれども我慢するしかないか。


やっとこれで機種変更できる・・・。

2008-10-30

[]ヨドバシドットコム

あー、本当にいまだに重いねぇ。特にトップページがすさまじい。その他のページも確かに重いが、ぎりぎり我慢できる範囲か。

なんでトップページだけ重いんだろう。CMSではよくトップページにいろんな情報を引っ張ってくることが多いと思うが、その辺が絡んでいるのだろうか。

http://neta.ywcafe.net/000938.html

なかなか面白いのだが、WeblogicOracleの組み合わせはどこも問題になるとは思えないなぁ。Tomcatもちあげすぎ。将来の負荷分散等を考えたらエンタープライズサーバーを選択するのは当たり前かと。Tomcatは正直5.5で終わったんですよ・・・。6.0がアレだというのもあるけど。かといってJavaEE5に対応していない5.5なんて誰ももうさわらんでしょう。もうリファレンス実装ではないし。Glassfishをはじめとしたアプリケーションサーバーが無料で開発できて、非常に使いやすくなったのが一番の原因だけどね。

もっともフリーのアプリケーションサーバー+PostgreSQLでもパフォーマンスだけなら問題なく出せたとは思うけど。ただし、現場に現金や時間がまともに与えられていない場合はこの限りではないのであしからず。


[追記]

トラックバック先によると4年以上前のかなり古いTomcatを使っている模様。まさかマシンもかなり古いということは・・・ありえる?やはり人の進化は4年は遅いという証明になっちまったか。

[]いろいろとGenericsの話が出てたけど

もうJava2SE5.0が登場して4年以上がたちました。この業界で4年といえばもう一昔です。

でも一昔といえるくらい時間がたってもぜんぜん普及してないですなぁ。


結局言語やライブラリフレームワーク、ツールがどんなに良くなっても人間はすぐに変わることが出来ないっつーのが悲しいですな。言語など周りの環境がどんどん変わっていくのに、それに対応しきれない開発スタイルのままでは幸せになれないですよね。でも、いまだにほとんどの大手企業は「100ステップあったらエラーが1つでるべき!エラーが出ないので試験を通すためにエラーを作りこむか」ということが普通に行われています。

あとさらに4年くらいたつとGenericsくらいは使われるでしょうか。それとも8年程度じゃ人間は変われない?

[]九十九電機がついに民事再生手続へ

http://pc.watch.impress.co.jp/docs/2008/1030/tsukumo.htm


ありとあらゆるPCショップの破産でもっとも衝撃がでかいニュースではないでしょうか。

8bit時代から日本のパソコンを支えたといっても過言ではないツクモ電気。

もっとも景気がいいPCショップなんてしりませんけど。


じゃあ最後にツクモで買い物をしたのはいつかと聞かれるとすぐにでてこない。何年前だろう。思い出せないや。Win95が出る前までは毎週のようにいってたんだけどね。あのころの秋葉原はすごいごちゃごちゃしていてツクモ以外にも見て回るだけで楽しい街だったなぁという思い出ばかりでてくるよ。今じゃ駅前のダイビルとかがでかすぎて圧迫感がありすぎる。

[]景気対策

http://www.yomiuri.co.jp/politics/news/20081030-OYT1T00028.htm

景気対策として2兆円を各世帯に配るようですね。低所得者に恩恵が薄かった定率減税よりはいいと思われます。あれは「定率」ではなく「定額」にしないと意味がありませんでしたから。

とはいえ、各世帯に3.8万円が振り込まれても喜ぶのは一時だけ。次の月からはまた悪夢の生活に戻ります。これでは意味がない。


個人的には消費税を10%にしてベーシックインカムのような感じで毎月3万円振り込むのが一番だとは思います。本当は低所得者に負担の大きい消費税ではなく、累進課税所得税のほうがいいんですけどね。毎月3万程度もらってもあまりうれしくないという人は今現在かなり幸せな生活を送っているのだと予想されます。


住宅ローン減税はあんまり意味がないと思われます。住宅をローンで購入しようと思った時点でおそらくその人は安定した雇用だったりそれなりに所得が多い方。所得が少ない人や雇用が安定しない派遣等は賃貸の人が多いでしょう。


中小企業資金繰り支援策が一番重要だと思っています。銀行は税金等で手厚い看護を受けていたのにそれの還元がないのでは本末転倒。ただ、民主案の中小企業法人税減税は疑問。中小企業税金払わないといけないところってそんなに多くないと思うのです。これが手放しでうれしいというところはそれなりに儲かっているところでしょう。

2008-10-29

[]グインサーガ 123巻

小説のほうが漫画よりペース速いとか筆者は本当に癌なんどもやってるのかと。

今回はひとつの区切りでしょう。筆者のあとがきでは三国志にしたいとのことですが、ケイロニアとゴーラとのこりの国ははどこだろう。キタイかな?外伝1巻につながる話としては。

[]ベルセルク 33巻

ひさびさにでました。32巻が出たのは去年の末でしたからねぇ。

今回はびっくりするほど話は進まず。

2008-10-28

[]香りマツタケシメジ

シメジがうっていたので即効でゲット。最近は人工栽培できるようになったと聞いたが、本当だったとは。それでもいまだ珍しい一品。

味がわかりやすいように塩味ベースで肉野菜炒めを作る。


うまい。ぷりぷりとしてかなりおいしい。

味が近いのは畑シメジかな。大きさや食感は本シメジのほうが上だけど。畑シメジ西日本では入手性がいいのがうらやましい。関東ではまだ、入手できるところがいくつかあるけど、北上すると絶望的に入手性が悪くなる。かわりにブナシメジがおいしくなる・・・気がする。

[][]超大作!

http://d.hatena.ne.jp/sakurai_youhei/20081027

この日のエントリは超大作だと思います。MIDPアプリを作る人は参考に。

S!アプリの欠点は配布方法が限られるというところでしょうか。


おいらもがんばってこれくらいのエントリつくらないとね!

[][]そういやNetBeansも1分でテーブルの一覧、修正アプリなら作れるよね

そういや某1分を見て思ったけど、NetBeansも1分でテーブルの一覧、変更修正アプリなら作れるよね。JavaEE標準APIであるJSF+JPAのウィザードでさくっとおわっちゃう。テーブルの関連も含めてすべてエンティティクラスの自動生成してくれるし、JSFのページもそのテーブルの数の分自動生成してくれる。

NetBeansならではとして面倒なIDEの設定もする必要なし。インストールが終わったらすぐに新規作成からいける。

エンティティのみならずJSFの関連の画面も作られているのがすばらしい。ManyToOneならばドロップダウンリストで、OneToManyならばListBoxで複数選択による設定もしている模様。この場合idとかが画面に出ちゃって表示がかっこわるいけど、コンバータも実は自動生成されているスグレモノなので、これを改良して表示したい項目をだせばOK。さすがにドロップダウンリスト等に表示する項目は自動判別は無理だよね。




なんかいいこと尽くめに見えるけれども、実際はそんなにハッピーではない。このJSFの雛形を改良していって業務アプリを作ることは非常に難しいため誰も使わないと思う。デモ専用というべきか。世の中のScaffoldもそうなんじゃないの?

まぁコンバータを知らない人向けにはよいサンプルにはなるかな。


それでもアプリケーションサーバーに接続するようにしていると自動的にアプリケーションサーバーにJNDIを登録し、JNDI経由でデータソースの取得をするようになっていたり、JTAによるトランザクションが設定されていたりするあたりは、さすがといいたい。

2008-10-27

[]そういや悪魔城ドラキュラ奪われた刻印がでとる

どんなゲーム化は以下のムービーを。下2つが日本語版ですな。

http://www.konami.jp/gs/game/dracula_ds3/gallery/movie.html

金なくて買えてないけど、今回もよさげ。

というか、まじでコナミは2Dゲー作ってナンボだよなぁ。グラディウスリバースにしてもそうだし。


ただ、ムービーが前作のようなおっさんホイホイではないのが残念。もちろん、しっかり作られてるとは思うけど、前作のほうがまとまってる感じがする。

http://www.konami.jp/gs/game/dracula_ds2/galleryof/movie.html

上の前作のムービーはFirefoxでは見れない模様。IEなら大丈夫。


やっぱり2Dこそが開発コストのバランス考えると一番無難なのかなぁ。その分作りこみやエフェクトの調整とかしっかり時間がとられてるものが多いし。3Dだとぎりぎり納期に間に合わせて荒削りなまま出荷するのが多すぎるというか。

おっさんは回転と半透明、多重スクロールにしびれるんだよねぇ。

[]まーたまちがっとる

http://www.atmarkit.co.jp/fjava/rensai4/saweb01/saweb01_1.html

のページ3。

Webサーバ再起動せずにコードの変更結果を反映する「HOT deploy」

これもいつもどおりWebアプリ再起動せずにの間違いかと。コード修正してアプリケーションサーバーを立ち上げなおしてる人なんていないよ。

[追記]

現在は修正されています。すばやい対応がすばらしいです。


とりあえずおいらも1分で業務アプリが作れるように修行するであります!つまり10分で業務アプリ10本だもんね!がっぽりもうけるよ!

[]NetBeans10周年かぁ

http://d.hatena.ne.jp/happy_ryo/20081026#1225017011

10周年とはいまさら知る。

ども、行間設定ガ6.5でなくて泣いているるshinsanです。デフォルトフォント(monospaced)だと行間あけてくれるのでわりといいのですが、フォントを少しでも変えると行間がなくなって非常に見にくいのです。

おっと、話がそれました。


おいらがNetBeansで仕事をするようになったのは3.5あたりです。6年位前ですかね?

当時のJavaIDEでトップシェアは間違いなくJBuilderでした。実際JBuilder6は持っています。Webアプリの開発ではEclipseNetBeansJBuilderの足元にも及ばなくて、SwingNetBeansといい勝負、エディタのみならEclipseが勝ちといった感じだったと思います。全体的にウィザードの完成度などNetBeansEclipseはぜんぜん追いついていませんし、今でも追いついていないところが結構あるような気がします。さすがは有償製品です。

悪くはない製品なのですが、新しいJDK対応が遅いことや、Swingの開発をしていてもすぐにJBuilderのパッケージのライブラリを埋め込まれてしまうことなどがちょっと気になっていました。また、定型コンポーネントだけを使うのならJBuilderはお手軽に扱えたのですが、細かいことをやろうとするとちょっと大変(この感覚はVBとかDelphiAccessに似ている)なのに対して、NetBeansのほうはちょっと敷居は高いのですが、細かいところが逆に触りやすく(APIそのまんまだしてるしね)どんどん惹かれていきました。このときはすでに個人事業主だったこともあり、無料というのはかなり大きいことでした。

NetBeansは非常に良いものでしたが、JBuilderEclipseと比べるととっつきがかなり悪いイメージでした。それもそのはず、SwingのテーマがSusyemLAFではなく、メタルでしたから。今でこそメタルはテーマを導入してかなりきれいになっていますが、当時のメタルはかなりきていまして、すぐに文字が太くなって見にくかったりしていました。

そこでJBuilderと同様にSystemLAFに変更した3.6が登場します。中身はほとんど変わっていないのですが、これが大きく受けました。見た目のよさってかなり重要なのだとこのとき実感したものです。機能を重視するであろう開発者ですらこれなのですから、一般ユーザーならばなおさらでしょうね。

そしてまもなく、4.0が登場します。3.6までの知識が紙くずになるくらいの大幅な変更でした。ショートカットの変更やビルドAntベースに大幅に変更され、プロジェクトの構成が今までのはなかったことにされたというとんでもないものでした。NetBeans本がこのとき登場しますが、3.6ベースのためあまりの違いに泣いた人も多かったと思います。

4.1ではJ2SE5.0がメインの環境となりました。このあたりからJavaの標準仕様を牽引するIDEになってきます。実際EJBなどJ2EEの開発をする場合別途高額なお金を払うことが必要だったのですが、4.1からは無料で開発が出来るようになりました。JBOSSなど他社のアプリケーションサーバーにも柔軟な姿勢を見せ始めたのもこのころからです。

続いて5.0が登場します。当初はこれ4.5とか言うバージョンだったと思いますが、メジャーバージョンをあげたのは成功でした。実際グループレイアウトを搭載し大幅に敷居を下げました。リファクタリング機能も搭載され、CVSが標準で使えるようになったのは大きな進歩でした。

そして、5.5が登場します。これが今のNetBeansJavaの基本機能の原点といっていいでしょう。VisualWebパックやエンタープライズパックなどを搭載し、sunがNetBeansリソースを集中した瞬間です。EJB3JPAJAX-WSも真っ先にサポートされました。サーバーもGlassfishV1が用意され、開発の容易性は一気に高まったのです。5.0とはもはや別次元の製品でした。

6.0ではエディタが大幅に改良されました。別途パックとしてインストールしなくてはならない製品も統合され、とくにVisualWebJSFは通常のプロジェクトとなって扱いやすくなりました。StrutsJSFの混合も出来るようになったのです。一番の目立った点はRubyサポートでしょうか。このあとJava以外の言語を積極的にサポートしていく総合的なIDEになるスタート地点です。

そして現在最新版である6.1。大幅な安定化と高速化を果たしました。JAX-RS(まだ0.8までだけど)やMySQLの検出、Springに対応などそれぞれは大きい対応ではないのですが、正直0.1上がっただけのバージョンとはとても思えないくらいよくなりました。

もうすぐ登場予定の6.5はどうなるでしょうか。


とりあえず10歳おめ。

[]地方から出るには勇気がいる

http://d.hatena.ne.jp/happy_ryo/20081026#1225031786

リンク先みて知りましたが、ああ、岩手の方なんですか。おいらは青森県八戸市から出てきました。いわゆる津軽ではなく、南部なので岩手のほうが文化的に近いのでなんとなく人事とは思えませんなぁ。いまでこそ新幹線直通ですげー一瞬で帰省できるようになりましたけど、昔は盛岡にお世話になったものです。


おいらも大学は出てないし、普通免許もないです。地方で暮らすならとろうと思っていましたが、都心部では車は使わないのでそのままだったりします。

地方だと大学が非常に少なく、大学を出るというのは並大抵のことではなくて、よほどの金持ちや天才じゃないと行かないイメージなのですが、都内に来ると地方でいう「高校を出ること」=「大学を出ること」になっていてかなりびびった記憶があります。

たしかに東京神奈川千葉埼玉茨城東京周辺で大学を検索すると900件とか引っかかるのはすさまじいの一言です。



最近新人と戯れて若いというだけで十分価値があると思い始めたおっさんのつぶやきでした。


しかし、ネット上でのやり取りってすごいなー。みんなIT業界といいつつアナログだよね?

2008-10-26

[]久々にORなんて聞いた

http://d.hatena.ne.jp/kagamihoge/20081026/1224995715

ORマッピングではなく、オペレーションズ・リサーチのほうね。よくよく考えると社会人になってから一度も聴いたことのない単語だった。

待ち行列理論とかゲーム理論とかクリティカルパスとか面白い内容が多いんだよね。

例えばゲーム理論を認識している人ならば複数の選択肢で最良の結果を求める方法とか、ローリスクローリターンでいいのか、ハイリスクハイリターンでいいのかの判断って出来ないよね。下手をするとハイリスクローリターンを選択してしまう。


また久々にORの本読みたくなってきた。たしか2種の出題範囲に入っていた気がするけど、これは理系だからどうだということではなくて普通に高校あたりで必須科目にしたほうがいいような気がするんだけどなぁ。

[]一回休み

今日は体調が朝から優れずよこになったりしてました。疲れが抜けてないからですかねぇ。昨日もほとんど倒れていたけど。


軽くblogの巡回してると当たり前ながら面白いことがわかった。おいらのように普通に毎日日記代わりに書くというパターンのほかにおおむね3つある。


まず土日はほとんど書かない人がいるということ。平日はガンガン書いていたりするけど、土日は家族サービスなんですかね。なんとなく、恵まれている人(?)に多いパターン。

次にそれとは逆に土日に書く人。趣味の時間が取れるのは主に休日。こちらはどちらかというと納得しやすいです。技術的なこととか、どこどこへいってきたとか能動的な行動をした話が多く面白いです。

そして大きいネタが入るまで書かないという人。普段書かないだけあって、おもに濃いネタが多く、面白いのですが、巡回しても更新されてないことが多くてがっかりすることも。



まぁ分類わけしたところで、特に意味はないですけど。

2008-10-25

[]ポップアップの不統一感

ウインドウのタイトル部分にマウスカーソルを載せるとポップアップが出る

・・・のだがこれがどうも統一されていないようだ。

タブのテキストがそのまま出るタイプがほとんどなのだが、まったくでないウインドウも以下のものがある。

  • プロジェクト
  • ファイル
  • ナビゲータ
  • お気に入り

どうも、左側にあるものがすべて表示されないようだ。んーなんか不思議。というわけでこのウインドウを違う場所に持っていくと表示された。左側にドッキングしてるときには表示しないようになっているっぽい。なぜこんな仕様にしたか不明。むしろ左側のタブは幅が狭いとタブ名が見えないことが非常に多いので(特にお気に入り)ポップアップが出たほうが助かるんだけれども。


また、タスクリストに関しては「これは「タスクリスト」ウインドウです」と表示されている。なんか違和感が。

パレットはコンポーネントパレットと表示される。まぁこれはいいか。

Mercurialにカーソルを合わせると開いているすべてのプロジェクトのパスが表示される。親切。

CVSは「CVS」とだけ表示される。不親切。



6.5RC1を入れてみると6.1と比較してウインドウの名前が微妙にかわった箇所があるようだ。

[]JSF2.0をさらに触る

今日もビシバシいくぜ!

今回は追加されたメソッドについて。


JSF2.0のメソッドを見るとどうやらサーブレットAPI経由で使っていたものが「ExternalContext」ですぐに触れるようになっているようだ。これはやっぱり便利。

さらに、ポストバックしたかどうかもわかる「isPostback」メソッドが追加された。これは正直JSF1.0で実装すべきだろうというメソッドだったのだが、これが標準化された。VisualWebJSFでは「isPostback」はすでにPageBeanに実装されていたため、特に問題はなかったが素のJSFを使う場合は真っ先に自分で実装しなくてはならないメソッドだった。


というわけでそれらを使うように改良したコード。

まず、下記のエントリをすでに打ち込んで動いているものとする。

http://d.hatena.ne.jp/shin/20081023/p3

hoge.jspを以下のようにアクションボタンを追加。

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>

<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <f:view>
            <h3><h:outputText value="#{requestBean.message}" /></h3>
            <h3><h:outputText value="#{requestBean.message}" /></h3>
            <h3><h:outputText value="#{noneBean.message}" /></h3>
            <h3><h:outputText value="#{noneBean.message}" /></h3>
            <h3><h:outputText value="#{sessionBean.message}" /></h3>
            <h:form>
                <h:commandButton value="さぶみっと" action="#{noneBean.action}"/>
            </h:form>
        </f:view>
    </body>
</html>

NoneBean.javaを以下のように修正。


package jsf20test;

import java.util.HashMap;
import java.util.Map;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.faces.model.ManagedBean;

@ManagedBean(name="noneBean" ,scope="none")
public class NoneBean {
    
    
    public String getMessage(){
        FacesContext fc = FacesContext.getCurrentInstance();
        ExternalContext ec = fc.getExternalContext();


        return "スコープなし/"+this+
                " , isPostback=" + fc.isPostback() +
                " , path=" + ec.getRequestScheme()+"://"+
                ec.getRequestServerName()+":"+
                ec.getRequestServerPort()+
                ec.getRequestContextPath()+
                ec.getRequestServletPath()+
                ec.getRequestPathInfo();
    }
    public String  action(){

        FacesContext fc = FacesContext.getCurrentInstance();
        ExternalContext ec = fc.getExternalContext();


        Map<String,Object> params = new HashMap<String, Object>();
        params.put("maxAge", 60);//1分間有効なCookie

        ec.addResponseCookie("testCookie", "JSF2.0test", params);
        return null;
    }
}


実行してみる。

1度目

リクエストスコープ/jsf20test.RequestBean@483edb | セッションスコープ /jsf20test.SessionBean@18f22f3

リクエストスコープ/jsf20test.RequestBean@483edb | セッションスコープ /jsf20test.SessionBean@18f22f3

スコープなし/jsf20test.NoneBean@1da5d7 , isPostback=false , path=http://localhost:8084/JSF2.0Test/faces/hoge.jsp

スコープなし/jsf20test.NoneBean@72f580 , isPostback=false , path=http://localhost:8084/JSF2.0Test/faces/hoge.jsp

セッションスコープ /jsf20test.SessionBean@18f22f3

2度目

リクエストスコープ/jsf20test.RequestBean@38160a | セッションスコープ /jsf20test.SessionBean@18f22f3

リクエストスコープ/jsf20test.RequestBean@38160a | セッションスコープ /jsf20test.SessionBean@18f22f3

スコープなし/jsf20test.NoneBean@2ef2d7 , isPostback=true , path=http://localhost:8084/JSF2.0Test/faces/hoge.jsp

スコープなし/jsf20test.NoneBean@492b68 , isPostback=true , path=http://localhost:8084/JSF2.0Test/faces/hoge.jsp

セッションスコープ /jsf20test.SessionBean@18f22f3

あとはHTTPモニタを見るとクッキーが保存されているのがわかる。

[][]pomera

http://pc.watch.impress.co.jp/docs/2008/1024/nishikawa.htm

なんともかわいらしいネーミング。立ちながら使えないPDAとでもいうべきもので、個人的にはこういうとんがったのは嫌いじゃない。

昔は折りたたみキーボード搭載ノートPCとかどんどん出ると思ったけど、そんな気配はない。UMPCのように小さいキーボードでは入力がかなり厳しいため、こういうギミックはほしいよなぁ。


そういや単三電池で駆動できるデジタルなものってかなり減ったよね。どこも充電池タイプになったというか。

2008-10-24

[]KCP+は疫病神か

http://k-tai.impress.co.jp/cda/article/news_toppage/42419.html

これで不具合は何個目だ?

ただでさえ、KCPにくらべてもっさりとかいわれて嫌われてるのに。

KDDIにとってKCP+は疫病神か。

[]奇数偶数

http://d.hatena.ne.jp/shot6/20081024#1224810464

いまのところそうでもない(偶数は比較的安定、奇数は大きな変更)ので、そこについてはあまり心配することも

内部バージョンの話?Javaにそんな方針ってありましたっけ?

個人的には

  • 1.0 正直ベータ品質
  • 1.1 大幅に整理。非推奨だらけ。事実上の正式版
  • 1.2 大幅なAPI増加。大幅な速度低下、バイナリの肥大化
  • 1.3 APIProxyとJavaSoundくらいで小さい改良。VMはHotspotと世代別GC導入。1.3.1は派手さはないが安定がうり
  • 1.4 大幅なAPI増強。速度も大幅に上昇。1.4.1でShift_JISの変更とハードウェアアクセラレーションの導入
  • 1.5 API的にはコンカレントAPIXPathくらいで小さい改良。そのかわり言語仕様追加。安定するのに1年半かかった
  • 1.6 APIの大幅な追加。u10は大幅に実行環境に手が入っている
  • 1.7 プロパティ構文など言語仕様追加予定

1.4系は3つもあるおかげで実はそんなに安定はしていなかった。1.4が安定してきたかなぁと言うと1.4.1で不具合を出して、1.4.1が安定してきたかと思ったあたりで1.4.2がでて、またうまく動かなかったり。なんかこのあたりはデグレとかエンバグが多かった気がする。

1.4以降だけをみるなら言語自体の改良とAPIの大幅な追加は交互に着てる感じか。でも、どちらも影響は非常に大きいので一概に奇数が大きい変更とはいえない。

[]JavaSEのEOL

例の表はEOLが3年でEOSLが4年〜ってことかな。

どうも日本語だとあいまいだけど、今までもEOL自体は3,4年だったから大幅に短くなったということではないような。


sunの日本のサイト見てもこの辺がどうも見つからない。

[]他の人のも見てみたいよね

おいらがこの2年で触ったものは以下のエントリで書いた。

http://d.hatena.ne.jp/shin/20081022/p1

ふと思ったが他の人はどうなんだろう。

こういうのをみんな書いてもらえると、どういう言語やフレームワークが流行っているか、気になっているかという方向が見えて面白いと思うんだけれどもどうだろう。

やっぱりデータベースOracleが多いんだろうなぁ。C#案件はどれくらいあるんだろう。オープンソースは一般的になったのか。非常に気になる。

2008-10-23

[]ナイトリービルドJSF 2.0に触れる

今日が「あさって」の締め切りなので(ぉ


ライブラリは以下あたりからダウンロードする

https://javaserverfaces.dev.java.net/servlets/ProjectDocumentList?folderID=9814&expandFolder=9814&folderID=10079


faces-config.xml

<?xml version='1.0' encoding='UTF-8'?>

<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
                  http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
              version="2.0">

</faces-config>

hoge.jsp

<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>

<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">


<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <f:view>
            <h3><h:outputText value="#{requestBean.message}" /></h3>
            <h3><h:outputText value="#{requestBean.message}" /></h3>
            <h3><h:outputText value="#{noneBean.message}" /></h3>
            <h3><h:outputText value="#{noneBean.message}" /></h3>
            <h3><h:outputText value="#{sessionBean.message}" /></h3>
        </f:view>
    </body>
</html>

スコープなしBean

package jsf20test;

import javax.faces.model.ManagedBean;

@ManagedBean(name="noneBean" ,scope="none")
public class NoneBean {
    
    
    public String getMessage(){
        return "スコープなし/"+this;
    }
}

リクエストスコープBean

package jsf20test;

import javax.faces.model.ManagedBean;
import javax.faces.model.ManagedProperty;

@ManagedBean(name="requestBean" ,scope="request")
public class RequestBean {
    
    @ManagedProperty(value="#{sessionBean}" )
    private SessionBean messageBean;

    public void setMessageBean(SessionBean messageBean) {
        this.messageBean = messageBean;
    }
    public String getMessage(){
        return "リクエストスコープ/"+this+"  |  "+messageBean.getMessage();
    }
}

セッションスコープBean

package jsf20test;

import javax.faces.model.ManagedBean;

@ManagedBean(name="sessionBean" ,scope="session")
public class SessionBean {

    public String getMessage(){
        return "セッションスコープ /"+this;
    }
}


結果

リクエストスコープ/jsf20test.RequestBean@1e8b957 | セッションスコープ /jsf20test.SessionBean@1e001c8

リクエストスコープ/jsf20test.RequestBean@1e8b957 | セッションスコープ /jsf20test.SessionBean@1e001c8

スコープなし/jsf20test.NoneBean@1952be0

スコープなし/jsf20test.NoneBean@739474

セッションスコープ /jsf20test.SessionBean@1e001c8

リロード

リクエストスコープ/jsf20test.RequestBean@8f337b | セッションスコープ /jsf20test.SessionBean@1e001c8

リクエストスコープ/jsf20test.RequestBean@8f337b | セッションスコープ /jsf20test.SessionBean@1e001c8

スコープなし/jsf20test.NoneBean@24de67

スコープなし/jsf20test.NoneBean@853e51

セッションスコープ /jsf20test.SessionBean@1e001c8



ポイントはセッションスコープのBeanをリクエストスコープのBeanに注入しているところ。また、xmlは見てのとおり空っぽ。管理Beanはすべてアノテーションで指定している。xmlはページナビゲーションのみになるくさい。

ちなみにスコープの小さいBeanの注入は出来ない。ショートスコープと怒られてしまう。ただし、スコープなしはどのBeanにも注入可能だ。EJBなどを使わないでビジネスロジックを書きたい場合、このスコープなし管理BeanにUserTransactionとEntityManagerやDataSourceをインジェクトするといいのだろう。

注入はフィールドインジェクションかと思ったらまさかのセッターインジェクション。セッターつけないでずっと悩んでいた。JSF1.2から何も変わっていないのね。



しかし、アノテーションで設定できることによってやっとJSFのDIが生かされる事になったという感じ。XMLで注入をいちいち書くのはかなりつらいから事実上使い物にならない機能だった。

でもこの程度のアノテーションだったら正直JSF 1.5とかいう名前でJavaEE 5に入れて欲しかった。機能そのものは変わっていないわけで。JPAEJBアノテーション多用によって敷居を下げてたのにJSFは1.1の改良程度でこれだけJ2EE時代に取り残されてる感じが強かったから。

[]JavaSE for Businessの広告企画

http://www.atmarkit.co.jp/ad/sun/0810javaseforb/0810javaseforb.html

shot6さんところで知る。


StandardとPremiumで価格差が少ないのでPremiumにしましょうという感じか。また、他のサポートに入っている場合は無償でfor Businessもうけられる。なかなかいい戦略だと思う。


ただ、中小企業にとってこの値段はとても飲める代物ではない。保守契約結んでるお客さんはさっさと5.0か6へアップデートしているかSIerへ効いたほうがいいだろう。

最小購入数がユーザ/マシンは5、プロセッサは1単位で可能になる代わりに単価が2倍、問い合わせはメールのみ、最新バージョンが10年間ダウンロードできる程度のサービスというのがあったら中小企業も導入しやすいかもしれない。


個人的にはマイグレーションサービスというのがどういうものか具体的な例を持って知りたいかなぁという気はする。

[]JavaSE 6 update10日本語版 が今度こそ登場

日本語サイトでリンクがちゃんとしています。FAQもリリースノートもあります。

http://java.sun.com/javase/ja/6/download.html

もしかして、今までものがなかったのにプロダクトページだけ最新にしてしまったということかな。

変更点が多いので業務ですぐに使うかどうかは心配ですな。今までのバージョンのつけ方ならば6.1(内部バージョンは1.6.1)という感じでしょうか。

でも、バグも大量に修正されているので移行したほうがいい場合もありそうでかなり悩みそう。



ところでDirect3Dによるハードウェアアクセラレーションが標準で有効になった(今まではオプションで可能。ただし、描画が崩れるため実用性ゼロ)ようですが、Java2DのAPIを拡張してもらわないと2D描画ですらJOGLをダウンロードしてOpenGLを使わないといけないという状態は変わらないと思われます。

そのうち、アクセラレーションがどの程度効くかベンチでもとりましょうかね。今までの標準アクセラレーション(DirectDraw。J2SE1.4.1以降)では単純なblitくらいしか効いていませんでした。それでもSwingは大幅に高速化したのは知ってのとおりです。今後はますますSwingが快適になるでしょうね。


あとは正直プラグインにここまで手を入れるとは思いませんでした。

2008-10-22

[]JavaEE 6入門

最近のJavaEE事情〜Java EE 6の向かう先〜

http://codezine.jp/article/detail/3096

シンプルに各プロダクトがまとめてあります。JavaEE 6って何?という人にうってつけ。

でも、JavaEE 6どころかJavaEE 5も知らない人は多そうなんだよなぁ。EoDに舵をきってからの標準APIは悪くないと思うよ。うん。


JavaEEとか非難するのはいいけど、実際にコード組んでみてからにしてほしいなぁ。どのプロダクトだってよいところと悪いところは必ずあるわけで、伝聞による悪いところばかりアピールされてもねぇ。このプロダクト意外といけるじゃないか、というのがほとんどの人の感覚に近いと思う。

[][]標準APIであること

http://d.hatena.ne.jp/szk-takanori/20081019/1224426948

id:kkawaさんには、海外における技術やフレームワークの主流なんかも教えてもらったのですが、アメリカでは、ESBなどのSOA案件は多かったり、WebアプリにおけるJSFJPAの利用は多かったりするそうで、それとは逆の状態である(統計データはないですが、そのように感じています)日本とのギャップも分かって、面白い会でした。

Spring方面見てると普通にJPAとかJavaEE標準APIの話がよく出てくると思っていたけど、やっぱりそうなのか。

今後の日本でどうなるかはわからないけど、「JavaEE5触ったことあります」、と堂々と言うことにしよう。


標準APIだとツールのサポートがたくさんあるのがいいんですよね。NetBeansは積極的にサポートしますし、EclipseでもIdeaでもサポートしてくれる。その他の細かいツール等も。

[]技術の興味が薄れたのではなく現実を直視しただけかと

http://d.hatena.ne.jp/nowokay/20081021#1224616671

Javaやってた人のブログ見てると最近は、元請がどうとか下請けがどうとかあのフレームワークの方針が変わってどうだとか、ブログやらプレゼンでいかにウケるかとか、なんかもう技術にあんまり興味がないんじゃないかと思ったりする。

興味がない人もいるだろうけど、もともと技術系のエントリ書いてた人ならほとんどの場合はそうではないはず。

と思いたい。


興味があってもそれどころではないとか。

たぶん、これ。少なくともおいらには当てはまるよ。

いくら技術力をつけようといったところで、技術をつけられてもSIerは困るといった感じ。だって、効率の悪い方法がすべてだと思って黙々とやってもらわないと口うるさくてかなわないもんね。

特に今は非常に不景気で仕事がない。そしてスキルがあろうがなかろうが同じ。むしろないほうがありがたられる。だから、そんな状態を危惧して声に出してるだけだと思うよ。


ちなみにおいらのこの2年くらいで実務として触った技術的なものは

趣味として

といったところ。ネット上でガンガン書いてる人には遠く及ばないけど、たぶん、技術者として最低限の人並みの勉強はしてると思う。

そして現在の収入はというと、都内に勤めて手取り換算で月給14万くらい。まーどんどん貯金が減っていきますね。でも収入ゼロよりははるかにありがたいと感謝しています。

別に技術力をつけたら金をたくさんくれとまではいわない。せめて普通に暮らせるだけの金はほしい。貯金が減らないであろう手取り換算で18万円くらい頂けるならおじさんがんばって働いちゃうよ!Blogで愚痴もいわないよ!



ふと思ったけど

Javaやってた人

ということは今はJavaやってない人か。現場から離れた人なら仕方ないんじゃないかな。



とりあえず、みんなあさってまでに技術ネタをしこもうぜ。

2008-10-21

[]PSP-3000の液晶の悪さ

http://av.watch.impress.co.jp/docs/20081021/sce.htm

これはどうにもならんかもしれんね。ビデオ再生でも気になるならたしかにアクションゲームとかきついかもしれない。

[]JSF 2.0の@ManagedProperty

http://blogs.sun.com/arungupta/entry/totd_49_converting_a_jsf

JSF1.2まではXML定義の大変さで簡易DIが事実上使い物にならなかったけど、2.0からは@ManagedPropertyが普通に使われるかも。

こうなってくるとWebBeansの出番は減りそう。EJB3.1では普通にwarにアーカイブされるようになるし、管理BeanにDIは手軽に出来るし。ほんとうはEJB liteのときだけはEJB自体にスコープ持ってくれるのが一番楽だけれども。というかInjectの方法統一して欲しいかも。

[]こんなアドバイスをしなければならないこと自体、実に情けないことです

下流から見たIT業界 SEPG、どっちが頭がいい?(2)

http://el.jibun.atmarkit.co.jp/karyu/2008/10/sepg2-0e2d.html


さっそく画面デザインと機能仕様書が渡されました。画面は数カ所のセクションに別れ、サブミットボタンも数個あります。たいへんなボリュームなのにそれを3日で作れという。

 その結果PGはどうしていたかというと、COBOLと同じように、すでに誰かが作ったクラスを流用して手直しして使っている。1リクエストに対して1クラス、それも1メソッドにすべての機能をコーディングしていました。当然メソッドのステップ数は数百に及びます。クラス構成もオブジェクト指向もありません。ただひたすらに急いで作って動けばいいという作り方です。こんな作り方ではかえって工数がかかってしまうのですが、そんなことおかまいなしです。

これが普通だと思ってる人は多そう。


このような開発を強いられたのはこのときだけで、これ以後こんなタコ部屋開発は経験したことがありませんが、もしかしたらまだどこかで、外国人PGを集めて同じ様な作り方をしているところがあるかもしれません。

外国人どころか日本人で普通にあると思うけど。


ごく少数のPGは実装技術の重要性に気がついて実装セクションに残ろうとしますが、そんな「変わり者」のキャリアパスを許容してくれるのは、人件費に余裕のある大企業だけです。大きな会社では(SIer以外でも)IT関連部署に、いかにも「ハッカー」のにおいをぷんぷんさせた猛者がいたりするものですが、開発技術者の供給源である中小SIerでは、人員に余裕がなく、いつまでもPGとしてモラトリアムさせてもらえないのです。それでも実装作業に残りたいという人間は、契約社員になるか、わたしのような個人事業主になるしかありません。わたしが知っている中で優秀なPGと思えた人は、みな大企業の片隅で仙人のようになっているか、会社を飛び出して一匹狼になっている人でした。高度な技能の持ち主も、正当に評価されなければこのような生き方を選ばざるを得ません。

悲しいけど事実だよね。とりあえず大手にいる人は見といたほうがいいと思います。

時間がある人は(1)も。


こんなアドバイスをしなければならないこと自体、実に情けないことです。

最後の一行が涙を誘う。


[追記]

補足として、ちなみにVBが高度だとかJavaがどうだとかいう話はおそらく昔からプログラムやってきた人にしかわからないのかなと思う。コードが記述される箇所は基本的に一箇所で上からよんでいけばどうにでもなっていたのが、イベントドリブンで分散するようになって見通しが悪くなってしまって戸惑ったものだ。

C言語でイベントループ書いて、「ああ、だるい。オブジェクト指向でオブザーバパターンでもやるか」という流れのときの感覚というか。最初からJavaVBがあった環境で育った人にはこの部分がないだろうからわからんのだろうね。それにC言語は非常に言語仕様が小さいので他の言語と比べると敷居は低い(BASICからマシン語という流れを経験している人にとってアドレス計算は別に遠い世界の話ではない)からとか。


この記事が「あーわかるわかる」という人は紛れもなくおっさん技術者

2008-10-20

[]最近疲れが抜けない

今月は土日まともに休んでないからかなぁ。なんか体壊しそう。

とりあえずまだ大丈夫だと思っている20代の人は30代になったときの体力の異常な衰えに恐怖すべし。


でも40代、50代となったらさらに低下するのは目に見えているわけで、定年まで働くって実はものすごい超人的な能力が必要なんじゃないかと思えてきた。

[]共感

http://genzou-postit.blogspot.com/2008/10/blog-post_18.html

  • テーブルAのpk:x
  • テーブルBのpk:x,y
  • テーブルCのpk:x,y,z

テーブルAとBは1:n、テーブルBとCは1:nの関係です。

これ、おいらも嫌いな構成。主キーの持ち回りですね。

例えば10年前のマシンとかだとやっと200MHzいったあたりで、連結はそれなりにマシンパワーを食う処理でした。ですから、連結先からデータを取得できるのはわかっていても取得しないという現実的な理由も承知しています。

また、値の重複でもいいですけど、それによる弊害の回避をする独自のフレームワークライブラリ管理ツールをすでにそろえているということならばかまいません。結局テーブルの設計だけですべてが決まるわけではないですから、トータル的に良いほうを選ぶだけですから。でも、そんなのは大概用意されてないですよね。



制約についても同じ意見です。

これトランザクションなしでリカバリする場合が少し面倒だという程度でしょうか。

思い当たるのはAccessが運用していると制約を頻繁に壊すので悪いイメージがあるのでしょうか。

2008-10-19

[]JavaSE 6 update10がいまだに落とせない

http://java.sun.com/javase/ja/6/download.html


リリースノートやFAQ等ドキュメントのリンク切れや古いままなのはいまだに直らず。

そしてそのうちダウンロードできるようになるだろうと思っていた肝心の本体だが、いまだにダウンロードできず。


どーなってるんだろ。

2008-10-18

[]JSFGWTJAX-RSが力を合わせれば

JSFってもともと「Device Independence」をうたっていたよね。JSP以外全然対応してないけど。これがMXMLに対応したらどうなるだろうか。さらにいうとVisualWebJSFのようにぽとぺたで配置できるとさらによい。


そしてGWTのようにトランスレータJavaコードからASファイルを生成し、JAX-RSとスムーズにサーバーとの連携ができるようになれば・・・NetBeansの天下が来てもおかしくない・・・かも。


と思ったのは、まったく進展が見えないJavaFXどうすんの?ということをいつも考えてたから。既存のランタイムの上に構築したほうがいいんじゃないの?言語としてJavaと違うものを用意して現場で複数の言語を覚えなくてはいけないことで苦労するより、すでに技術者が扱いやすいJava言語1つでサーバーサイドもクライアントサイドも使えるというほうがどう考えてもいいでしょう。

ユーザー側がFlash版、JavaScript版、WebStart版などとランタイムを選べることができる柔軟性があればそれでいいんじゃないかなぁ。マシンスペックが低い場合WebStart版が一番パフォーマンスは出るだろうし、JavaScript版だと有名どころのブラウザサポートがあればそれでよい。というか、すべてのブラウザで高速、高機能なCanvasが実装されればそれだけでたぶん世界は変わるかもー。


という妄想。

[]Sun Niagara 3

http://www.geocities.jp/andosprocinfo/wadai08/20081018.htm

Niagara 3はとうとう16コア*16スレッドで1チップで256ハードウェアスレッドですか・・・。

これだと1ユーザが1スレッド占有しても256人もアクセスできるわけで、ぶっとんでるなぁ。メインメモリも順当にいけばテラバイトいくよね。


こういうミドルレンジサーバの性能が上がるとRockなどのハイエンドなマシンはますますニッチ向けになりそうです。実際ローエンドサーバ(いわゆるPCサーバクラス)がかなりはばきかせてるし。

[]今週は先週以上にへとへとだぜ

その上土曜日も日曜日も休みないけどな。


ちょっと倒れるんじゃないかと思うくらい体力的に低下しているのを実感していまする。

[]NECUMPCもやるきがねぇなぁ

http://pc.watch.impress.co.jp/docs/2008/1016/nec.htm

国産はおとなしくスペック重視したほうが良いと思うのですが。

超低電圧版な高機能高価格のマシンと低機能低価格UMPCとでは価格と性能差がありすぎるので、中間くらいがあってもよさそうなのですが。

2008-10-16

[]PSP-3000の液晶がPSP-2000より悪いらしい

いろんな比較画像を見ているとどうやらそうらしい。

静止画でなおかつ自然画ならばきれいに出るという感じ。写真とかきれいみたい。でも画面の書き換えが入るゲームにはあわない仕様だ。


あー、ますますノンゲームに力を入れたのか。

[]お疲れモード

しょうが焼きを作って食す。


うう・・・なんか味がおかしい。


いろいろと手順を思い出した結果、「しょうが」をいれわすれたようだ。だめだ。疲労が蓄積しすぎ。

[]セオリー・・・だと?

http://d.hatena.ne.jp/bleis-tift/20081016

セオリー・・・だと?

セオリー

1a (実際に対して)理論,学理 (→practice).

b [また a 〜] 理屈,空論; 仮説.

2a 学説,説,論.

b +that[単数形で] 〈…という〉説,論.

3a 意見,持論,私見 〔of,about〕.

b +that[単数形で] 意見,持論.

4 【数】 …論

私見とか空論とかでいいのか。

[]NetBeans開発版がダウンロードできなくなってる

http://ja.netbeans.org/downloads/index.html

からリンク先へ行くと…404。ううむ。

[]JavaSE 6 u10登場

大幅に変更が入ったといわれるupdate10がついに登場。それだけにバグがないか心配だったり。

http://java.sun.com/javase/ja/6/download.html

おかげでバージョン番号がupdate7から大幅に飛んでいます。

従来の番号のつけ方からいくとこれは1.6.1相当でしょう。


日本語ドキュメントはまだ整備されていないようで、リンク先が切れていたり古かったりしています。早く何とかしてほしいものです。

[]玉ニュータウンDVDが出る模様

http://www.gp-museum.com/release/0811/10.html

下のほうに動画があるのでなんとなく雰囲気はわかるかな?


埼玉に住んでない人以外はぜひ見て欲しい。強烈なローカル番組だから。事実上の伝説の番組である関口さんの後継番組。


ところでキャサリンの3D化はいつになるだろうか。

2008-10-15

[]EeePC900はやはりバランスが良い

実機もビックカメラで見てきましたが、スペックのバランスはEeePCシリーズの中で最も良いですね。バッテリのもちがやや気になる人もいるかもしれませんけど、1Kgをきった重量で5万円を切っるのはさすがというところでしょう。

でも外でお気軽にアクセスするためには工人舎やLooxのようにタッチパネル搭載が必須だと思いますが。個人的にもこのクラスはPDAスタイルが一番いいと思うのでぜひEeePCにも乗せて欲しいところ。日本ならばタッチパネルを載せて高価格化したところで、たとえば79800円になったところで問題はないでしょう。

[]ちょっとした衝撃

俺には「作りたいものはない」 プログラミングそのものを四年間も学習・研究の対象にしてきた

http://d.hatena.ne.jp/kagamihoge/20081014/1223980632

ちょっと衝撃を受けた。

そういう人もいるんだろうなと思っていたけど、本当にいるとは。仕事や授業以外でプログラム書く人はみんな作りたいソフトがあるものだと思っていたから。


8bit時代にPCさわるってのはかなり敷居の高いことだった(本体の価格が高いこともあったし、マイコン触れる人=人間的に問題ありとレッテルはられる時代)からそういう人は少なかったと思う。欲求に対して本体のスペックも低くて実現が困難なモノだらけだったけど、それだけに切磋琢磨していたというか。

2008-10-14

[][]かなりへこむ

データベースの設計時に「ID導入で変更にも強くなるんだよ」、といったら、「代替キーでは正規化が出来ないから使わないのが常識だろ池沼」といわれた。RailsとかHibernateとかJPAとかの推奨構成なのだが、これらフレームワークを作った人涙目。

テーブルの構成を考えるときにいきなり各テーブルの詳細な項目を洗い出して終了。Excelフォーマットで構成が出来上がればそれで終わりらしい。関連のラインも一切引かないことにたいしておいらが不満をだすと、「FKを考えないのは常識pgr」とかいわれた。おいらの場合は各テーブルの詳細な項目はとにかく後回しにする。得意先マスタなら得意先の名前とか住所とかいろいろとあるだろうなぁということはすぐにわかるし、まずは主要な項目と関連を書いて全体を大まかに把握する。PKFKがメインとでもいう感じで。

いずれも意訳だが、正直かなりへこんだ。



DBのコネクションをサービスクラスやDAOクラスまで引き回してぐちゃぐちゃになったり、コンテナ管理のトランザクションなにそれとかJDBC直だけが正義とかまぁいろいろとある。

そもそもSAStrutsどころかSeasar2自体しらない。Google Guiceもしらない。JQueryとはなにぞ?JSFJPAEJB3という聞いたこともない技術が標準技術だって?Springは聞いたことあるかも。でもDIコンテナ自体意味がわからない。もちろんGlassfishJBOSSなど知らない。Tomcat以外のAP鯖は目にとまらないようだ。フレームワークStruts以外わからない。



というのが当たり前の環境にいるので、たまには愚痴らせて。

J2SE5.0とかの移行はすましてるのでまだましなほうなんだろうけど、来年までにJavaSE6に移行が完了しているかについてはちょっと不安。

2008-10-10

[]NetBeans日本語サイトのリンク間違ってね?

http://www.netbeans.org/features/index_ja.html

左にあるリンクはすべて英語。ああ、全然日本語化されてないじゃないか・・・とおもいつつファイル名に「_ja」をつけると日本語のドキュメントがいくつか表示された。

せっかく翻訳してるのにリンクしてないのはもったいない!

翻訳されたページであってもリンク先はことごとく英語版。


これはわざと・・・ではないかさすがに。

NetBeansはどういった機能があるか、ちょっと機能のまとめエントリでもつくろうかな。

[]日本ゲーム大賞2008

http://www.watch.impress.co.jp/game/docs/20081010/awards.htm


経済産業大臣賞」が新設された模様。初代の受賞者は宮本茂氏。

この人なら誰も文句はいうまい。


やっと日本でもちゃんと評価された気がする。

2008-10-09

[]これがあの のびのびBOY・・・だと?

http://www.jp.playstation.com/tgs2008/ps3/software/00_24.html

うわ、以前画面が出てたのとまったく別物になってる。PS3である意味がもはやないなぁ。PSPでいいんじゃないの?

2008-10-08

[]トランザクションメモリといえば・・・から始まる横道

http://d.hatena.ne.jp/shot6/20081008#1223428034

トランザクションメモリーといえば、Sunの次世代CPUで開発中のRockがハードウェアトランザクションメモリを採用という思い切った設計をしているのが非常に面白い、というのははてなにきてる人なら常識ですのであまりつっこみませんが、仕組みとしてはいわゆる楽観的ロックですよね。



今システム開発をしていて楽観的ロックを採用しているところは多くなってると思います。バージョンカラムを見かけることは増えましたよね。

でも、楽観的ロックの最大の特徴であるロールバックしたあとどうするか、が記述されてないシステムが多すぎる機がします。つまり、後から更新に行った処理はすべて破棄されてしまいます。一括してcatchしてるとまるでユーザーが不正な処理を行ったかのようなエラーメッセージを表示してしまうかもしれません。

通常はもう一度トランザクションを開始してみたり、すでに更新されていますと表示してユーザーの反応を見るとかが必要なはずなのに、それらの処理が記述されていないことが割りと見受けられます。

楽観的ロックの使い方も知らないのなら悲観的(つまり上書き)のほうがいいじゃないかと。さらに言えば(システムにもよるが)ほとんどの場合バージョンカラムを破棄して完全上書きでもいいじゃないかと。

現在DBアクセスはORマッピングで隠蔽されていると思われます。SQLを直に触ることはまずないですよね。一般的なORマッピングは更新されたプロパティのみupdateが行われます。したがって完全上書きでも意外と問題は起こりにくいんですね(もう一度言うがアプリによる)。


いやー結構ありますよね。バージョンカラムを用意していながらその処理を記述していない業務系アプリ。おそらく自称SEの連中がバージョンカラムを用意すればそれですべてうまくやってくれると思って具体的な処置の記述をせずに放置してるんでしょうね。こわいこわい。

2008-10-07

[]サンダーフォース

http://www.watch.impress.co.jp/game/docs/20081007/tf.htm

最近2DSTGの充実振りがすさまじい。

XBOX360雷電4が激しくやりたい・・・。どうせWinにでるだろうと高をくくって購入せず。

Win雷電3は引越しの際にどこかにいってしまった。パッケージだけは見つかったが、メディアが見つからず。まぁ、どうせあんまり面白くない作品なのでそんなにショックでもないけど。Win雷電2のほうばかり遊んでるし。でも4はいいものだ。

個人的雷電シリーズ評価

雷電2>雷電4=雷電DX>雷電雷電3

つまり、BGMのよさの順といってもいいかも。難易度を下げてのだらだらプレイがおもしれー。

2008-10-06

[]最近Wikipediaの調子が悪くない?

表示がやけに遅いとか応答がないとかよくある。

2008-10-05

[]へぇJJUGなんてものがあるんだ

http://d.hatena.ne.jp/nowokay/20081001#1222860911

JJUGってなんだろうと思って調べてみたら、日本Javaユーザーグループだって。そのカンファレンスか。へぇそんなのあるんだ。

おいらはJavaを触るようになって10年以上、仕事でJavaを使うようになって9年以上たつけど知らなかった。周りの歴戦のJava技術者に聞いてもたぶんだれもしらないだろうなぁ。


いや、もしかすると過去にも気がついていたかもしれない。でも、カンファレンスとかユーザーグループとか聞くと普通の技術者には関係のない、どこか遠い世界のお話というイメージで、自然とゴミ箱行きのフィルターにひっかかっていたのかもしれない。もっともおいらは物覚えが多少(じゃない気がしてきた)悪いからすぐ忘れていただけかもしれないけど。


−−−ここから自分の性能に対する愚痴

物覚えが悪いといっても、人の名前と顔って1度あった程度じゃ忘れるの珍しくないよね?5回くらいあっても覚えれないのも普通だよね?学生時代自分のクラスの人を一度も全員の顔を覚えたことがなくてよく先生に怒られていたけどこれも普通・・・ではない気がしてきた。さすがに。

逆においらに1度で覚えられた人はかなりの強烈な個性の持ち主だと自覚してください。まさちく氏とかCQ出版の(M)氏とか(ドタバタ編集記更新マダー?チンチン)、えふおう氏とかmkei氏とか。ですから1度会ってるはずなのにそっけないと思った人は名乗ってくれるとまじで助かります。初めてではないですよね、とよくいわれますから。

おいらはたぶん人の判別を外見であんまり判断できない人種のようです。声やしゃべり方、動き方、歩き方、考え方とかそういうデータがすべてそろわないと人の判別出来ないっぽいです。顔を見て人の判断できる営業さんとかいつも尊敬してます。

−−−愚痴終了


今回のカンファレンスも平日で、ますます一般的な技術者はおよびでないのかもしれない。Sun SPOTとかJavaの目玉(一般的なJava技術者にとって2008年のJava界で最大の目玉だよね?)のセミナーがあるようですが。



そういやもう5日が終わろうとしている。16日開催のはずなのに

http://www.java-users.jp/contents/events/ccc2008fall/

をみると

申込方法 : 事前登録開始まで今しばらくお待ちください。

となってる。よくわからないけど、カンファレンスって募集が開始するのはこんなに遅いんだ(これがいいたかっただけのエントリ)。ということは締め切りもかなり遅いってことかな。

[]地上波 ポセイドン

ポセイドン・アドベンチャーリメイク

以前見たことあるやつと違った。あれは2005年のTVドラマらしい。

この作品はやけに追われている感じばかり強すぎて面白くなかった。結果的にこの先いけるかどうかわからないけどいってみるという場面がいくつか見られた。2005年のポセイドン 史上最悪の大転覆のほうがまだましだと思う。


しかし、リメイクをいろいろと見れば見るほど初代のポセイドン・アドベンチャーのすごさがわかる。もう35年以上前の作品なのにすごい。パニック映画の頂点だ。

[]機動戦士ガンダムOO セカンドシーズン 第1話

前作のラスト近辺で無理やり大量に死人が出たように見えてそのほとんどは死んでなかった、という始まりですね。あんまり好きではない展開かも。

で、今回のセツナも主人公かと思ったら話しにあまり絡まないとかあるのかな。ファーストシーズンでは第1話と最終話くらいしか主人公らしい動きはなかったし。

主人公だと思っていたら、気がついたら敵になっていたというシード デスティニーの某氏よりはましかもしれないが。

[]ファイアーエムブレム 新・暗黒竜と光の剣 序章をプレイ

初プレイがハードだったので序章の存在を知ることなくクリアしていたが、ノーマルを選択、そして序章のみをクリアした。

なるほど、本来の史実ではフレイというおっさん騎士が囮になったわけか。

さすがに小さいマップながらも4章も追加されると1章時点でLVがみんな高い。これ、ノーマルではなくてハード以降にこそ欲しい仕様だなぁと思った。

2008-10-04

[]GWTはやっぱりRPCのほうが楽

以前JSON形式でのやり取りさえ出来ればどうにでもなると書いたがやっぱりGWTRPCを使うほうが楽だった。好きなクラスの転送が何も考えず出来るってのはやっぱり楽だわ。

転送に使うクラスはSerializableをインプリメントするだけ。あとの制限はなにもないようだ。



ただ、NetBeansGWTプラグインは1.5未対応なため、AsyncインターフェースのAsyncCallbackメソッドにジェネリクスを使うと赤い下線がでてエラー表示される。

表示上の不具合なだけでコンパイルや実行もまったく問題はない。もしくはこのインターフェースのAsyncCallbackにジェネリクスを使わなければよい。のだが、いまさらジェネリクスを使わないプログラミングなんてあぶなっかしくてありえないわけで、気持ち悪いがエラー表示を無視するほうがまだましだろう。


しかし、Asyncインターフェースのところはちょっと定義が面倒かなぁと思った。CoCによるクラス定義って好きじゃないんだよね。Javaと.NETの世界だけに閉じていいのならSOAPのほうがはるかに楽だな。JAX-WSでは面度な手続きはなくなって、インターフェースと実装クラスを用意するだけだからね。

もっともjQueryを使おうが、javascriptを直に触るAJAXは非常に面倒なのでそれに比べたら最高に楽ではあるのだけれども。

2008-10-03

[]JAX-RSGWT連携がお手軽に・・・できない!

原因はJAX-RSのJavaBeans>JSON変換のバグ。対応が大変なGWT側でなくてよかった。

JAX-RS実装はいつものJersey 0.8(現在のNetBeans 6.1でサポートされているバージョン)でのことなので0.9や1.0では直ってるかも。

2008-10-02

[]EJBWebサービスのフロントエンドにはしたくない

http://d.hatena.ne.jp/da-yoshi/20081002/1222951889

というのがsunの考え方なのでしょう。

そうでなかったら、EJBのスコープにセッションスコープとかリクエストスコープが導入されていたはず。


でも、そうしなかった。あくまでも汎用目的のビジネスロジックを記述する場所という信念なのでしょう。ですから、WebBeansで橋渡しをしてもらいたい、と。

JAX-RSからはDI出来る分だけましでしょう。他のフレームワークからもEJBを手軽にインジェクトできるようなインターフェースを用意してもらうのが一番だと思うんですけどね。

JNDIに関しては現時点では各社ばらばらですが、EJB3.1で規定されることになります。おそらくここでかなり使いやすくなると予想されます。確か依然軽く触ったときはローカルインターフェースでもGlassfishV3でJNDIは登録されていました。

EJBは3.1でやっとベースが完成したかなという感じです。warに収めることも出来ますしね。

[]おいらもJavaSE 7待ち

http://d.hatena.ne.jp/itoasuka/20081001/1222821750

老害ってことはないと思うぞ。

JavaBeans規約に基づいたツールやライブラリはものすごく多い。Javaの技術はJavaBeansを中心にまわっているといっても過言ではないので、これを崩すのは記述が楽になろうともおいらは避けたい。

プロパティ構文がずっと実装されないというのならともかく、もうすぐ登場予定のJavaSE7で導入されるわけだし、ここまできたらおとなしく待とうかな、と。ゲッターセッターをつけて書いたコードもちゃんとプロパティ認識できているだろうし。たぶん。



プロパティ構文で一番すごく変わるんじゃないかなと思うのがプロパティ名を記述できること。これがないとクライテリアはぜんぜんタイプセーフじゃなくてうまみがまったくないと思っているので、これがきたらJPAは大きく前進しそうな気がする。

もっともJavaSE 7の構文に対応するということはJavaEE 7になるわけで、いまからだと3年くらい待ちそうな気がするけど。ツールとか大きく変わるんだろうなぁとわくわくします。

[]ニンテンドーDSi発表

http://www.watch.impress.co.jp/game/docs/20081002/nin1.htm

http://av.watch.impress.co.jp/docs/20081002/nintendo.htm

音楽再生機能とカメラ機能が搭載。そのかわりGBAスロット廃止。ブラウザも無料で提供される。11月1日発売。


実は本体自体のスペック以外のほうが注目度が高い。

Wiiポイントニンテンドーポイントになる。つまり、DSでもWiiのようにダウンロードコンテンツを楽しめるわけだ。バーチャルコンソールモバイル版もそのうち登場するか?


あとは罪と罰2の開発が進んでいることやWii本体メモリの少ないことに対する対応の発表も。これはかなりうれしい。FCやPCE、MDなどのROM作品ばかりならばどうにでもなるのだが、ネオジオやCDROM2、Wiiウェアは容量がかなり厳しい。

[]今月一杯でJ2SE 1.4.2終了

以前から何度か紹介してきましたが、とうとう今月末で1.4.2のEOL(End of Life)です。

http://java.sun.com/j2se/1.4.2/ja/download.html


今月中にはJavaSE 6へ移行しましょう。おそらく、ほとんどのプロジェクトではそういう計画になっていますよね?通常保守契約結んでいて移行していないところはないとは思いますが。


J2SE 5.0へ移行と書かない理由はJ2SE5.0もEOLまで残り1年というEOL移行期間にはいっているからです。

http://java.sun.com/j2se/1.5.0/ja/download.html


たった1年後かよと思われる人もいるとは思いますが、J2SE 5.0のサポート期間が短いわけではなく、1.4があまりにも長く使われたというだけのことです。J2SE 5.0はまだ新しいものと思ってる人もいるかもしれませんが、もう4年がたちました。JavaSE6でも約2年がたちました。


まさか新規開発や開発中のプロジェクトで1.4系を選択するところはありませんよね?

2008-10-01

[]ドラクエ9の発売月が決定

大方の予想通り2009年3月。9の新しい試みはワイヤレスプレイ&Wifi対応というところ。


ドラクエ天空シリーズ連続リメイクがまだのこってますからね。しかもリメイクを一度もしたことのない6が。

もっとも、SFC版の6は駄作中の駄作。シナリオ、システムともに納得のいかないものに仕上がっていますが。シナリオは面白くなりそうな要素があったのにそれがうまく作れていないという感じ。システムも職業バランスが崩壊しています。それだけにリメイクで大きく評価が変わりそうなところではありますが。

発売からもう4年がたつというのにいまだ本体の売れ行きもトップクラスなDS。まだまだ下火になるようには見えません。