2022年11月27日 (日) JJUG CCC 2022 Fall で登壇したときの資料です。 https://jjug.doorkeeper.jp/events/143914
非Javaエンジニアが「プロになるJava」で再勉強した話白栁隆司2022年11月27日JJUG CCC 2022 Fall TrackA
View Slide
自己紹介エンジニアカウンセラー 白栁 隆司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の入門書としてとても良い本○ プログラマが再勉強に使うのにも良い本● 改めて勉強する最初の一冊としてオススメです!
ご清聴ありがとうございましたエンジニアカウンセラー白栁隆司@ShirayanagiRyujJava以外も触ってみて欲しい非Javaエンジニアが「プロになるJava」で再勉強した話#jjug_ccc_a