18下期 JavaGold勉強会レポート Vol.2

benkyokai


1.今回のテーマと内容

1.受講生の学習状況の確認

受講生たち全員が、しっかりと開始時間前にセミナールームへ集合しました。受講生の全員がそれぞれの業務終了後ですが、これからがっちり勉強をするぞ、という意欲に満ちあふれているように見えますよ。

この勉強会は、必ず受講生全員の勉強の状況共有から始めているとのことです。そういえば、前期の勉強会もそんな感じでしたね。

さて、受講生の状況はいろいろでした。ちゃんと進めている人、頑張っているけれども壁にぶつかっている人、残念ながらあまり進んでいない人…。

大石講師は一人一人の状況共有へしっかり耳を傾けて、コメントを返します。それらのコメントを聞いていると、「毎日ちまちまやりなさい」「合格者の声をちゃんと読みなさい」が、大石講師の口癖のようです。

勉強の進み具合は受講生それぞれでしたが、大石講師からもらったコメントを参考にして、どんどん勉強を進めていってほしいですね。

2.スレッドとは何ぞや

今月の講義内容は「スレッド」というものだそうです。スレッドはGold試験でも難易度が高いものだとのことで、受講生は話の内容を吸収すべく、しっかりと聞き耳を立て始めました。

ここでスレッドについての説明資料が配られるのかと思いきや、大石講師は自分で書いたというENGINEER-CLUBの記事を使って説明を始めました。うーん、これはずるいというべきか、効率的というべきか、ちょっと判断に迷うところです。

           Javaのスレッド(Thread)を使いこなすコツを、基礎からしっかり伝授 https://engineer-club.jp/java-thread

大石講師に後から聞いたところ、「これは初心者向けの記事なので、スレッドとは何ぞやというレベルの人への説明にはもってこい」なのだそうです。また、「あらかじめ勉強会での講義で使うことも考えて記事を書いた」のだそうですよ。

講義では、大石講師の説明が続きます。スレッドはどういうことに使うのか、スレッドを使うと何がうれしいのか、スレッドをJavaプログラム上で使うための方法、スレッドを使う時の注意事項について、一つ一つ説明がされました。

スレッドは、どうやらとてもややこしく、理解が難しいもののようです。大石講師も分かりやすい説明をするのが大変そうではありました。でも、なにせ記事を書いた本人からの説明ですから、受講生が感じる分かりやすさもひとしおのようでしたよ。

3.超速習Executorフレームワーク

次に、大石講師がちょっと時間を気にしながらも、「Executorフレームワーク」の資料にプロジェクタの表示を切り替えました。これは、Gold試験のとても大事なところだそうです。

ここでいきなり、大石講師がスレッドへの恨み辛みを語り始めました。

           ・ちゃんと動くマルチスレッドプログラムを作るのは難しい

           スレッドプールの管理は面倒で、自分ではやりたくない

           ・Runnableが戻り値を戻せないのは不便の極み

           ・解決すべき不具合がぜんぜん再現しない

きっと、大石講師が今までしてきた仕事での経験なのでしょう、言いたい放題です。受講生たちは「大石さんはどうしちゃったんだろう」という微妙な雰囲気を漂わせつつも、話にじっと聞き入っています。

大石講師の話では、これらのJavaプログラマの恨み辛みがExecutorフレームワークが生まれた背景で、それらの問題がきれいさっぱり解決するのだそう。そして、その背景の理解こそが重要なのだとも。

その後、正気に戻った大石講師から、Executorフレームワークの説明が続きました。以下のとおり、内容は盛りだくさん。受講生からの質問にも即回答しつつ、ガンガン説明していきます。

           ・フレームワークで使うクラス・インターフェイスの役割

           ・プログラムサンプルの行ごとの意味

           ・CallableRunnableの違い

           ・Futureは処理結果との引換券である

           ・ExecutorServiceの処理実行メソッドの違いの図説

そのうち、講義時間の終わりがやってきました。大石講師は不完全燃焼気味で、「え、もう終わり? 時間がぜんぜん足りねー!!」と悲鳴を上げます。それでも、大事なポイントはしっかりと伝え終わったみたいですよ。

最後に大石講師から「何か質問はありますか?」と聞かれた時には、受講生は「ありません!!」と言わんばかりの満足げな表情を浮かべていました。


2.次回予告

次回の講義では、Javaで日時を扱うための新しいフレームワーク「Date and Time API」の説明を行うとのことです。

もし今回の調子が続くなら、大石講師がJavaプログラミングで経験してきたことの恨み辛みの物語がまた始まるかもしれません。受講生のみなさんも、大石講師の愚痴を我慢して聞いてあげてくださいね。


3.受講者の声と評価

今回の講義の受講生からの評価は、平均で97点だったそうです。講義のクォリティに満足できなければ、辛めの点数を情け容赦なくつけるBOLDのエンジニアたち。それからしてみれば、なかなかのものかもしれません。

受講生からの声には、以下のものがあったとのこと。今回の講義が、スレッドの理解にしっかりと役立ったようですね。

           ・忘れていたことを思い出すことができました

           ・非常にわかりやすかったです

           ・講義を聞いていてさっぱりわからないというような部分がありませんでした。Gold範囲の学習の導入として、最適だと感じます

           ・問題を解く時は、スレッドの動きや使用している変数に注意したいと思います

           ・Threadの不便さを語る大石さんの熱の入りっぷりから、現場の大変さがリアルに伝わってきました


4.勉強会で伝えたいこと

プログラムをじっと眺めているだけでは、スレッドの正しい理解には絶対に到達できません。自分でプログラムを書いて動かして、いろいろいじって失敗してみなければ、実感は決して得られないのです。

知識としても、プロセスとスレッドの違いの理解や、スレッドがJava仮想マシン上やOS上で動く時の具体的なイメージを知らなければなりません。それに、マルチコアやマルチプロセッサなどの、コンピュータアーキテクチャの理解も求められます。

そういう経験や理解を積み重ねていけば、「ああ、そういうことだったのか」と思える時が必ずやって来ます。この勉強会を通じて、受講生にはそんな体験をたくさんさせてあげたいのです。(談:メイン講師 大石さん)

 

私たちは、全てのエンジニアに市場価値を高め自身の望む理想のキャリアを歩んでいただきたいと考えています。もし、今あなたが転職を検討しているのであればこちらの記事をご一読ください。理想のキャリアを実現するためのヒントが見つかるはずです。

『技術力』と『人間力』を高め市場価値の高いエンジニアを目指しませんか?

私たちは「技術力」だけでなく「人間力」の向上をもって遙かに高い水準の成果を出し、関わる全ての人々に感動を与え続ける集団でありたいと考えています。

高い水準で仕事を進めていただくためにも、弊社では次のような環境を用意しています。

  • 定年までIT業界で働くためのスキル(技術力、人間力)が身につく支援
  • 「給与が上がらない」を解消する6ヶ月に1度の明確な人事評価制度
  • 平均残業時間17時間!毎週の稼動確認を徹底しているから実現できる働きやすい環境

現在、株式会社ボールドでは「キャリア採用」のエントリーを受付中です。

まずは以下のボタンより弊社の紹介をご覧いただき、あなたの望むキャリアビジョンをエントリーフォームより詳しくお聞かせください。

文系IT未経験歓迎!【21卒対象】新卒採用のエントリーを5/24まで受付中!
文系IT未経験歓迎!【21卒対象】
新卒採用のエントリーを5/24まで受付中!