毎日通知を受け取り学習習慣を作ろう!
通知設定をすると毎日夜8時に通知を受け取れます。

※PCとAndroid環境におけるChromeとFirefoxにのみ対応

Javaコース中級 プラグイン開発編

プラグイン開発を行いながらオブジェクト指向やフレームワーク、DBについて学ぼう

DAY 16

ゲームを作りながら学ぶ Java実践⑤ 「マルチプレイ対応」

Webサービスやアプリケーションは同時に色々な人から実行されることが暗黙の「前提条件」になります。
その時に「複数の人に同時に実行されると挙動がおかしくなる」というのは大問題です。
しかしこれが実際には良く起きるバグの一つでもあります。

皆さんは今までプログラミングをする時に、自分の作ったものを同時に誰かに見てもらう事は今までしたことがないと思います。
そもそもマイクラ自体が現状だと自分のPC上でしか動作しないので「マルチプレイヤー」になることが有りえません。
これはWebサービスやアプリケーションを作る時も一緒で、大抵の機能実装は一人で動作確認します。
その為、複数の人が同時に実行した時に思ってもいなかったことが起きます。

じゃあどうするんだ、という事ですがある程度は実装のやり方があります。
プログラミング言語側やフレームワークなどでバグが起きないように制御していることもあります。

しかしそれでもバグは起きます。理由は「同時実行されたらどうなるか」というのを設計の考慮に入れてないからです。
仕組みはあくまで仕組みで、どう使うか、どう実装するかはプログラマーに委ねられています。
だからこそ、どんなケースがあり得るかを考えて、それを意識してコードを書くことがとても大切です!

また今回はマルチプレイ対応の一環で「データオブジェクト」というものも取り扱います。
現場でも良く使うもので、一般的な使い方を想定しています(データオブジェクトなんて作るべきでない!っていう設計思想もあります)が、プログラミングの世界でデータというものをどう扱うかを学ぶ良い機会なので、実際に実装してみてください。

TIPS

01. 点数加算のマルチプレイヤー対応

このTipを閲覧するためには
コースを購入する必要があります

購入してこのTipをみる

02. 課題

このTipを閲覧するためには
コースを購入する必要があります

購入してこのTipをみる