Java 8の予習はお済みですか?

とうとう3/18のJava SE 8のリリースが近づいてきました。
去年あたりからJava界隈ではラムダ式などを中心としてJava SE 8の情報が出回っていますが、実際にはまだ触ってない人も多いのではないでしょうか。
少しでも慣れておく為にそろそろ準備運動でもしておいた方が良いかなと思います。
正式版ではありませんがEarly Access版がリリースされているので既にお試しで触ってみる事ができます。


JDK8 Early Access Releases
https://jdk8.java.net/download.html


IDEも対応は進んでいるようなのでリリース前にもかかわらず実際に試す環境は簡単に作れますね。地味にすごいことだと思います。


では、この辺り触っておいた方がいいよってところをあげてみます。


ラムダ式
まあ皆さん一番触ってみたいのがラムダ式でしょう。
型が省略出来る辺りがJavaとしてはやや違和感がありますね。
クロージャーじゃないので外の変数書き換え出来ないよとか、
thisの参照も内部クラスの挙動とは差異があるようなので実際試してみると面白いと思います。
ラムダ式とセットでメソッド参照やインターフェースのデフォルト実装なんかも入っているのでその辺りも要確認です。


・Date & Time API
Date & Time APIは今までのjava.util.Dateとはかなり違う上に今後の利用頻度はかなり高くなると思うので積極的に触ってみておいた方がいいですね。


・Nashorn
Java内のJavaScript実装エンジンがRhinoからNashornに変わります。まあどっちもサイですが。
実際速度差とかを試すのはあれですけど、Javaスクリプトエンジン試したこと無い人は一度試してみるのも良いと思います。


Java FX
GUI環境としてSwingの代わりにJavaFXが標準ライブラリとなりますね。JavaFXのハンズオン資料とかあるので、興味がある人はそれを参考に触ってみると良いと思います。JavaFXでは無名クラスを多く使うのでラムダ式とはとても相性が良いと思います。


Java 8で追加される機能は他にもありますがこの辺りをみればわかるのかな。
http://openjdk.java.net/projects/jdk8/features


Java EEは仕様がリリースされるので実際に本番利用出来るまでに時間がかかりますが、Java SEは実装がリリースされるので、
会社への適用速度もEEよりはスムーズに進むんじゃないかと思っています。


リリース待ち遠しいですね。

入社しました

2月1日より日本オラクルにジョインしました。


これからはJavaが出来てちやほやされる人から、Java出来て当たり前の人になりました。


SI業からコンサルタント業への転身になるので、これからどのような形で新しい仕事に貢献できるのかまだはっきりとは見えていませんが、新しい仕事に全力で取り組んで行きたいと思います。

退職します

1月31日をもちまして約14年勤めたアイエックス・ナレッジを退職することとなりました。


現職では、良き仕事、良き上司、良きチームメンバに恵まれ、とてもよい社会生活を過ごすことができました。とても感謝しています。


SI業務ではさまざまなお客さんと触れ合う機会がありますが、使用技術もさまざまで、楽な仕事からハードな仕事まで多種多様です。
その中で、私は入社当初から今まで多くの時間をJavaフレームワーク開発に従事し、主にJavaEEを主軸とした先進的な開発に多く携わることができました。
とても良い環境に身を置かせて頂いたと思っています。


退職は初めての経験で、期待もあり不安もあります。今回の退職は会社に対して不満があったというわけではなく、自分がスキルアップしたいという思いからの決断です。


来月から新しい会社でスタートします。今のスキルを生かしつつ、これから得られる新しいスキルを吸収し、さらなる高みを目指したいと思います。

アジャイル開発がなぜ良いインターフェースに繋がるのか

最近アジャイル開発とウォータフォール開発を交互に行き来しているので、双方を比較する場面が多くあるのですが、アジャイルの優先順位順にアプリケーションを開発していくというプロセスがインターフェース設計に良い影響を与えているのだなと感じています。


ウォータフォール開発では必要な機能をすべて洗い出してから開発するので、多くのアプリケーションのインターフェースはよく使用する機能やあまり使わない機能も一律で並んでメニュー化されている事が多いと感じます。


逆にアジャイル開発では必要なものから開発していくので、一番使用する機能が前面に出てきてあまり使わない機能は階層の深いところに配置されることが多いと感じます。


どちらの方がシステム的に使いやすいのかというとやはりよく使用する機能へたどり着くパスが短い方が圧倒的に使いやすくなります。


ウォータフォールでもユーザの優先順位を意識したインターフェースが作れなくは無いと思いますが、優先順位をユーザがよくわかっていない場合も多く推測するにも限界があるように感じています。その点、自然と優先順位を考慮したインターフェース設計になるアジャイル開発は使いやすいシステムを作る上で大きなアドバンテージがあると思います。

2014年

あけましておめでとうございます。今年もよろしくお願い致します。


新年最初の目標は年末年始で太った分ダイエットに励みます。


あと今年は、IT技術習得はやや控えめにして、その分置き去りにしていた英語を頑張りたいと思います。

2013年を振り返って

今年は今までになくいろんなことにトライすることができ、また、大きな決断をする機会にも恵まれとても心に残る年でした。


やはりJava EE 7がリリースされて、Java関連の活動に積極的に参加出来た事がとても大きかったと思います。Oracle社主催のJava EEセミナーへのゲスト参加や、JJUG CCCでの登壇など、今までの聞く立場から伝える立場へと大きくステップアップすることが出来ました。


来年はまた新たなステージに上れるよう、いろんな事にチャレンジしていきたいと思います。