「Enterprise JavaBeans 3.1 第6版」 [プログラミング]
昨年英語版が出版されたEJB3.1 6th Edition。日本だと2002年の第3版以来の改訂版になるんですね~。
もう一度勉強しなおしてみようかしら・・・(使うところがないけど)。
もう一度勉強しなおしてみようかしら・・・(使うところがないけど)。
「Enterprise JavaBeans 3.1」
EJBの動物本 「Enterprise JavaBeans」が4年ぶりに新しくなります => 「Enterprise JavaBeans 3.1」
Spring frameworkなどが主流とり、またクラウドプラットフォームでの対応もあいまってすっかりEJBには注目してこなかったなー。
今はどうなっているんだろう??
Java SE 7 ついに登場です [プログラミング]
Java SE 6からずいぶんと時間が経過した気がします。ついにJava SE 7登場です。
Fork/Joinとかネットワーク機能、セキュリティ機能、モニタリング機能は早々にキャッチアップしたほうがよいかな??
ところでAppleがMac OS XのJavaサポートを取りやめたため、今回からリリース対象にMac OS Xは入っていません。ここはOpen JDKでカバーすることになるんだけど・・・
MacBook Air/Lionを購入する際、このあたりの動向ももう少しチェックしておいたほうがよさそうかな。
Fork/Joinとかネットワーク機能、セキュリティ機能、モニタリング機能は早々にキャッチアップしたほうがよいかな??
ところでAppleがMac OS XのJavaサポートを取りやめたため、今回からリリース対象にMac OS Xは入っていません。ここはOpen JDKでカバーすることになるんだけど・・・
MacBook Air/Lionを購入する際、このあたりの動向ももう少しチェックしておいたほうがよさそうかな。
「オブジェクト指向でなぜつくるのか 第2版 知っておきたいOOP、設計、関数型言語の基礎知識」 [プログラミング]
これからソフトウェア開発をやろうという方々は何故「オブジェクト指向」でつくるのか、なんて考えないんでしょうね。基本的にはメインの開発言語はオブジェクト指向言語でしょうし、他の方法(構造化プログラミング)なんてほとんどみたことないでしょうから。
最初に構造化プログラミングから習った私たちにとっては、なぜ「オブジェクト指向」なのかは結構重要なことでいろいろ勉強したものです。その過程でフレームワークとかデザインパターンの重要性を理解したり、オブジェクト指向分析を試みたり・・・。
そうした過程を経ないでオブジェクト指向開発をされる方にとっては本書はとても大切な教科書になると思います。なぜって、オブジェクト指向に至った過程にこそオブジェクト指向を採用する意味があり、本質があるのですから。何もわからずにソフトウェア開発を行うよりも何十倍も理解できるようになると思いますよ。
そして・・・次世代言語とも考えられている関数型言語とはどんなものなのかもついでにさわりを覚えてしまいましょう。構造化プログラミングからオブジェクト指向に移行するさいに壁があったように、オブジェクト指向から関数型言語に移行する際にも壁がありそうですから。
最初に構造化プログラミングから習った私たちにとっては、なぜ「オブジェクト指向」なのかは結構重要なことでいろいろ勉強したものです。その過程でフレームワークとかデザインパターンの重要性を理解したり、オブジェクト指向分析を試みたり・・・。
そうした過程を経ないでオブジェクト指向開発をされる方にとっては本書はとても大切な教科書になると思います。なぜって、オブジェクト指向に至った過程にこそオブジェクト指向を採用する意味があり、本質があるのですから。何もわからずにソフトウェア開発を行うよりも何十倍も理解できるようになると思いますよ。
そして・・・次世代言語とも考えられている関数型言語とはどんなものなのかもついでにさわりを覚えてしまいましょう。構造化プログラミングからオブジェクト指向に移行するさいに壁があったように、オブジェクト指向から関数型言語に移行する際にも壁がありそうですから。
オブジェクト指向でなぜつくるのか 第2版 知っておきたいOOP、設計、関数型言語の基礎知識
- 作者: 平澤 章
- 出版社/メーカー: 日経BP社
- 発売日: 2011/04/07
- メディア: 単行本(ソフトカバー)
OpenIDとOAuthのわかりやすい解説:Google I/O 2011 [プログラミング]
Google I/O 2011終了後1か月以上経過しているというのにまだ観終わっていません・・・。
今回はAuthentication & Authorization関係。「Google I/O 2011: Identity and Data Access: OpenID and OAuth」。事例はGoogleのサービスですが、OpenIDやOAuthがどういったものか、何のためのものなのかが非常にわかりやすく解説されていると思います。
OpenIDもOAuthもどちらもいろいろな面で興味があるので、ついつい観てしまった。
今回はAuthentication & Authorization関係。「Google I/O 2011: Identity and Data Access: OpenID and OAuth」。事例はGoogleのサービスですが、OpenIDやOAuthがどういったものか、何のためのものなのかが非常にわかりやすく解説されていると思います。
OpenIDもOAuthもどちらもいろいろな面で興味があるので、ついつい観てしまった。
Android SDKもかなり改善されました [プログラミング]
Google I/O 2011のセッション、「Android Development Tools」をみるとADKもかなり改善されましたね。
レイアウトエディタは1年前のものとは違うものですよ。1年前は結局XMLを直接更新したほうが早いケースが多々ありましたし、stringsやdimensionsとは切り離されている感があった。それが今はすべて統合されたエディタになっています。なんといってもレイアウトエディタレベルでのリファクタリングができるのはかなり大きい。これは本当に商用レベルのエディタといってもいいですね。
デバッグ環境も改善されているようです。先日のメモリリーク発見法だけでなく、Eclipse内でかなりいろいろな情報が参照できる。さっそく使うようにしようと思います。
レイアウトエディタは1年前のものとは違うものですよ。1年前は結局XMLを直接更新したほうが早いケースが多々ありましたし、stringsやdimensionsとは切り離されている感があった。それが今はすべて統合されたエディタになっています。なんといってもレイアウトエディタレベルでのリファクタリングができるのはかなり大きい。これは本当に商用レベルのエディタといってもいいですね。
デバッグ環境も改善されているようです。先日のメモリリーク発見法だけでなく、Eclipse内でかなりいろいろな情報が参照できる。さっそく使うようにしようと思います。
GAE/JやAndroidでGoogle APIを使うベストプラクティス [プログラミング]
Google I/O 2011 より「Best Practices for Accessing Google APIs on Android」
現在β版ではあるそうですが、Google APIのJavaライブラリ『Google APIs Client Library for Java』というものがあるそうです。
JSONやXMLをラップして、OAuth1.0/2.0やClient Loginの認証までやってくれて、お手軽に使えますよってものになっている模様。RESTのAPIはもともとありかつJavaScript版のAPIはすでにあるのだから、いくらJavaライブラリがβ版だったとしても結構完成度は高そうな気がします。
ところでこのJavaライブラリ、複数のHTTP libraryに対応しています。(詳しくはビデオの9分25秒過ぎからをご覧ください)
・Url Fetch (GAE/J)
・java.net.URLConnection
・Apache Http Client
この解説のところで、記載されているのですがAndroidプラットフォームで推奨されるHTTP libraryがバージョンによって違うそうです。
Android2.2(Froyo)まではApache Http Client
Andorid2.3(Gingerbread)以降はjava.net Client
この違いの理由は本Javaライブラリのwikiに記載されていました。Froyoまではjava.netのほうのHttpClientはbuggyだったけど、Gingerbread以降は改善されたからなそうな・・。
こういった違いはほとんど情報として挙がってこないので貴重ですね。
ちょっと次回以降の実装では参考にさせてもらおう・・・。
そのほかはとりあえずビデオを見てもらうほうがよさそうです。Google APIに興味のあるJavaプログラマはぜひご覧ください。
現在β版ではあるそうですが、Google APIのJavaライブラリ『Google APIs Client Library for Java』というものがあるそうです。
JSONやXMLをラップして、OAuth1.0/2.0やClient Loginの認証までやってくれて、お手軽に使えますよってものになっている模様。RESTのAPIはもともとありかつJavaScript版のAPIはすでにあるのだから、いくらJavaライブラリがβ版だったとしても結構完成度は高そうな気がします。
ところでこのJavaライブラリ、複数のHTTP libraryに対応しています。(詳しくはビデオの9分25秒過ぎからをご覧ください)
・Url Fetch (GAE/J)
・java.net.URLConnection
・Apache Http Client
この解説のところで、記載されているのですがAndroidプラットフォームで推奨されるHTTP libraryがバージョンによって違うそうです。
Android2.2(Froyo)まではApache Http Client
Andorid2.3(Gingerbread)以降はjava.net Client
この違いの理由は本Javaライブラリのwikiに記載されていました。Froyoまではjava.netのほうのHttpClientはbuggyだったけど、Gingerbread以降は改善されたからなそうな・・。
こういった違いはほとんど情報として挙がってこないので貴重ですね。
ちょっと次回以降の実装では参考にさせてもらおう・・・。
そのほかはとりあえずビデオを見てもらうほうがよさそうです。Google APIに興味のあるJavaプログラマはぜひご覧ください。
さらに進化するGWT [プログラミング]
自分メモ:
GWT(+GAE)という開発環境はすでに下記の書籍で結構紹介されています。
しかし、Googleのほうではさらに進化中。
それが
ObjectifyService、RequestFactory、gwt-platform(GWTP)のようです。
JDOやJDAってめんどうだよね(JPAはともかくJDOはそれほど面倒だとは私は思っていないのですが・・・)、ということから始まったのがObjectify。とても簡単にJava ObjectをDataStoreに結び付けてくれる。
そしてRequestFactoryは従来GWTで使用していたGWT-RPCに代わるもの。この仕組みを導入するからAndroidとGWTが同時に開発できるのかな???RequestFactoryはGWT2.3ですでに組み込まれています。通常面倒なValidationも含まれているらしい・・(JSR303準拠!?)
ご参考までに
従来のGWT-RPCでの開発だと14クラス必要だったものが、Obectify+RequestFactoryだと2クラス+2インターフェースになるそうな(本当か??)かなりの生産性向上です。
そして最後はgwt-platform(GWTP)。これは私にはまだ利点が見えてないんです・・・。MVPというGWTのフレームワークでその分離をよりちゃんとやる仕掛けなのかなー。うーん、勉強不足。
プレゼンテーションに関してはまずは簡単にデザインできることのほうが重要かなと思っているので、ほかのセッションを見てから考えよう。
なお、Objectify、RequestFactory、gwt-platformのサンプルは
http://code.google.com/p/gwtgae2011
にあるそうです。
HTML5にも準拠し、モバイル(iOSやAndroid)でも使え、さらに生産性も高くWeb/Androidの同時開発さえ可能となればかなりのものになりそうですよね。Objectifyなどオープンソース(Apache License)でもあるので、独自拡張もありではないかと・・・(なんて期待したりして)。
結構GWTが楽しそうに思えてきました。
<6/4追記>
さらによいGWT appを目指すならこのセッションは見逃せない!!
「High-performance GWT: best practices for writing smaller, faster apps 」
GWT(+GAE)という開発環境はすでに下記の書籍で結構紹介されています。
すっきりわかるGoogle App Engine for Javaクラウドプログラミング
- 作者: 中田 秀基
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2010/07/02
- メディア: 単行本
しかし、Googleのほうではさらに進化中。
それが
ObjectifyService、RequestFactory、gwt-platform(GWTP)のようです。
JDOやJDAってめんどうだよね(JPAはともかくJDOはそれほど面倒だとは私は思っていないのですが・・・)、ということから始まったのがObjectify。とても簡単にJava ObjectをDataStoreに結び付けてくれる。
そしてRequestFactoryは従来GWTで使用していたGWT-RPCに代わるもの。この仕組みを導入するからAndroidとGWTが同時に開発できるのかな???RequestFactoryはGWT2.3ですでに組み込まれています。通常面倒なValidationも含まれているらしい・・(JSR303準拠!?)
ご参考までに
従来のGWT-RPCでの開発だと14クラス必要だったものが、Obectify+RequestFactoryだと2クラス+2インターフェースになるそうな(本当か??)かなりの生産性向上です。
そして最後はgwt-platform(GWTP)。これは私にはまだ利点が見えてないんです・・・。MVPというGWTのフレームワークでその分離をよりちゃんとやる仕掛けなのかなー。うーん、勉強不足。
プレゼンテーションに関してはまずは簡単にデザインできることのほうが重要かなと思っているので、ほかのセッションを見てから考えよう。
なお、Objectify、RequestFactory、gwt-platformのサンプルは
http://code.google.com/p/gwtgae2011
にあるそうです。
HTML5にも準拠し、モバイル(iOSやAndroid)でも使え、さらに生産性も高くWeb/Androidの同時開発さえ可能となればかなりのものになりそうですよね。Objectifyなどオープンソース(Apache License)でもあるので、独自拡張もありではないかと・・・(なんて期待したりして)。
結構GWTが楽しそうに思えてきました。
<6/4追記>
さらによいGWT appを目指すならこのセッションは見逃せない!!
「High-performance GWT: best practices for writing smaller, faster apps 」
GWTでHTML5も怖くない?? [プログラミング]
Google I/O 2011ではGWTやHTML5といったキーワードのついたセッションがたくさんありました。
そのうちの1つ。「GWT + HTML5: A web developers dream!」
GoogleってHTML5を結構推しているので、GWTはどうなのよ??と思っていたらやっぱりしっかり対応しているんですね・・・。GWTを使えばHTML5対応なんて簡単???かも。
(いやいやまだまだCSS3は自分でしっかり作らないといけない)
ただ、GWTを使ってもaudoiやvideoのフォーマットだけはどうにもならないらしい(ブラウザによってサポートしているフォーマットが違う)。それぞれ最低2つの形式を用意すればほぼすべてのブラウザに対応できそうですけどね・・・。複数の形式のaudio/videoが用意できればあとはGWTで処理してくれるので、そこは便利。
多くの実装がJavaでできるのってやっぱりありがたいよなー。
(5/21追記)
「Using GWT and Eclipse to Build Great Mobile Web Apps」
を見ると、GWTはAndroidやiPhoneでも使えるらしい。しかも画面サイズに合わせてデザインを変えるってことも実現できる。(条件判定はしてあげないといけないようだけど)
各種Webブラウザの動作の差分吸収、スマートフォン対応、画面サイズに合わせたデザインを表示。
ここまでできるんだったらGWTで作るのが結構楽ではないのか~!!
そのうちの1つ。「GWT + HTML5: A web developers dream!」
GoogleってHTML5を結構推しているので、GWTはどうなのよ??と思っていたらやっぱりしっかり対応しているんですね・・・。GWTを使えばHTML5対応なんて簡単???かも。
(いやいやまだまだCSS3は自分でしっかり作らないといけない)
ただ、GWTを使ってもaudoiやvideoのフォーマットだけはどうにもならないらしい(ブラウザによってサポートしているフォーマットが違う)。それぞれ最低2つの形式を用意すればほぼすべてのブラウザに対応できそうですけどね・・・。複数の形式のaudio/videoが用意できればあとはGWTで処理してくれるので、そこは便利。
多くの実装がJavaでできるのってやっぱりありがたいよなー。
(5/21追記)
「Using GWT and Eclipse to Build Great Mobile Web Apps」
を見ると、GWTはAndroidやiPhoneでも使えるらしい。しかも画面サイズに合わせてデザインを変えるってことも実現できる。(条件判定はしてあげないといけないようだけど)
各種Webブラウザの動作の差分吸収、スマートフォン対応、画面サイズに合わせたデザインを表示。
ここまでできるんだったらGWTで作るのが結構楽ではないのか~!!
「ASCII.technologies (アスキードットテクノロジーズ) 2011年 06月号」 [プログラミング]
ASCII.technologies 2011年6月号。特集は表紙を見ていただければわかりますが
Google API
スマートフォンのセキュリティ
3D立体視の技術
といったもの。
ちょっと個人的にGoogle Maps APIについて、いろいろ知りたいことがあって読んでみました。うーん、なるほど。比較的全般論からMapsやKML、認証について説明があってそれなりに役立ちました。
スマートフォンのセキュリティについてはそれほど期待しないほうがいいかもしれない。気にしている方にはきっと「わかってるよー」というものが多いので。
3D立体視の特集はなんかタイムリーで役立ちます。Nintendo 3DSやAndroidの3D、そして映画館の3Dなどさまざまなところで3Dが取り上げられているところですが、それぞれ実現方法が違うんですね(当然ですけど)。どんな種類があってどんな特性があって、といろいろ参考になりました。3Dの見方がちょっと変わるかも。
ときどき気になる記事があると購入するASCII.technologiesですが、気になるもの以外も「おお!」と思わせる記事があって結構好きですね~。
Google API
スマートフォンのセキュリティ
3D立体視の技術
といったもの。
ちょっと個人的にGoogle Maps APIについて、いろいろ知りたいことがあって読んでみました。うーん、なるほど。比較的全般論からMapsやKML、認証について説明があってそれなりに役立ちました。
スマートフォンのセキュリティについてはそれほど期待しないほうがいいかもしれない。気にしている方にはきっと「わかってるよー」というものが多いので。
3D立体視の特集はなんかタイムリーで役立ちます。Nintendo 3DSやAndroidの3D、そして映画館の3Dなどさまざまなところで3Dが取り上げられているところですが、それぞれ実現方法が違うんですね(当然ですけど)。どんな種類があってどんな特性があって、といろいろ参考になりました。3Dの見方がちょっと変わるかも。
ときどき気になる記事があると購入するASCII.technologiesですが、気になるもの以外も「おお!」と思わせる記事があって結構好きですね~。
ASCII.technologies (アスキードットテクノロジーズ) 2011年 06月号 [雑誌]
- 作者:
- 出版社/メーカー: アスキー・メディアワークス
- 発売日: 2011/04/23
- メディア: 雑誌
AndroidとAppEngineのシームレス開発 [プログラミング]
Google I/O 2011で紹介されていたのがAndroidとAppEngineのシームレス開発。
現時点では2.4βだそうですが、Google Plugin for Eclipseではこのシームレス開発が可能になっているようです。
GPEでAppEngine+GWTの開発をやったことがある/みたことがある方はそれをほぼそのままイメージしてください。クラスを定義するとそれがそのままGAEとAndroidの間でやりとりできるようになります。
ということは・・・・Web(GWT) --- GAE --- Smartphone(Android) が一気通貫、一言語(Java)で開発することができるんですね。これはかなり便利かもしれない。
(ライセンス的に確認しないといけないけど、サーバがGAEである必要はないわけだし・・・ここは要調査)
さっそくこの週末、GPE 2.4βに乗り換えよう。
現時点では2.4βだそうですが、Google Plugin for Eclipseではこのシームレス開発が可能になっているようです。
GPEでAppEngine+GWTの開発をやったことがある/みたことがある方はそれをほぼそのままイメージしてください。クラスを定義するとそれがそのままGAEとAndroidの間でやりとりできるようになります。
ということは・・・・Web(GWT) --- GAE --- Smartphone(Android) が一気通貫、一言語(Java)で開発することができるんですね。これはかなり便利かもしれない。
(ライセンス的に確認しないといけないけど、サーバがGAEである必要はないわけだし・・・ここは要調査)
さっそくこの週末、GPE 2.4βに乗り換えよう。