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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
ShirayanagiRyuji
November 27, 2022
Technology
510
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
140
AIを使うマネジメント力
shirayanagiryuji
1
59
技術選定 したい人 したくない人
shirayanagiryuji
0
1.1k
おもろムズい診療報酬算定の話
shirayanagiryuji
0
140
工業高校で学習したとあるエンジニアのキャリアの話
shirayanagiryuji
0
220
採択さ(ルビ:きのこ)れなかったセッションの話
shirayanagiryuji
0
230
アーキテクチャわからん、の話
shirayanagiryuji
0
530
ドラクエとマリオに学ぶチュートリアル
shirayanagiryuji
0
120
PDOの仕様 コレ知ってる?~DAOクラスを作る~
shirayanagiryuji
0
89
Other Decks in Technology
See All in Technology
Empower GenAI with Agile - あなたのアジャイルが生成AIのバフになる仕組み
hageyahhoo
1
160
オブザーバビリティ、本当に活用できてる? 〜API連携×生成AIで成熟度を自動評価〜
dmmsre
1
2.6k
Baseline対応のDOMの型定義を作った
uhyo
3
730
SRE Lounge Hiroshimaへの招待
grimoh
0
580
美しいコードを書くためにF#を学んでみた話
yud0uhu
1
390
Keeping applications secure by evolving OAuth 2.0 and OpenID Connect
ahus1
PRO
1
150
AIに「使われる」時代のSaaS戦略 〜既存WebAPIのMCPサーバー化における開発ノウハウ〜
ekispert_api
0
300
CSに"SLO"は要らない、経営層に"99.9%"は伝わらない - SREを全社に"翻訳"する3原則
cscengineer
PRO
1
4.2k
AI時代のエンジニアキャリアについて今一度考える
sakamoto_582
2
1.5k
インフラ寄りSREでも 開発に踏み出せる〜境界を越えてユーザー体験に向き合いたい〜
sansantech
PRO
2
3.3k
cccccc
moznion
0
1.8k
人を動かすのは時間ではなく、納得感 〜新任EMが入社3ヶ月、組織を2回変えた話〜
kakehashi
PRO
3
200
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
First, design no harm
axbom
PRO
2
1.2k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
The Language of Interfaces
destraynor
162
27k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
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