Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Java研修成果発表
Search
muras
April 05, 2014
Technology
0
740
Java研修成果発表
muras
April 05, 2014
Tweet
Share
More Decks by muras
See All by muras
PipeCDを使用したBucketeerのGitOps-style CI/CD
muras
0
960
Vim Tips
muras
0
750
Other Decks in Technology
See All in Technology
SQLだけでマイグレーションしたい!
makki_d
0
1.2k
AWSインフルエンサーへの道 / load of AWS Influencer
whisaiyo
0
220
AWSに革命を起こすかもしれない新サービス・アップデートについてのお話
yama3133
0
510
[Neurogica] 採用ポジション/ Recruitment Position
neurogica
1
130
テストセンター受験、オンライン受験、どっちなんだい?
yama3133
0
170
通勤手当申請チェックエージェント開発のリアル
whisaiyo
3
480
『君の名は』と聞く君の名は。 / Your name, you who asks for mine.
nttcom
1
120
Snowflake Industry Days 2025 Nowcast
takumimukaiyama
0
120
TED_modeki_共創ラボ_20251203.pdf
iotcomjpadmin
0
150
ActiveJobUpdates
igaiga
1
320
Strands Agents × インタリーブ思考 で変わるAIエージェント設計 / Strands Agents x Interleaved Thinking AI Agents
takanorig
5
2.1k
AgentCoreとStrandsで社内d払いナレッジボットを作った話
motojimayu
1
990
Featured
See All Featured
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.3k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
115
94k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
Being A Developer After 40
akosma
91
590k
Color Theory Basics | Prateek | Gurzu
gurzu
0
150
GraphQLとの向き合い方2022年版
quramy
50
14k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
58
Discover your Explorer Soul
emna__ayadi
2
1k
For a Future-Friendly Web
brad_frost
180
10k
Embracing the Ebb and Flow
colly
88
4.9k
Darren the Foodie - Storyboard
khoart
PRO
0
2k
Transcript
プログラミング言語Java 基本技術習得コース 成果発表 ! ! ! 村松 聖也
今日の話 第1部 デジタル時計課題のデモと説明 第2部 Java研修の振り返り
第1部 デジタル時計課題のデモと説明
~ちょうど2週間前のこと~ ! ! ! ! ! !
~ちょうど2週間前のこと~ ! ! ! ! ! ! ͦΖͦΖ࣌ܭ࡞Γ࢝Ίͳ͍ͱʜ
~ちょうど2週間前のこと~ ! ! ! ! ! ! ͦΖͦΖ࣌ܭ࡞Γ࢝Ίͳ͍ͱʜ "84ͱ͔ͬͯɺαʔόϒϥβͰ ήʔϜͰ࡞Ζ͏͔ͳ
~ちょうど2週間前のこと~ ! ! ! ! ! ! ͦΖͦΖ࣌ܭ࡞Γ࢝Ίͳ͍ͱʜ "84ͱ͔ͬͯɺαʔόϒϥβͰ ήʔϜͰ࡞Ζ͏͔ͳ
࣌ܭͱ͔IUNM KTͰΓ͚ͭͯɺ ήʔϜͮ͘Γʹઐ೦͢Δ͔
~ちょうど2週間前のこと~ ! ! ! ! ! ! ͦΖͦΖ࣌ܭ࡞Γ࢝Ίͳ͍ͱʜ "84ͱ͔ͬͯɺαʔόϒϥβͰ ήʔϜͰ࡞Ζ͏͔ͳ
࣌ܭͱ͔IUNM KTͰΓ͚ͭͯɺ ήʔϜͮ͘Γʹઐ೦͢Δ͔ ύζϧͬͨιʔγϟϧήʔϜͱ͔ ྲྀߦͬͯΔ͠ɺࣗ࡞ͬͯΈΑ͏͔ͳ
~ちょうど2週間前のこと~ ! ! ! ! ! ! ͦΖͦΖ࣌ܭ࡞Γ࢝Ίͳ͍ͱʜ "84ͱ͔ͬͯɺαʔόϒϥβͰ ήʔϜͰ࡞Ζ͏͔ͳ
࣌ܭͱ͔IUNM KTͰΓ͚ͭͯɺ ήʔϜͮ͘Γʹઐ೦͢Δ͔ ύζϧͬͨιʔγϟϧήʔϜͱ͔ ྲྀߦͬͯΔ͠ɺࣗ࡞ͬͯΈΑ͏͔ͳ ͯΑɺ΄ͱΜͲ+BWBඞཁͳͦ͞͏ ͬͺΓ७+BWBͰ࡞Ζ͏
~ちょうど2週間前のこと~ ! ! ! ! ! ! ͦΖͦΖ࣌ܭ࡞Γ࢝Ίͳ͍ͱʜ "84ͱ͔ͬͯɺαʔόϒϥβͰ ήʔϜͰ࡞Ζ͏͔ͳ
࣌ܭͱ͔IUNM KTͰΓ͚ͭͯɺ ήʔϜͮ͘Γʹઐ೦͢Δ͔ ύζϧͬͨιʔγϟϧήʔϜͱ͔ ྲྀߦͬͯΔ͠ɺࣗ࡞ͬͯΈΑ͏͔ͳ ͯΑɺ΄ͱΜͲ+BWBඞཁͳͦ͞͏ ͬͺΓ७+BWBͰ࡞Ζ͏ ɹɹɹʜ ˠɹࢼߦࡨޡͷɺ࡞ΔͷΛܾఆ
! 『ネットワーク対戦型 パズル&クロックゲーム』 ! !
! 『ネットワーク対戦型 パズル&クロックゲーム』 通称 パズクロ! です ! (パズ◦ラ?も◦クロ?どこかで聞いた名前なのは内緒です)
パズクロ!とは? •パズルを使って得点を競い合うオリジナルのゲーム •得点が時計の表示と連動 •サーバに接続してネットワーク対戦が可能 •1人プレイもあり
! デモ !
参考:パズクロ!の画面(一人プレイ中) ! ! ! ! !
パズクロ!を支える技術
用語 • AmazonWebService(AWS): Amazonのクラウドサービス • Amazon EC2: AWS上の仮想サーバ • jetty:
軽量なServletコンテナ&HTTPサーバ • WebSocket: Webサーバとブラウザが双方向通信を行うためのプロトコル HTTPコネクションをそのままアップグレードしてコネクションを張る URIスキームはws:とwss: (ws://hostname/sampleみたいな)
動作環境 ! ! ! ! ! Amazon EC2 サーバ サーブレット
プログラム
動作環境 ! ! ! ! ! Amazon EC2 サーバ サーブレット
プログラム クライアント Swing プログラム
動作環境 ! ! ! ! ! Amazon EC2 サーバ サーブレット
プログラム クライアント Swing プログラム WebSocket JSONデータ
動作環境 ! ! ! ! ! Amazon EC2 サーバ サーブレット
プログラム クライアント Swing プログラム WebSocket JSONデータ 対戦
クライアント側コードでやってること • パズルのドラッグ • 得点計算 • 画面制御,アニメーション • 得点と時計の連動 •
WebSocket通信,JSONデータ送信(jettyのライブラリを利用) → 名前とか得点とか送る
サーバ側コードでやってること • 接続中クライアントの管理 • 誰と誰が対戦しているかを管理 • WebSocket通信,JSONデータ送信(jettyのライブラリを利用) →受け取ったデータをリアルタイムで対戦相手に通知など
苦労したところ • 時間との戦い 1週間弱で1人プレイ実装 1日でWebSocket関連の情報収集 3日で2人プレイ実装+デプロイ 1日で発表資料作成 (アイデアがない、読んでる本読み終わったら始めよう) • 2人プレイの実装全般
感想 • 久々にがっつりコードが書けて楽しかった • 1からWebアプリを全て作るのはめったになく良い経験 • 2人プレイ実装あたりからコードが荒れてきた →まだまだ実力不足を実感
その他 • ソースコードはgithub上にある https://github.com/mura-s/puzzclo-server https://github.com/mura-s/puzzclo-client ! • 遊ぶときは、クライアントの以下のjarを起動 target/puzzclo-client-jar-with-dependencies.jar !
• ただしサーバはいつまで動かしているかわからない
第2部 Java研修の振り返り
! ! この研修を受けて本当良かったです! ! どうしてそう思ったかについて、 全体を振り返りながら話していきます
研修開始前 ~ 開始当初 • 正直この研修を受けるかどうか迷っていた 月に数十時間も業務時間外に勉強できるのか? そこまでしてやる意味は? ! • なんとなく受けてみるか
Javaは業務でも使うし、最初1,2年くらいは頑張るか 周りも受けるし、受けないと差を付けられそうだし
開始当初 • やるからには頑張るか ただこの頃は辛いという気持ちのほうが大きかった ! • 学習時間は月50~70時間 平日仕事終わりに、土日に だいたい平日3~4日+土曜or日曜丸一日 このペースは最後まで継続
開始3~4ヶ月後 • 柴田さんの話を聞くうちに、 継続した学習の必要性に気づき始める 良い製品をつくるためには高い技術力が必要 それは業務だけでは身につかない ! • だんだん勉強を「やらされている」から「やろう」へ
そしてインタプリタ(研修開始から半年) • この1ヶ月は本当に頑張った なんとか1発合格して周りを驚かせたい 勉強時間は増え大変だったが、辛くはなかった ! • 1発で合格できて嬉しかった ただ、今思い返すとQualityは…
インタプリタ後 • いつからか課題を全てやっても時間があることに気づく 「プログラミング作法」を読もう 業務に関係ありそうな勉強をしよう →プログラミング,OS,サーバ,DBなど RSSでブログや技術情報など読み始める
その後~現在 • 業務外の学習は習慣 学習するごとに興味が広がっていく 研修当初のペースを継続中 やらないと不安になるのは悩みどころ ! • 今後は外部のコミュニティにも参加していきたい 勉強会への参加、オープンソースなど
全体を通して • Javaはもちろんだが、技術者としてどう歩んでいくかを学んだ • 最初に比べ、技術的にも大きく成長できた • 逆にこの研修を受けなかったらと思うと怖い “サラリーマンエンジニア”になっていたかも 気づいた時に後悔していたかも •
まだまだ未熟、これからの道のりは長い 継続して学習して、技術者として成長していけそう 業務でもっと技術を使いたい、コード書きたい…
! ! この研修を受けて本当良かったです! ! !
最後に 柴田さん、1年半本当にありがとうございました。 この発表でも話した通り、この研修は自分にとって 大変大きな影響を受けるものとなりました。 受講生のみなさん、1ヶ月ごとに会って、切磋琢磨して、 飲みにいって、本当に楽しかったです。 みなさん今後ともよろしくお願いします。
None