Save 37% off PRO during our Black Friday Sale! »

OCJP for good coding #jjug_ccc #ccc_m3

Df3a2a3183515bc97fb2bee70c650dbc?s=47 zer0-u
November 18, 2017

OCJP for good coding #jjug_ccc #ccc_m3

JJUG CCC 2017 fall #ccc_m3
次の一歩を踏み出そう! OCJPの知識でちょっといいコーディング

Df3a2a3183515bc97fb2bee70c650dbc?s=128

zer0-u

November 18, 2017
Tweet

Transcript

  1. 次の一歩を踏み出そう! OCJPの知識でちょっといいコーディング #ccc_m3

  2. 自己紹介 名前:ぜろゆ (@zer0_u) 会社:カサレアル やっていること:研修教材開発 #ccc_m3

  3. はじめに (1/2) 1. 自分の技術力ってどのくらい? 2. 技術力向上のためにしていること? #ccc_m3

  4. はじめに (2/2) 1. 自分の技術力ってどのくらい? → 初心者から達人まで様々 2. 技術力向上のためにしていること? → 写経・作りたいものを作る など #ccc_m3

  5. 聞いたことがある人? 技術力向上? 作りたいものを 作ればいいよ! チョットデキル人 #ccc_m3

  6. そうは言われても そう簡単に見つからない! できない理由だってある! デキナイ私 #ccc_m3

  7. 「作りたいものを作る」の呪い - そもそも見つからない - 私たちは便利な時代を生きている - 時間がない - 仕事以外にもやりたいことはたくさんある! -

    家の環境が貧弱 - ディスプレイ1枚はつらい! #ccc_m3
  8. それでも 技術力を身につけたいんです! #ccc_m3

  9. そんなあなたに OCJPのご案内! OCJPの内容を学んで 技術力を身に着けよう #ccc_m3

  10. 今回の内容 - 上げるべき技術力とは何か? - OCJPを受けると何が変わるのか? #ccc_m3

  11. 上げるべき技術力とは何か?

  12. そもそも 技術力とは? - コードをバリバリ書くこと? - 最新技術を追い続けること? - OSSにコミットすること? #ccc_m3

  13. 技術力の基礎は何か? コードを読む力のことでは? - 実際の仕事はコードを読むところから - 読む時間の方が長いのでは? #ccc_m3

  14. 読む力を伸ばす - OCJPを受けて伸びる部分がこれ #ccc_m3

  15. OCJPを受けると何が変わるのか?

  16. OCJPとは? - Oracle Certified Java Programmer - OracleによるJavaの公認資格 - バージョンごと

    - Bronze, Silver, Gold の3種 - 任意の日時・場所で受験可能 2017年11月時点 http://www.oracle.com/jp/education/certification/jse8-2489021-ja.html #ccc_m3
  17. ちなみに - OCJP SE 8 Silver / Gold取得済 - Silver

    2017年6月 - Gold 2017年9月
  18. OCJPで何を得られるか - Javaの知識 - JLS / API リファレンスを参照する力 - Java

    Language Specification(言語仕様) - 人間コンパイラ能力 #ccc_m3
  19. Javaの知識の例 (1/2) - 関数型インタフェース - Function, Consumer, Predicate, Supplier, UnaryOperator

    - それぞれどこで使うか丸暗記 - 結構役立っている #ccc_m3
  20. Javaの知識の例 (2/2) - ストリーム生成 - クラスとメソッドの一覧 - 例外のrethrow - SE

    7から仕様変更あり - Executorフレームワーク #ccc_m3
  21. JLSの例 - 5.6.2 Binary Numeric Promotion - プリミティブ型どうしを演算したときの 型変換の規則が書いてある -

    一方がdoubleならもう一方もdoubleに https://docs.oracle.com/javase/specs/jls/se8/html/jls-5.html#jls-5.6.2 #ccc_m3
  22. 人間コンパイラ・人間JVM - OCJPの最大の難関にして最大のメリット - 試験会場の様子 - プレーンテキストのJavaコード - メモ用のホワイトボードとマーカー #ccc_m3

  23. 問題例 (1/2) 次の配列式で正しくないものを2つ選べ A. int[] a = new int[]{1,2,3}; B. int[3]

    a = new int[]; C. int[] a = {1.0}; D. int[] a = {0}; E. int a[] = new int[1]; Silverレベル 模試問14 #ccc_m3
  24. 問題例 (1/2) 解答 次の配列式で正しくないものを2つ選べ A. int[] a = new int[]{1,2,3}; B. int[3]

    a = new int[]; C. int[] a = {1.0}; D. int[] a = {0}; E. int a[] = new int[1]; #ccc_m3 Silverレベル 模試問14
  25. 問題例 (2/2) 次のコードの実行結果を選べ Goldレベル 模試問26 A. false true B. false false

    C. true true D. コンパイルエラー E. 実行時エラー F. コンパイルは成功するが実行時にハング #ccc_m3
  26. 問題例 (2/2) 解答 次のコードの実行結果を選べ A. false true B. false false C. true

    true D. コンパイルエラー E. 実行時エラー F. コンパイルは成功するが実行時にハング Goldレベル 模試問26 #ccc_m3
  27. 人間コンパイラ・JVMが得るもの - ざっと見て「やばそう」な気配を掴む力 - 読みづらいコードはたいてい落とし穴がある - 強弱をつけて流し読みする力 - 短時間に大量のコードを読むために必要 #ccc_m3

  28. これって…? 実務でも使う技能では? - コードレビュー時 - 不具合調査時 #ccc_m3

  29. つまり - IDEなどの補助なしで - 大量のコードを - 短時間で読み解く 経験が生かせる! #ccc_m3

  30. あこがれの技術力をみにつけたぞ! - 「作りたいものを作る」以外の道もある - OCJP受験のために必要なもの - テキスト・問題集 - 最低限の実行環境(検証用・なくてもよい) -

    根気と時間 #ccc_m3
  31. まとめ - 技術力=読む力+書く力 - 読む力の向上のためにOCJPは有効 - 短時間に大量のコードを読む訓練 - Javaの知識もまんべんなく身につく -

    「作りたいものを作る」以外の道もある #ccc_m3
  32. ちょっといいコーディングへ 一歩踏み出そう! 自分に合った方法が きっとあるはず!

  33. 参考文献・Webサイト - オラクル認定資格教科書 - Java プログラマ Silver SE 8 https://goo.gl/4jvs1G

    - Java プログラマ Gold SE 8 https://goo.gl/c28gfV  #ccc_m3
  34. 参考文献・Webサイト - Java Language Specification https://docs.oracle.com/javase/specs/jls/se9/html/index.html - Java SE 8

    API仕様 (APIリファレンス) https://docs.oracle.com/javase/jp/8/docs/api/ #ccc_m3