Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Java研修成果発表
Search
muras
April 05, 2014
Technology
0
750
Java研修成果発表
muras
April 05, 2014
Tweet
Share
More Decks by muras
See All by muras
PipeCDを使用したBucketeerのGitOps-style CI/CD
muras
0
970
Vim Tips
muras
0
760
Other Decks in Technology
See All in Technology
タスク管理も1on1も、もう「管理」じゃない ― KiroとBedrock AgentCoreで変わった"判断の仕事"
yusukeshimizu
5
1.8k
AIエージェント時代に備える AWS Organizations とアカウント設計
kossykinto
2
340
組織のSREを推進するためのPlatform EngineeringとEKS / Platform Engineering and EKS to drive SRE in your organization
chmikata
0
190
JAWSDAYS2026_A-6_現場SEが語る 回せるセキュリティ運用~設計で可視化、AIで加速する「楽に回る」運用設計のコツ~
shoki_hata
0
2.9k
メタデータ同期に潜んでいた問題 〜 Cache Stampede 時の Cycle Wait を⾒つけた話
lycorptech_jp
PRO
0
150
白金鉱業Meetup_Vol.22_Orbital Senseを支える衛星画像のマルチモーダルエンベディングと地理空間のあいまい検索技術
brainpadpr
2
250
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
5
1.1k
【SLO】"多様な期待値" と向き合ってみた
z63d
2
310
クラウド時代における一時権限取得
krrrr38
1
170
楽しく学ぼう!ネットワーク入門
shotashiratori
0
290
EMからVPoEを経てCTOへ:マネジメントキャリアパスにおける葛藤と成長
kakehashi
PRO
9
1.3k
AIファーストを前提とした開発スタイルの変化
sbtechnight
0
160
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
The SEO Collaboration Effect
kristinabergwall1
0
380
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.4k
Typedesign – Prime Four
hannesfritz
42
3k
How STYLIGHT went responsive
nonsquared
100
6k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
310
The Curious Case for Waylosing
cassininazir
0
260
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
140
Building Applications with DynamoDB
mza
96
6.9k
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