こんにちは。コードキャンプ株式会社が運営するプログラミングスクール「CodeCamp(コードキャンプ)」でプログラミングを学習している高橋です。
私が受けているコースは「Javaマスターコース」。Javaは、数あるプログラミング言語の中でも、日本国内において、特に求人案件数が多い言語です。CodeCamp(コードキャンプ)の「Javaマスターコース」では、Javaエンジニアには必須の「オブジェクト指向」から、「JSP/サーブレット」「データベース連携」まで、Javaを用いてWebアプリケーションを開発するために必要な知識を基礎から実践まで学びます。
受講回数は2ヶ月(20回)、4ヶ月(40回)、6ヶ月(60回)の3つから選べます(今回は2ヶ月間受講します)。
それでは、2018年11月14日に受講した、Codecamp(コードキャンプ)「Javaマスターコース」第8回目の学習内容をレビューします。
Javaマスターコース8日目|CodeCamp(コードキャンプ)
本日の講師:勝田郁郎先生
普段はSOHOにてWEB系、ソーシャルゲーム関連の開発を行っております。
実務に基づいた使えるスキルを丁寧に解りやすくお伝えいたします。
現在学んでいる箇所では無い箇所の質問も、是非して下さい。
どんな質問を何度して頂いても構いません。
理解し、使いこなせるようになるまで、お手伝いさせて頂きます。
いっしょに頑張りましょう。
第8回目のレッスンで学んだことは以下の内容です。
CodeCamp(コードキャンプ)Javaマスターコース第8回目のレッスン内容
-
Java応用編第12章
前回までで、JavaマスターOLコースの基礎編まで終わらせることができました。レッスンも一段落したところで、今後の進め方について相談することにしました。
1.Java応用編第12章
私はできればあと1カ月程度でコースを完了したいと思っています。今後どのような進め方にするのがおすすめでしょうか。
それに対して、応用編っていうのは具体的な技術の使い方、みたいな話なので必要なところをかいつまんでやるのでも十分です。
応用編の目次
ファイルへの書き込みとか呼び出しをしなければこれをしなくてもいいわけですね。
例えば、サーブレットではデータを永続化したいとなると、データベースに保存することになります。
教材『ファイル操作の概念』より抜粋
それに対して、掲示板とかツイッターのようなものを作ろうとしたときに、メモリ上のみで扱っていると、パソコンを落としたときにデータが消えてしまいます。これでは困りますね。そういったときに一番簡単に思いつくのがこのファイルです。日付やコメントを名前つけて保存しておけばよいですね。
ただECサイトなんかではそれでもつくることは可能なんですけど、ツイッターのようなものを作ろうと思うとデータが何億件かあったりして、その中で自分のフォロワーのツイートだとか「欲しいものを抽出する」必要がありますね。そういう作業を簡単にしてくれるのがデータベースという仕組みです。
言ってみればファイル保存の上位互換だと思ってください。
データベースのイメージ(教科書から抜粋)
なので、データベースを学んでおけば、ファイルの保存の重要度は低いでしょう。実際にファイルに書く必要が出てきたときに勉強すれば十分だと思います。
java基礎では今までやっていくところの土台を作っていたので、何一つ欠かすことができませんでした。応用編はこれの上に何か積むっていうものではなく、単独で存在していて、一番上に乗っかるものっていうものもあるので、それは必要になってから学べば良いでしょう。
ですので、応用編の課題についてはあまり手を付けなくてもいいかなと思います。
今はプログラムを終了するとコインの数などのデータが消えてしまいますが、一時中断したいと思ったときには一旦ファイルの形にしておきます。再度プログラムを立ち上げたときにそのファイルを読み込めば、続きから始めることができるようになりますね。
それでは、応用編の中で、サーブレットの作成に必要な部分はどの部分になるでしょうか。
4〜7章は飛ばしてもいいかもしれません。特に7章で解説されているJVMの制御というのはJavaの世界で黒魔術と呼ばれている技術ですね。
黒魔術!?
あるクラスを継承元のクラスにアップキャストをするというものをポリモーフィズムで学びましたね。アップキャストはイメージ的には「詳しく作ったものをフワッとさせる」という処理なのですが、そのフワッとさせたものをまた改めて詳しくした時に、これが一体何者なのか知りたいという時に使う技術です。
要は「犬」と「猫」というクラスを「動物」にアップキャストしたとします。そうするとどちらのクラスも「動物」として扱って配列にいれたりすることができますね。
次に、配列に入っているモノが果たして「犬」なのか「猫」なのか改めて知りたい、というような時に7章の技術を使うことになります。
8章以降はどうでしょうか。
12章についてはサーブレットでもガチガチに使いますし、今の世の中にあるプログラムでデータベースを使わないものはほぼ存在しないと思ってもいいと思います。なのでここはしっかりやっておくべきですね。
13章についてはしっかりやろうとすると結構難しい技術です。これを作れるようになるといっぱしのプログラマと呼んでもいいのではないでしょうか。
そのプログラムを例えば10人同時に使ったら変数とかどうなんの?という問題が生まれます。複数人で動かす時に、変数を個別に扱ったり、統合して扱ったり、また個別に扱わなければいけないものを個別に扱ってそれぞれの状態を保持するというものがこの技術ですね。
二人動かした時には2つスレッドが立つと、いうような言い方をします。これからやるサーブレットという技術はまさにこのスレッドという技術を使っています。
なので、サーブレットがこのスレッドという仕組みで動いているということだけ知っていれば十分かなと思うので13章を一読しておいてください。
他の章については時間の余裕を見て取り組んでいきたいと思います!
特に、このコースの最終課題はECサイトを作るというもので、結構時間がかかります。なので、そっちを優先した方が良いかもしれませんね。
今、Javaの仕事というと、サーブレットを使ったものか、Androidということになるかと思います。サーブレットではECサイトや金融機関のシステム、ソシャゲなんかにも使われています。
Androidはゲームを動かす部分で使っています。モンストなんかのゲームで言えば、ものを引っ張ったり飛ばしたりというアニメーションはAndroidで使われています。
いずれはAndroidもやっていきたいと思います!時間が少しあるので、文字列の操作で予習してきたところを見ていただきたいと思います。
必要になってから勉強するのでも良いかもしれません。
どの言語で書いても正規表現そのものは変わらないので、例えばブラウザで「正規表現」検索してみましょう。
今回は「サルにもわかる正規表現入門」というサイトを参考にしました。
書き直したコード
書き方そのものは難しいんですけど、検索すると簡単に出てきます
前にやった人がこれは効率がいいとかこれはダメっていうのが出尽くしていて、調べれば出てくるという技術です。
Javaマスターコース8日目の感想|CodeCamp(コードキャンプ)
今回はコードのレビューという形ではなく、今後の進め方について相談させてもらいました。その中でどんな技術がどんな形に応用されているのかということについて知ることができ、開発のイメージが湧きました。
今後はサーブレットの作成に向けて頑張っていきたいと思います!
CodeCamp(コードキャンプ)の「Javaマスターコース」とは
CodeCamp(コードキャンプ)の「Javaマスターコース」は、Javaエンジニアになるために必要な知識を基礎から実践まで学べるコースです。
>>無料体験レッスン受講で10,000円OFFクーポンプレゼントキャンペーン実施中
CodeCamp(コードキャンプ)「Javaマスターコース」の料金
2ヶ月 |
|
4ヶ月 |
|
6ヶ月 |
|
現在は全く別の業界で働いていますが、今後はシステムエンジニアとしてのキャリアに進もうと思っています。その準備として、JavaマスターOLコースでJava開発の基礎を学んでいきます!