2016年7月10日日曜日

そろそろOCJ-PをJava8へ移行しようと決意した


猫と一緒にガジェットライフ♪ムチャです。

OCJ-Pとは「Oracle Certified Java Programmer」の略で、Javaの資格試験です。
自分はバージョン7の資格を持っているのですが、そろそろ8へのアップグレードをしようと思い立ちました。
宣言することで自分を追い込んでいきたいと思います。



OCJ-Pとは

オラクルが実施しているJavaの認定資格試験です。
Sunが実施していた頃は段階が分かりづらい体系でしたが、オラクルが買収してからデータベースのOracle Masterと同じようにBronze→Silver→Goldという3段階になりました。
Bronze、Silverは前提資格がありませんが、GoldはSilverを持っていないと認定されません。

Java8の試験は2015年5月下旬から始まっています。
しかし、BronzeとSilverの参考書はいくつか出ているものの、Goldの参考書は一向に出る気配がありません。


低空飛行な自分に新たな目標を

参考書が出たら買って受けようと思っていたのですが、 このままではJava9が出てしまいます(2017年3月予定)。

また自分はうつ病の治療をしながらSEを続けています。薬を最大量まで飲んで何とか仕事に行けていますが、行くだけで精一杯な状態です。
2015年8月に2度目の社会復帰してもうすぐ1年になりますが、実績を積み上げるのを優先でスポットな現場が多く、大した成果は残せていません。

仕事はそれほど忙しくないものの、帰っても疲れてしまって何もできず寝るという日々が続いています。ブログの更新も減ってしまいました。

このままでは沈みきってしまう・・・
もう傷病手当金をもらいきってしまって後がない自分にとっては、次休職になったら終わりです。

なので新たな目標を設定して、自分を駆り立ててみることにしました。



Upgrade to Java SE 8 Programmer 試験(1Z0-810)の範囲

自分は7のGoldを持っているので、Upgrade to Java SE 8 Programmer 試験(1Z0-810)を受ければ8へアップグレードできます。

試験範囲はJava8で追加された新機能、ラムダ式とStreamAPIが中心です。
ラムダ式
  • ネストしたクラス、静的クラス、ローカル・クラス、無名クラスなど、Javaの内部クラスを使用する
  • 関数型インタフェースを使用する
  • ラムダ式について説明する。無名内部クラスを使用したコードをラムダ式を使用するようにリファクタリングする。型推論とターゲット型付けについて説明する
  • ラムダ式を使用する事前定義済みの型の使用

java.util.function パッケージのインタフェースについて説明する
  • Function インタフェースを使用する
  • Consumer インタフェースを使用する
  • Supplier インタフェースを使用する
  • UnaryOperator インタフェースを使用する
  • Predicate インタフェースを使用する
  • java.util.function パッケージのベース・インタフェースを特殊化したインタフェースを使用する
  • メソッド参照を使用して、ラムダ式をリファクタリングする
  • ラムダ式を使用するコレクションおよびストリーム

forEach()メソッドとメソッド・チェーンを使用したコレクションの反復処理
  • Streamインタフェースとパイプラインについて説明する
  • ラムダ式を使用してコレクションをフィルタリングする
  • ストリーム上での遅延操作
  • ラムダを使用するコレクション操作

map()メソッドを使用してオブジェクトからデータを抽出する
  • findFirst()、findAny()、anyMatch()、allMatch()、noneMatch() などのメソッドを使用してデータを検索する
  • Optional クラスの特徴について説明する
  • count()、max()、min()、average()、sum() などの Stream API のメソッドを使用して計算を実行する
  • ラムダ式を使用してコレクションをソートする
  • averagingDouble()、groupingBy()、joining()、partitioningBy() などの Collectors クラス・メソッドと Stream.collect() メソッドを使用する

並列ストリーム
  • 並列ストリームを使用するコードを作成する
  • ストリームで分解とリダクションを実装する

ラムダ・クックブック
  • Collection.removeIf()、List.replaceAll()、Map.computeIfAbsent()、Map.computeIfPresent()など、Java SE 8 で改善されたのコレクション API を使用する
  • Files.find()、Files.walk()、lines()など、Java SE 8 で改善されたファイル I/O を使用する
  • flatMap() を使用する
  • Arrays.stream() および IntStream.range() などを使用してストリームを作成する

メソッドの強化
  • static メソッドをインタフェースに追加する
  • インタフェースのデフォルト・メソッドを定義および使用する。デフォルト・メソッドの継承ルールについて説明する

Java SE 8 の Date/Time API を使用する
  • LocalDate、LocalTime、LocalDateTime、Instant、Period および Duration を使用して日付と時刻を単一のオブジェクトに結合するなど、日付に基づくイベントと時刻に基づくイベントを作成および管理する
  • 複数のタイムゾーンで日付と時刻を操作する。日付と時刻の値の書式設定など、夏時間による変化を管理する
  • Instant、Period、Duration および TemporalUnit を使用して日付に基づくイベントと時刻に基づくイベントを定義、作成および管理する


ラムダ式とStreamAPIは勉強しているものの、もう一つの新機能のDate/TimeAPIがやっかいそうです。
これまで貧弱だった日付の扱いを改善するために追加されたのですが、機能が多い分覚えることが多そうです。


受験料は楽天のIT試験ドットコムがお得

受験料は26600円。高いので不合格はあり得ません(;´∀`)
試験を実施するピアソンVUEのサイトでカード払いもできるのですが、楽天ユーザーならば「IT試験ドットコム」でチケットを買うのが良いです。
ポイントを使えますし、購入でポイントがたまります。

ただしチケットには有効期限が設定されているので、「とりあえず買っとけ」みたいなのは危ないです。



おしまいのひとこと

というわけで単に宣言なので何も情報はないのですが(;´∀`)
これから勉強したことは記事にしたいと思います。

もしサボっていたら喝を入れてやってくださいw

それではみなさまよきガジェットライフを(´∀`)ノ


本はこの辺↓を使おうと思っています。

▼こちらの記事もどうぞ

▼ブログを気に入っていただけたらRSS登録をお願いします!
▼ブログランキング参加中!応援よろしくお願いします。

スポンサーリンク