Slide 1

Slide 1 text

プログラミング言語Java 基本技術習得コース 成果発表 ! ! ! 村松 聖也

Slide 2

Slide 2 text

今日の話 第1部 デジタル時計課題のデモと説明 第2部 Java研修の振り返り

Slide 3

Slide 3 text

第1部 デジタル時計課題のデモと説明

Slide 4

Slide 4 text

~ちょうど2週間前のこと~ ! ! ! ! ! !

Slide 5

Slide 5 text

~ちょうど2週間前のこと~ ! ! ! ! ! ! ͦΖͦΖ࣌ܭ࡞Γ࢝Ίͳ͍ͱʜ

Slide 6

Slide 6 text

~ちょうど2週間前のこと~ ! ! ! ! ! ! ͦΖͦΖ࣌ܭ࡞Γ࢝Ίͳ͍ͱʜ "84ͱ͔࢖ͬͯɺαʔόϒϥ΢βͰ ήʔϜͰ΋࡞Ζ͏͔ͳ

Slide 7

Slide 7 text

~ちょうど2週間前のこと~ ! ! ! ! ! ! ͦΖͦΖ࣌ܭ࡞Γ࢝Ίͳ͍ͱʜ "84ͱ͔࢖ͬͯɺαʔόϒϥ΢βͰ ήʔϜͰ΋࡞Ζ͏͔ͳ ࣌ܭͱ͔IUNM KTͰ͸Γ͚ͭͯɺ ήʔϜͮ͘Γʹઐ೦͢Δ͔

Slide 8

Slide 8 text

~ちょうど2週間前のこと~ ! ! ! ! ! ! ͦΖͦΖ࣌ܭ࡞Γ࢝Ίͳ͍ͱʜ "84ͱ͔࢖ͬͯɺαʔόϒϥ΢βͰ ήʔϜͰ΋࡞Ζ͏͔ͳ ࣌ܭͱ͔IUNM KTͰ͸Γ͚ͭͯɺ ήʔϜͮ͘Γʹઐ೦͢Δ͔ ύζϧ࢖ͬͨιʔγϟϧήʔϜͱ͔ ྲྀߦͬͯΔ͠ɺࣗ෼΋࡞ͬͯΈΑ͏͔ͳ

Slide 9

Slide 9 text

~ちょうど2週間前のこと~ ! ! ! ! ! ! ͦΖͦΖ࣌ܭ࡞Γ࢝Ίͳ͍ͱʜ "84ͱ͔࢖ͬͯɺαʔόϒϥ΢βͰ ήʔϜͰ΋࡞Ζ͏͔ͳ ࣌ܭͱ͔IUNM KTͰ͸Γ͚ͭͯɺ ήʔϜͮ͘Γʹઐ೦͢Δ͔ ύζϧ࢖ͬͨιʔγϟϧήʔϜͱ͔ ྲྀߦͬͯΔ͠ɺࣗ෼΋࡞ͬͯΈΑ͏͔ͳ ଴ͯΑɺ΄ͱΜͲ+BWBඞཁͳͦ͞͏ ΍ͬͺΓ७+BWBͰ࡞Ζ͏

Slide 10

Slide 10 text

~ちょうど2週間前のこと~ ! ! ! ! ! ! ͦΖͦΖ࣌ܭ࡞Γ࢝Ίͳ͍ͱʜ "84ͱ͔࢖ͬͯɺαʔόϒϥ΢βͰ ήʔϜͰ΋࡞Ζ͏͔ͳ ࣌ܭͱ͔IUNM KTͰ͸Γ͚ͭͯɺ ήʔϜͮ͘Γʹઐ೦͢Δ͔ ύζϧ࢖ͬͨιʔγϟϧήʔϜͱ͔ ྲྀߦͬͯΔ͠ɺࣗ෼΋࡞ͬͯΈΑ͏͔ͳ ଴ͯΑɺ΄ͱΜͲ+BWBඞཁͳͦ͞͏ ΍ͬͺΓ७+BWBͰ࡞Ζ͏ ɹɹɹʜ ˠɹࢼߦࡨޡͷ຤ɺ࡞Δ΋ͷΛܾఆ

Slide 11

Slide 11 text

! 『ネットワーク対戦型 パズル&クロックゲーム』 ! !

Slide 12

Slide 12 text

! 『ネットワーク対戦型 パズル&クロックゲーム』 通称 パズクロ! です ! (パズ○ラ?も○クロ?どこかで聞いた名前なのは内緒です)

Slide 13

Slide 13 text

パズクロ!とは? •パズルを使って得点を競い合うオリジナルのゲーム •得点が時計の表示と連動 •サーバに接続してネットワーク対戦が可能 •1人プレイもあり

Slide 14

Slide 14 text

! デモ !

Slide 15

Slide 15 text

参考:パズクロ!の画面(一人プレイ中) ! ! ! ! !

Slide 16

Slide 16 text

パズクロ!を支える技術

Slide 17

Slide 17 text

用語 • AmazonWebService(AWS): Amazonのクラウドサービス • Amazon EC2: AWS上の仮想サーバ • jetty: 軽量なServletコンテナ&HTTPサーバ • WebSocket: Webサーバとブラウザが双方向通信を行うためのプロトコル HTTPコネクションをそのままアップグレードしてコネクションを張る URIスキームはws:とwss: (ws://hostname/sampleみたいな)

Slide 18

Slide 18 text

動作環境 ! ! ! ! ! Amazon EC2 サーバ サーブレット プログラム

Slide 19

Slide 19 text

動作環境 ! ! ! ! ! Amazon EC2 サーバ サーブレット プログラム クライアント Swing プログラム

Slide 20

Slide 20 text

動作環境 ! ! ! ! ! Amazon EC2 サーバ サーブレット プログラム クライアント Swing プログラム WebSocket JSONデータ

Slide 21

Slide 21 text

動作環境 ! ! ! ! ! Amazon EC2 サーバ サーブレット プログラム クライアント Swing プログラム WebSocket JSONデータ 対戦

Slide 22

Slide 22 text

クライアント側コードでやってること • パズルのドラッグ • 得点計算 • 画面制御,アニメーション • 得点と時計の連動 • WebSocket通信,JSONデータ送信(jettyのライブラリを利用) → 名前とか得点とか送る

Slide 23

Slide 23 text

サーバ側コードでやってること • 接続中クライアントの管理 • 誰と誰が対戦しているかを管理 • WebSocket通信,JSONデータ送信(jettyのライブラリを利用) →受け取ったデータをリアルタイムで対戦相手に通知など

Slide 24

Slide 24 text

苦労したところ • 時間との戦い 1週間弱で1人プレイ実装 1日でWebSocket関連の情報収集 3日で2人プレイ実装+デプロイ 1日で発表資料作成 (アイデアがない、読んでる本読み終わったら始めよう) • 2人プレイの実装全般

Slide 25

Slide 25 text

感想 • 久々にがっつりコードが書けて楽しかった • 1からWebアプリを全て作るのはめったになく良い経験 • 2人プレイ実装あたりからコードが荒れてきた →まだまだ実力不足を実感

Slide 26

Slide 26 text

その他 • ソースコードはgithub上にある https://github.com/mura-s/puzzclo-server https://github.com/mura-s/puzzclo-client ! • 遊ぶときは、クライアントの以下のjarを起動 target/puzzclo-client-jar-with-dependencies.jar ! • ただしサーバはいつまで動かしているかわからない

Slide 27

Slide 27 text

第2部 Java研修の振り返り

Slide 28

Slide 28 text

! ! この研修を受けて本当良かったです! ! どうしてそう思ったかについて、 全体を振り返りながら話していきます

Slide 29

Slide 29 text

研修開始前 ~ 開始当初 • 正直この研修を受けるかどうか迷っていた 月に数十時間も業務時間外に勉強できるのか? そこまでしてやる意味は? ! • なんとなく受けてみるか Javaは業務でも使うし、最初1,2年くらいは頑張るか 周りも受けるし、受けないと差を付けられそうだし

Slide 30

Slide 30 text

開始当初 • やるからには頑張るか ただこの頃は辛いという気持ちのほうが大きかった ! • 学習時間は月50~70時間 平日仕事終わりに、土日に だいたい平日3~4日+土曜or日曜丸一日 このペースは最後まで継続

Slide 31

Slide 31 text

開始3~4ヶ月後 • 柴田さんの話を聞くうちに、 継続した学習の必要性に気づき始める 良い製品をつくるためには高い技術力が必要 それは業務だけでは身につかない ! • だんだん勉強を「やらされている」から「やろう」へ

Slide 32

Slide 32 text

そしてインタプリタ(研修開始から半年) • この1ヶ月は本当に頑張った なんとか1発合格して周りを驚かせたい 勉強時間は増え大変だったが、辛くはなかった ! • 1発で合格できて嬉しかった ただ、今思い返すとQualityは…

Slide 33

Slide 33 text

インタプリタ後 • いつからか課題を全てやっても時間があることに気づく 「プログラミング作法」を読もう 業務に関係ありそうな勉強をしよう →プログラミング,OS,サーバ,DBなど RSSでブログや技術情報など読み始める

Slide 34

Slide 34 text

その後~現在 • 業務外の学習は習慣 学習するごとに興味が広がっていく 研修当初のペースを継続中 やらないと不安になるのは悩みどころ ! • 今後は外部のコミュニティにも参加していきたい 勉強会への参加、オープンソースなど

Slide 35

Slide 35 text

全体を通して • Javaはもちろんだが、技術者としてどう歩んでいくかを学んだ • 最初に比べ、技術的にも大きく成長できた • 逆にこの研修を受けなかったらと思うと怖い “サラリーマンエンジニア”になっていたかも 気づいた時に後悔していたかも • まだまだ未熟、これからの道のりは長い 継続して学習して、技術者として成長していけそう 業務でもっと技術を使いたい、コード書きたい…

Slide 36

Slide 36 text

! ! この研修を受けて本当良かったです! ! !

Slide 37

Slide 37 text

最後に 柴田さん、1年半本当にありがとうございました。 この発表でも話した通り、この研修は自分にとって 大変大きな影響を受けるものとなりました。 受講生のみなさん、1ヶ月ごとに会って、切磋琢磨して、 飲みにいって、本当に楽しかったです。 みなさん今後ともよろしくお願いします。

Slide 38

Slide 38 text

No content