Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
OCJP for good coding #jjug_ccc #ccc_m3
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
zer0-u
November 18, 2017
Programming
1.3k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
OCJP for good coding #jjug_ccc #ccc_m3
JJUG CCC 2017 fall #ccc_m3
次の一歩を踏み出そう! OCJPの知識でちょっといいコーディング
zer0-u
November 18, 2017
More Decks by zer0-u
See All by zer0-u
古のJavaを使うということ / JJUC CCC 2016 Spring
zer0u
12
13k
kbkz_tech9
zer0u
0
410
You and Java and English ,
zer0u
0
390
JJUG CCC 2015 Fall LT
zer0u
0
1.3k
ねこでもわかる! ITインフラ・パフォーマンスチューニング
zer0u
16
7.1k
Other Decks in Programming
See All in Programming
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
0
160
Web Framework Benchmark Battle 2026, Any%
a_matsuda
3
3k
Kotlinize Is Not Just Converting to Kotlin
chigichan24
1
200
조합이폭발하는디자인시스템이걸눈으로도테스트하라고요
giljongyu
0
610
自サークルのIdPからログアウトできるようになるまで
taiseiue
1
150
JIS keyboard support in Omarchy
lef237
0
160
우리의 Nitro Modules는 당신의 Turbo Modules보다 아름답다
l2hyunwoo
0
230
Modernizing iOS Apps
seyfoyun
0
120
ChromeでローカルLLM
ryu1013
0
170
Zero-Tap Sign-In対応、結局何をすればいいの?
mitohato14
0
980
Vue Fes Japan の “作る側”に関わってみて
naokihaba
1
200
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
2
1.1k
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
The Limits of Empathy - UXLibs8
cassininazir
2
740
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
540
[SF Ruby Conf 2025] Rails X
palkan
3
1.5k
For a Future-Friendly Web
brad_frost
184
10k
The SEO identity crisis: Don't let AI make you average
varn
0
610
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.5k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1.1k
How to build a perfect <img>
jonoalderson
1
6.2k
Scaling GitHub
holman
464
140k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.3k
Transcript
次の一歩を踏み出そう! OCJPの知識でちょっといいコーディング #ccc_m3
自己紹介 名前:ぜろゆ (@zer0_u) 会社:カサレアル やっていること:研修教材開発 #ccc_m3
はじめに (1/2) 1. 自分の技術力ってどのくらい? 2. 技術力向上のためにしていること? #ccc_m3
はじめに (2/2) 1. 自分の技術力ってどのくらい? → 初心者から達人まで様々 2. 技術力向上のためにしていること? → 写経・作りたいものを作る など #ccc_m3
聞いたことがある人? 技術力向上? 作りたいものを 作ればいいよ! チョットデキル人 #ccc_m3
そうは言われても そう簡単に見つからない! できない理由だってある! デキナイ私 #ccc_m3
「作りたいものを作る」の呪い - そもそも見つからない - 私たちは便利な時代を生きている - 時間がない - 仕事以外にもやりたいことはたくさんある! -
家の環境が貧弱 - ディスプレイ1枚はつらい! #ccc_m3
それでも 技術力を身につけたいんです! #ccc_m3
そんなあなたに OCJPのご案内! OCJPの内容を学んで 技術力を身に着けよう #ccc_m3
今回の内容 - 上げるべき技術力とは何か? - OCJPを受けると何が変わるのか? #ccc_m3
上げるべき技術力とは何か?
そもそも 技術力とは? - コードをバリバリ書くこと? - 最新技術を追い続けること? - OSSにコミットすること? #ccc_m3
技術力の基礎は何か? コードを読む力のことでは? - 実際の仕事はコードを読むところから - 読む時間の方が長いのでは? #ccc_m3
読む力を伸ばす - OCJPを受けて伸びる部分がこれ #ccc_m3
OCJPを受けると何が変わるのか?
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
ちなみに - OCJP SE 8 Silver / Gold取得済 - Silver
2017年6月 - Gold 2017年9月
OCJPで何を得られるか - Javaの知識 - JLS / API リファレンスを参照する力 - Java
Language Specification(言語仕様) - 人間コンパイラ能力 #ccc_m3
Javaの知識の例 (1/2) - 関数型インタフェース - Function, Consumer, Predicate, Supplier, UnaryOperator
- それぞれどこで使うか丸暗記 - 結構役立っている #ccc_m3
Javaの知識の例 (2/2) - ストリーム生成 - クラスとメソッドの一覧 - 例外のrethrow - SE
7から仕様変更あり - Executorフレームワーク #ccc_m3
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
人間コンパイラ・人間JVM - OCJPの最大の難関にして最大のメリット - 試験会場の様子 - プレーンテキストのJavaコード - メモ用のホワイトボードとマーカー #ccc_m3
問題例 (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
問題例 (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
問題例 (2/2) 次のコードの実行結果を選べ Goldレベル 模試問26 A. false true B. false false
C. true true D. コンパイルエラー E. 実行時エラー F. コンパイルは成功するが実行時にハング #ccc_m3
問題例 (2/2) 解答 次のコードの実行結果を選べ A. false true B. false false C. true
true D. コンパイルエラー E. 実行時エラー F. コンパイルは成功するが実行時にハング Goldレベル 模試問26 #ccc_m3
人間コンパイラ・JVMが得るもの - ざっと見て「やばそう」な気配を掴む力 - 読みづらいコードはたいてい落とし穴がある - 強弱をつけて流し読みする力 - 短時間に大量のコードを読むために必要 #ccc_m3
これって…? 実務でも使う技能では? - コードレビュー時 - 不具合調査時 #ccc_m3
つまり - IDEなどの補助なしで - 大量のコードを - 短時間で読み解く 経験が生かせる! #ccc_m3
あこがれの技術力をみにつけたぞ! - 「作りたいものを作る」以外の道もある - OCJP受験のために必要なもの - テキスト・問題集 - 最低限の実行環境(検証用・なくてもよい) -
根気と時間 #ccc_m3
まとめ - 技術力=読む力+書く力 - 読む力の向上のためにOCJPは有効 - 短時間に大量のコードを読む訓練 - Javaの知識もまんべんなく身につく -
「作りたいものを作る」以外の道もある #ccc_m3
ちょっといいコーディングへ 一歩踏み出そう! 自分に合った方法が きっとあるはず!
参考文献・Webサイト - オラクル認定資格教科書 - Java プログラマ Silver SE 8 https://goo.gl/4jvs1G
- Java プログラマ Gold SE 8 https://goo.gl/c28gfV #ccc_m3
参考文献・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