5月18日(月)Webアプリケーション・セキュリティ技術研修(4日目)~じゃんけんゲームを作ろう~

皆様、こんにちは。

週末が明け、「Webアプリケーション・セキュリティ技術研修(8日間)」の

4日目になりました。

 

今日は、サーブレットクラスとJSPファイルの間で、

インスタンスを共有することができる「スコープ」などについて学び、

徐々にスキルアップしていきます。

 

プログラミング経験のある受講者の方でも、

サーブレットやJSPの知識がある方は多くはなく、

経験者の方からも「理解が難しい」といった声が聞かれています。

昨日の日報では、こんなコメントがありました。

 

(プログラミング経験者の方)

「記述するコードがどこにリクエストを送り、

 どこへレスポンスをしているのかをすぐに把握できない。

 コードをいきなり記述するのではなく、一度図にし、流れを把握する。

 データがどのように遷移しているのかを図で把握する。」

 

(プログラミング初心者の方)

「テキストやインターネットを使って、

 エラーの原因を調べて突き止められたことがあったので、

 さらに知識を増やして対応できる幅を広げる。」

 

テキストに書いてあるサンプルコードも、初めに比べて長くなり、

どんな処理を行っているのか、一目で把握しにくくなっていると思います。

仲間の力や、インターネットの検索を活用して、

自分でいろいろなヒントを探しながら学んでいきましょう。

 

f:id:insblog:20200518174435j:plain

 

午前中は、すぐに講義内容に入るのではなく、

先週学んだ内容を使って、「数当てゲーム」を作ってもらいました。

数値を入力するフォームを作って、あらかじめ基準を決めておき、

数値を入力すると「正解/不正解」が出力されるプログラムです。

 

1時間程度経ったところで、グループになり、

プログラムを完成させた人を中心に共有し合いました。

 

なかには、デバッグをしてほしい、とメンバーに頼み、

全員でエラーを解消する場面も。スペルミスが原因でした。

自分では気づかないことも、他者の力を借りると、

一瞬で解決できることもありましたね。

 

 

午後は、先ほどのグループで「じゃんけんゲーム」を作ってもらいました。

テキストにはない、独自の課題です!

 

「グループの全員が同じファイル構成になるように」

という講師が指定した条件のもと、

自分たちでJSPファイルの名前やデータ型を決めて、コードを書き始めました。

講師も全部のグループを回って、

与えた条件がきちんと満たされているか確認し、適宜軌道を修正しています。

 

f:id:insblog:20200518174641j:plain

 

グループでは、こんなやり取りがされています。

「1問目は、セッションスコープは使わずに書ける問題かな?」

「セッションスコープを使うことにこだわる必要はないけど、

 この次のお題はセッション使うみたいだね!

 …ここまではみんな理解できた?」

「プロジェクト名を『Janken』にしたら、

 なぜかプロジェクトが作れないんですけど…」

「なんでかな…いろいろ試したけど分からないから、

 みんな『Janken2』で作ろう!!」

 

先導できる人が決めてしまうのではないかと懸念しておりましたが、

決して誰も置いていくことはなく、全員で歩調を合わせて進めていました。

 

初心者の方も、プログラミングへの苦手意識を克服できたのか、

とても積極的に発言していました。

 

f:id:insblog:20200518174517j:plain

 

ラジオボタンの書き方ってなんだっけ?」

「『input type = “radio”』だね!」

「ここで宣言するStringは2つで大丈夫かな?」

と、メンバーに聞いたりしながら、コツコツと書いています。

 

皆さん、どうにかプログラムを完成させたかったようで、

なかには、「あと1時間、時間が欲しいです!」という申し出もありました。

 

 

研修の終わりには、グループ内で、

今日学んだ「リクエストスコープ」「セッションスコープ」

「アプリケーションスコープ」の3つの違いを振り返りました。

 

「分からないことあるー?」という問いかけに、ぶんぶん、と首を振る受講者も(笑)

分からない人に対しては、

「まずはスコープの概念を説明してみるところから、かな」

「テキストのコードをいろいろ打ち込んで、

 どう違うかをしっかり確認するとよくわかるよ」

と、受講者同士でいろいろなアドバイスが飛び交っていました。

 

ここまで一緒に受講していて、信頼関係ができているのは頼もしいですね。

 

本日は、一つのことにのめりこんで、時間があっという間に過ぎましたね!(笑)

明日は、ここまでの4日間の知識を手に、

会員ログイン機能などの機能を持ったWebアプリケーションを作成します。

がんばりましょう!

 

本日も一日、お疲れさまでした!