Java再入門 (2)

コーディングスタイル

Googleのコーディングスタイル

Optional型

nullチェックのあるデータ型で、OptionalInt、OptionalLong、OptionalDoubleの3種類があります。


final修飾子

final修飾子を指定した変数は、再代入が不可能になります。

final int birth_year = 10;

可変長引数


@Overrideアノテーション

改訂2版 パーフェクトJava

改訂2版 パーフェクトJava

Java再入門 (1) Java 1.3からJava 8へ

私は学部1年生のとき、大学の講義でJavaの入門コースを受講しました。そのときのJavaは1.3だったと思います。学部3年生のときは企業との共同研究に参加して、その中でDoCoMoの携帯電話で動作するiアプリを作成していました。そこからJavaを書くことは少なくなって、iTextでPDFを操作したいときにもJRubyを使ってJavaを書くのを避けていました。Androidアプリの開発には、GoでAndroidアプリが開発できることを待っていたのですが、Go 1.4で登場したgo.mobileを見てみると、しばらくはJavaでやるのがよさそうです。

私が知っているJava 1.3から、このような進化があったようです。

また、JVMが高速化したことも大きな変化でした。私がJavaを書いていた頃のJavaプログラムの実行速度は遅く、大学の講義の中でどのような説明があったかは忘れましたが、私自身はJVMの遅さは"Write Once, Run Anywhere"のトレードオフとして認識していました。

Javaはできれば避けたかったのですが、今年度にAndroidアプリを開発することもあり、冬休みの自由研究として勉強して、再入門したいと思います。

go.mobileでAndroid開発

年度末にかけてAndroidアプリを開発する予定なのですが、Go 1.4でAndroid開発ができるということで調べていました。

このスライドにもあるように、現時点では単一Activityのアプリケーションしか作成できないようで、今回はJavaで開発することになりそうです。

奥多摩 御岳山に登山

今年は研究プロジェクトで何回か奥多摩に行きました。奥多摩の山に登ってみようと思って調べ、御岳がよさそうかなと思いました。

古里駅から丹三郎コースで大塚山、御岳に登り、鳩ノ巣コースで帰りました。以下のページと少し経路は違いますが、だいたいこんな感じでした。

http://instagram.com/p/wP0jcbuqTN/

f:id:kaorumori:20141206110111j:plain

f:id:kaorumori:20141206110119j:plain

一部の登山道が整備中でしたが、迂回路もきれいに整備されていました。

f:id:kaorumori:20141206112049j:plain

御岳山の山頂付近には御師集落があります。

http://instagram.com/p/wQB9vdOqR4/

f:id:kaorumori:20141206144806j:plain

SONYのミラーレス一眼 α7II ILCE-7M2

以前に使っていたカメラが壊れて以来、写真はiPhoneのカメラで撮っていました。最近はSONYのミラーレス一眼がいいらしいです。