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
非Javaエンジニアが「プロになるJava」で再勉強した話
Search
ShirayanagiRyuji
November 27, 2022
Technology
530
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
非Javaエンジニアが「プロになるJava」で再勉強した話
2022年11月27日 (日) JJUG CCC 2022 Fall で登壇したときの資料です。
https://jjug.doorkeeper.jp/events/143914
ShirayanagiRyuji
November 27, 2022
More Decks by ShirayanagiRyuji
See All by ShirayanagiRyuji
遊ぶかね欲しさの犯行(ルビ:労働)です
shirayanagiryuji
0
290
AIを使うマネジメント力
shirayanagiryuji
1
81
技術選定 したい人 したくない人
shirayanagiryuji
0
1.1k
おもろムズい診療報酬算定の話
shirayanagiryuji
0
160
工業高校で学習したとあるエンジニアのキャリアの話
shirayanagiryuji
0
270
採択さ(ルビ:きのこ)れなかったセッションの話
shirayanagiryuji
0
260
アーキテクチャわからん、の話
shirayanagiryuji
0
570
ドラクエとマリオに学ぶチュートリアル
shirayanagiryuji
0
140
PDOの仕様 コレ知ってる?~DAOクラスを作る~
shirayanagiryuji
0
100
Other Decks in Technology
See All in Technology
Account Factory for Terraformによる 標準化されたアカウント発行の自動化
pensuke628
0
120
BedrockとLambdaで作る リアルタイム進行型推理ゲーム
kawametho
0
150
「大丈夫そう?」をObservabilityで確かめる
mrmtsu
0
250
AI駆動開発で仕様はどこまで書くべきか? ― 人とAIの責務境界から考える開発プロセスの実践
takahiromatsui
1
280
ビジネスを止めない技術的負債の返済のための戦略とその手法 - 技術的負債と向き合う / Complexity and Simplicity
soudai
PRO
2
350
Lambda MicroVMsが分からなすぎたので使い所を1から考えてみた
tsukuboshi
2
280
Codex概要
ymiya55
0
150
キャリアLT今日までそして明日から
kentapapa
1
140
HolmesGPTで始めるSREエージェント入門!プラットフォームの障害調査はAIにお任せ 〜
leveragestech
PRO
0
130
VS Code × GitHub Copilot での Fabric 開発
ryomaru0825
1
210
[2026 Oracle Technical Deep Dive] エンタープライズAIエージェントを支えるOCIソリューション。ラインナップと特徴を理解しよう! (2026年9月17日開催)
oracle4engineer
PRO
0
140
いちAWSエンジニアのAI活用を振り返る #devio2026 / devio osaka 2026 kawahara
masahirokawahara
1
310
Featured
See All Featured
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
750
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
290
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
710
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Become a Pro
speakerdeck
PRO
31
6.3k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
450
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
330
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
690
Darren the Foodie - Storyboard
khoart
PRO
4
4k
Amusing Abliteration
ianozsvald
1
320
The untapped power of vector embeddings
frankvandijk
2
1.9k
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