ジャバ!?ジャバババババ!!!!

実は6月から新しい現場になっています。

4月・5月は社内ニート、もとい待機要員としてまぁのびのびとやっていたのですが、交渉した案件からなかなかいい回答が得られずに思ったより期間が伸びてしまいました。
待機期間中は社内の備品揃えたり、マクロ組んだり、あとはOracle Java SE Bronzeなんかを取ったりしました。きちんとしたIT関連の資格をとるのはこれが初めてかもしれません(そういえばMOS取ってたっけ)。

なんとなく後学のために、資格とった際にやった勉強方法などをまとめてみることにします。

勉強はどうしたか

今後は業務時間で勉強なんかさせてもらえないんだろうなぁ。とりあえず使ったのは1冊だけ。これで十分だと思います。「あ、こんな感じの知識問われるのね」というのを掴めればいいんじゃないでしょうか。

自分が使ったテキスト

www.amazon.co.jp

ある程度Javaに関してはそれなりの知識(Java ServletAndroid使う現場に1年半ほどいた)がありましたので、とにかく問題を解いて慣れるべきかなぁと考えたのが選択の理由です。「問題集」のタイトル通り、とにかく問題→解説の繰り返しですので、Javaに関する体系的な知識を習得するにはやや不向きかもしれません。

ちなみにこの問題集、巻末とWeb上に本番の模試問題が掲載されています。2回分の問題で合格点が取れれば、本番の試験もほぼ大丈夫だと思います。

ジャバ*1ってそもそもなんだ?」って方は、まずは入門書やそれっぽいサイトなどを使ってコードを一通り書いてみて、「なんか動いた!ワースゴイ!」と感動体験(?)をした方がとっつきやすいと思います。
あ、問題で出題されたコードの動作確認をするためにJavaの開発環境*2を用意しておくのもいいと思います。どうせ無料だし。

勉強中に気づいたこと

お仕事で触れるJavaのコードは、基本的に正しく動くものばかりです。特に私がいた現場は運用サイドでしたので、目にするコードは既にテストを終えており、コンパイルエラーなど起ころうものならカイハツエンジニア=サンが即刻ケジメとなるようなものです。コワイ!

ところが、問題においては正しくない・動かないコードがポンポン出てきます。「えっ!?この書き方だと動かないの!?」と驚くこともあります。
しかも、単なる「動かない」でも明確に切り分ける必要があります

  1. コンパイルエラーで動かない = コードの書き方(文法)を間違っている
  2. 例外で動かない = 書き方はあっているが、呼び出し方に問題がある(詳しくはググってください)

この辺の見分けが、個人的にはちょっと難しいところでした。

また、オブジェクト指向についても全然分かってなかったなぁーと。「クラスがあって、コンストラクタでインスタンスができるんでしょ?」「あ、あとなんか継承できるんだよね」くらいのイメージしかありませんでした。ポリモーフィズムが何を意味しているのか、どうやって実現するのかなんて分かりませんし、オーバーライドとオーバーロードの違いもイミフでした。

そんな時に役に立ったのがこちら。

Javaのオブジェクト指向入門

Javaのコードは書けるけど…って状態から、オブジェクト指向の考え方、コードでの実現方法などをじっくり解説してくれました。試験勉強の良い補強になったと思います。このサイト見てなければ一発合格は難しかったかもしれません。

試験の申込

勉強を終えたら受験の申し込みをしなければなりませんが、これがややめんどくさい。概ね以下のことをしなければなりません。

  1. OracleのユーザID登録
  2. 試験の運営?をしているピアソンへのID登録
  3. 受験申込(オンライン/試験会場受験)

これに関しては以下のサイトが詳しかったです。オンライン試験の方法について記載されています。受験料が少し安いらしい。

#294 Javaプログラマ Bronze SE7 を受験しました - 新たなるエクスペリエンス

結果は割とすぐに分かりますが、不合格だった場合は基本的には受験料をもう一度払うことになります。ただでさえ高い(¥14,000くらい)のに再受験となったら目も当てられないですね…。例に漏れず、IT技術の習得というのはカネがかかるなぁ*3と思いました。

試験を受けてみて

  • きちんと?オブジェクト指向を学んだことで、Javaデザインパターンにも興味が出た。

    • Effective Javaの購入でもしようか…
  • 今度はOracle Databaseの資格でもとってみようかしら

  • テキスト代(¥2,700)+受験料(¥14,000)…。重い。

    • 会社から補助が出ないとキツイかもしれないですね。
    • 再受験するはめになったらお風呂にいけてしまうかもしれない

*1:浴槽の給水管を洗うやつですね!

*2:JDK入れて、Eclipseなんかを入れてみましょう。Windowsでも全然問題無いです

*3:にも関わらず、ITドカタって薄給が多いんだよな…