Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
非Javaエンジニアが「プロになるJava」で再勉強した話
Search
ShirayanagiRyuji
November 27, 2022
Technology
0
450
非Javaエンジニアが「プロになるJava」で再勉強した話
2022年11月27日 (日) JJUG CCC 2022 Fall で登壇したときの資料です。
https://jjug.doorkeeper.jp/events/143914
ShirayanagiRyuji
November 27, 2022
Tweet
Share
More Decks by ShirayanagiRyuji
See All by ShirayanagiRyuji
おもろムズい診療報酬算定の話
shirayanagiryuji
0
60
工業高校で学習したとあるエンジニアのキャリアの話
shirayanagiryuji
0
160
採択さ(ルビ:きのこ)れなかったセッションの話
shirayanagiryuji
0
160
アーキテクチャわからん、の話
shirayanagiryuji
0
450
ドラクエとマリオに学ぶチュートリアル
shirayanagiryuji
0
75
PDOの仕様 コレ知ってる?~DAOクラスを作る~
shirayanagiryuji
0
36
リアル登壇だから気をつけたい「マイクの使い方」のコツ
shirayanagiryuji
0
260
質の良い”カイゼン”の為の質の良い「振り返り」
shirayanagiryuji
1
500
一番小さなリファクタリングの話
shirayanagiryuji
0
560
Other Decks in Technology
See All in Technology
20251102 WordCamp Kansai 2025
chiilog
0
440
GPUをつかってベクトル検索を扱う手法のお話し~NVIDIA cuVSとCAGRA~
fshuhe
0
340
JAWS UG AI/ML #32 Amazon BedrockモデルのライフサイクルとEOL対応/How Amazon Bedrock Model Lifecycle Works
quiver
1
600
戦えるAIエージェントの作り方
iwiwi
20
9.4k
Zero Trust DNS でより安全なインターネット アクセス
murachiakira
0
140
初海外がre:Inventだった人間の感じたこと
tommy0124
1
170
進化する大規模言語モデル評価: Swallowプロジェクトにおける実践と知見
chokkan
PRO
3
430
制約下の医療LLM Observability 〜セキュアなデータ活用と専門家による改善サイクルの実現〜
kakehashi
PRO
1
100
OTEPsで知るOpenTelemetryの未来 / Observability Conference Tokyo 2025
arthur1
0
410
今から間に合う re:Invent 準備グッズと現地の地図、その他ラスベガスを周る際の Tips/reinvent-preparation-guide
emiki
1
220
現場の壁を乗り越えて、 「計装注入」が拓く オブザーバビリティ / Beyond the Field Barriers: Instrumentation Injection and the Future of Observability
aoto
PRO
1
810
AIでデータ活用を加速させる取り組み / Leveraging AI to accelerate data utilization
okiyuki99
6
1.6k
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
Being A Developer After 40
akosma
91
590k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Rails Girls Zürich Keynote
gr2m
95
14k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Transcript
非Javaエンジニアが 「プロになるJava」で 再勉強した話 白栁隆司 2022年11月27日 JJUG CCC 2022 Fall TrackA
自己紹介 エンジニアカウンセラー 白栁 隆司 Youtubeに動画投稿中! #ほぼ日ITエンジニアニュース ←更新止まってるw @IT 自分戦略研究所 エンジニアライフにて「コレがワタシの生きる様」連載中(木曜日) ITエンジニアが永く活動する為のサポート活動
主に4つのことを、ITエンジニアに勧めています 1. 傾聴ベースのコミュニケーション 2. メンタルヘルス(セルフケア) 3. セルフマネジメント 4. 日々の生活の中からエンジニアリングを学ぶ
・第二種情報処理技術者 ・産業カウンセラー ・メンタルヘルスマネジメント検定 主な開発言語 略歴 1981年 5月 生まれる 1993年10月 プログラムに初めて触れる
1995年 5月 自宅にPC導入 1997年 4月 高校でプログラミングを学習 2000年 4月 地元の中小ソフトハウス勤務 2005年 4月 東京SESエンジニア活動開始 2019年 9月 フリーランス活動開始 2022年 8月 約15年振りの引っ越し ♥ TRPG, ボードゲーム, ポケモン, 特撮, スキー etc... ・C / C++ ・C#(.net系) ・Java ・JavaScript(JQuery) ・PHP ・Python ・PL/SQL ・VB、VBA、VBScript 主な資格 エンジニアカウンセラー 白栁 隆司 自己紹介
このセッションのターゲット ⭕ 非Javaのエンジニアだけど、Javaに興味がある ▪ 白栁は非Javaとは言うけど全くJavaしない訳ではない ⭕ 最新のモダンなJavaの学習をしたい ⭕ 非JavaエンジニアにJavaを説明したい ❌
書籍「プロになるJava」の説明を聴きたい 「再勉強」の話です!
アジェンダ 1. 学習の流れについて 2. 良かったポイント 3. 他の言語経験者へ(C#, PHP) 4. 今後やってみたいこと
1. 学習の流れ ※オススメしない • 全編を真面目に写経はしない • 最後まで本を読む • 気になったポイントに絞って読み返し&写経 ◦
特にJava 8までにはなかった部分、第6部 • IDEはEclipceを使用 ※仕事の都合
1. 学習の流れ • オススメしない理由は…… ◦ やっぱり写経は大事! ▪ 学んで手を動かして経験にできる ◦ その後の「改造」までして欲しい
• 自身の経験や理解力に合わせて調整を!
2. 良かった点 1. 適度な課題がある 2. 最新(Java 17)の書き方に対応している 3. JShellの使い方がありがたい 4.
GUIからWebまで対応している 5. 最新の開発手法・環境への言及と解説
2-1. 適度な課題がある • 実際に考えて手を動かして学べる課題がある ◦ 直前まで触っていたものを変えてみる系が多い ◦ 単純な写経では終わらない • 「読む→触る→考える→変える」で強い体験になる
◦ 「わかったつもり」を生み出しにくい構成
2-2. 最新の書き方に対応している • Java 17までの書き方に対応している ◦ 古いバージョンでは使えないものには注釈有 「Java XXから使えるようになった~」等 •
Java 8までの機能しか主に使ってない ◦ Streamとかラムダ式の解説が丁寧だった
2-3. JShellの使い方がありがたい • あるある:ちょっとした処理の確認をする方法は? ◦ コマンドライン実行は強力なツール! ◦ JShell上でいろいろなことができる、気づき ▪ 変数の命名の重要性にも気づける?
• 例外(スタックトレース)の読み方までフォロー
2-4. GUIからWebまで対応している • 多くの人が興味があるGUIとWebアプリ ◦ 基礎レベルの内容 ▪ SwingによるGUI解説 ▪ Spling
BootによるWebアプリ開発 • 本格的な開発の為の技術書を読むスモールステップに
2-5. 最新の開発手法・環境 • 今や必須になっている概念・ツールの説明 ◦ Gitや自動テストに付いての解説がある ◦ SQLやHTTP通信についてもわかりやすい解説 • 「型」よりも「モジュール」への流れに衝撃
◦ まだうまく言葉にできない
3. 他の言語経験者へ 他の開発言語を経験している人への橋渡し 1. C# 2. PHP
3-1. 他の言語経験者へ(C#) • 元々、書き方がとても近い言語である ◦ クラス関連やアルゴリズムの部分はそのまま • Streamやラムダ式など似てたり違ってたりの部分 ◦ 混乱しないように注意が必要になる
• Visual Studio以外のIDEを使うことで得られる刺激
3-2. 他の言語経験者へ(PHP) • デバッグがとても楽!!(IDEとTomcat等の連携) • MVCの考え方は共通 ◦ Laravel等FWを導入した環境が近い?(未経験) • 強い「型」の意識には戸惑うだろう
• アノテーションとかエンドポイントでも混乱しそう 他のAPサーバーとも容易に連携できるらしい
4. 今後やってみたいこと • 違う開発環境での写経や改造をしてみる ◦ IntelliJ IDEA、VSCode ◦ JUnitやJavadocの積極利用、JavaBeans利用 •
飛ばしている部分も多いので丁寧な写経 ◦ 「わかったつもり」の発見へ繋げる
まとめ • Q.再学習の効果はあったのか? A.わからん → 仕事では使っていない部分、今後の備え • Javaの入門書としてとても良い本 ◦ プログラマが再勉強に使うのにも良い本
• 改めて勉強する最初の一冊としてオススメです!
ご清聴ありがとうございました エンジニアカウンセラー 白栁隆司 @ShirayanagiRyuj Java以外も触ってみて欲しい 非Javaエンジニアが「プロになるJava」で再勉強した話 #jjug_ccc_a