はじめに
こんばんわ、炭山水です。身近でJava初心者にJavaで業務をやってもらうことになったので、いい機会だからprogateなるものを触ってみようと思い立ち、Java Ⅴまで一通りやってみたので感想などを記しておきます。
触ってみて何ができるか、と、そのあと何したらいいのか、という私なりの見解をお伝えできればと思います。
progateのリンクも一応貼っときますね ※アフィリンクじゃないよ
Progate | プログラミングの入門なら基礎から学べるProgate[プロゲート]
progateでできること(Javaの場合)
プログラム is 何?を体験できます
そんだけ?と思うかもしれませんが結構大事ですよ。極論プログラム(というかシステム)って「なんかお願いしたら[入力]、なんか返してくれる[出力]」「ソースコードはその入力⇒出力のルールを記述したもの」なんですが、煩わしい準備を極力排除して、Javaのソースコードさえ書けばひとまず「なんか渡せばなんか返してくれるものができた!」までたどり着けます。

躓くポイントは徹底的に排除されてますし、間違えたら何が間違ってるかちゃんとサポートしてくれます。ヒントも充実してます。単元ごとに、手を動かしながらスライド見直したりもスムーズにできるようになっています。
プログラミングが初めてだったり、汎用機系⇒オープン系みたいな極端なスキルチェンジを試してみたいときは、変に何千円も書籍代にかけて四苦八苦するより、さっさとprogateやって雰囲気つかむのがいいかと思いました。980円/月ですみますしね。
Javaとしてはどこまでやれるか
※ この段落は初学者の方は「ふーん」と聞き流してもらえれば。
Javaの場合progate修了時にたどり着くレベルとしては、
- クラス作って~
- フィールドに値持たせて~
- メソッド書いて~
- 抽象クラスに共通点まとめてみて~継承して~
- 多態性使ってみて~
この辺まで作って、[入力]コマンドライン入力、[出力]System.out、みたいな構成のプログラムが作れるようになる感じです。
コマンドから名前、年齢、身長、体重とか入れると自己紹介文に変換してくれたり、BMI指数算出してくれたりする感じです。
progate後はどうしたもんか
最初の業務をどのくらいの想定にするか
ここまでWebサービスでカバーしてもらえるのはとっても助かるのですが、如何せんこのままでは開発業務に入るのは厳しいです。
あくまで「未経験 or 大幅スキルチェンジの人を受け入れてチーム作りをしていく立場の私」目線ですが、たとえばSpringBoot想定でJavaで開発をやってもらおうと思ったら、こんな感じのとっかかりで業務始めてもらおうかなと考えるかと。
教える側で用意しておくもの
- Controllerとかのリクエスト受け取りポイントは作っちゃう
- Repositoryとかのデータ層へのアクセスクラス作っちゃう
- ビジネスロジックは、うーん程度によるな
- あと必要なクラスは定義まで済ませておく
やってもらうもの
- データオブジェクトからデータオブジェクトへ変換する処理
- いけそうならビジネスロジックも
ペアプロの時間作って一緒にやるもの
- やってもらうクラスに対してのJUnitテストコード
progateと業務の壁リスト
環境作らないことには始まらない
私はEclipse勢なので自然Eclipseで教えることになりますね。
この辺参照しながら、Eclipse + STSでとりあえずJava起動してブラウザから”Hello World!”ですね。
「第1章」Eclipse スタート – Qiita
「第4章」Spring Tool Suite(STS)プラグインのインストール – Qiita
※ DBまではまだいいかなって思います。
※ 他の環境がどうしてもいい人は得意な人に聞いてください。
例外処理
職業プログラマやる上で必須かと。仕事でやるプログラムで例外処理しないってことまずないですからね。
最初のうちはContollerにガリガリ書くでもいいので、わざと
int n = Integer.parseInt("数字にはならないよん");
こういうことしたり
if(なんか弾きたい条件){
throw new 自分で定義したException();
}
こういうことしたりして、キャッチさせたりstacktrace読ませたりして例外に慣れてもらった方がいいのかなと。
Springの説明
完全に理解しようとまでしなくていいのですが、ざっと流れくらいは説明しておいた方がいいのかなと思ってます。アノテーションの詳しい動きまでわかるのは難しいと思いますが、なんとなく役割くらいはざっとでいいので聞き流しつつ頭の片隅に置いておいてもらった方がその後の説明が頭に入りやすいかと思い。
全体の流れをざっととらえないと細部の説明してもね、という考え方です。
その他
あとはコード書いてもらいながら都度教えるとかですかね。詰まってそうな様子キャッチアップして検索の方法を教えるとかも大事すかね。
おわりに
とりあえず、progateはスムーズに入門編突破できますのでやってみるといいですよ。
Progate | プログラミングの入門なら基礎から学べるProgate[プロゲート]
今回の前提として、
- Javaを今後使うことになる人のことを意識しJavaでprogateやってみてます
- この記事書きながら考えてるのは、僕がprogate後を直接面倒をみるつもり
があります。ですので、巷でよく言われてる、
未経験はまず掲示板サイト作りを目指してみましょう
みたいなとこまでたどり着くのはここに書いただけだとだいぶ遠いかなって思います。あとそもそもですけどJavaを個人でいきなり勉強して、書き込みも保存も読み込みも更新も削除もできる掲示板とかちとハードル高いよね…。
独学でいわゆる「ポートフォリオ」ってやつ作れるところまでたどり着きたい人は、素直にPHPとかから始めた方がやりやすいんじゃないかなぁって思ってます。
progateのPHP編を触ってみて感想書くとか、掲示板サイトみたいなの作るまでのヒントとかそういうのはまたの機会に書く…かもしれない。
