- ベストアンサー
インフラ構築には何がいるのか?
こんにちは。 ネット関係でのプログラミングはまだないのですが、ネットでのインフラ構築だと プログラマーは何をしているのでしょうか? 具体的に言いますと、どんな言語を用いて、(たとえばJavaだとかSQLだとか)何をしているのでしょうか? 例にだすと、ゲーム関係でネットならデータベース(DB)関係と何か関係があるのでしょうか? そこのところもよく分かっていないのですが。 できればより詳しくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
インフラ構築という言葉が、誤用であることは#1の方の説明でご理解いただけたとして。 ネットワークプログラムを組む際に、プログラマが何をしているか…プログラムを組んでいます。 ま、SEなども含めるとして、要件定義して、言語やサーバー選定、DBを使うならDBの選定、プログラムの設計や場合によってはプロトコルを作成する事もするかも知れません。 開発スケジュールを決めて、管理して…と結局はやることは、ローカルのプログラムと同じです。 ローカルのプログラムと全く違うのは、まず要件定義というか、要求仕様が全く異なります。 要求仕様が違うので、設計が全く違う物になります。 要求仕様の中に動作プラットフォームが指定されるかも知れません。 言語の選択肢はそれで狭まりますし、それでなくても汎用的に動く事を考慮して設計する方が良い事は確かなので、WindowsServer限定の技術は選択肢から外れるかも知れません。(イントラの場合この限りに非ず) サーバーのプラットフォームだけではなく、ローカルのプラットフォームなども決める必要があります。 PCオンラインゲームだとして、ブラウザゲームという選択肢を取るかも知れません。 アプリをインストールして動作するゲームだとして、マルチプラットフォームとするためにJavaで作るのかも知れません。各種OS毎に別々のアプリを作成するかも知れません。 等々、ネットワークプログラム固有の考慮しなければいけない要件定義は数多くあります。 さらに、いざプログラムを組む段になった際にも、ネットワークプログラム固有の技術やノウハウ、セキュリティ上の問題、課金などのビジネスに関する問題、ユーザー間トラブル(が起こり得る場合)などの対策など、設計、実装の両方に関わってくる色々な問題が数多くあるでしょう。 そう言った最新の情報を収拾する事も、技術者の仕事のうちの一部です。 ゲームであっても、基本的にDBは関わってくるでしょう。 モバゲーならユーザーがログインしていないと遊べないようにしなきゃいけません。 ログインしていますか?ログインしているならユーザー名は?何回遊んだ?今までのこのユーザーの最高得点は?全ユーザー中得点順位は何番ですか?無料試用版ユーザーですか?課金ユーザーですか?課金ユーザーだとして、残金はいくら残っていますか? 等々を、DBに問い合わせないといけないかも知れません。(API経由で情報が取れる為ゲームを作成しているプログラマは、DBを意識せずに作れるかも知れませんが) あとはそうですね…オンラインRPGのようにユーザー同士のコミュニケーションや、複数ユーザー同士が関わる要素の強いゲームであれば、ゲームのロジックの多くはサーバー上に持たせて、ローカルのプログラムはビューやユーザーインターフェイスを担うという要素が強くなる設計になるかと思います。 そういうものがあるかどうか判りませんが、オンラインテトリスのような感じのようなものがあったとすれば、ゲーム中に他人とチャットするわけではありませんし、ゲームの反応スピードも求められます。なので、ローカルのプログラムに多くのゲームロジックを持たせた設計になると思います。 色々乱雑に書き連ねましたが、少しでも参考になる部分があれば幸いです。
その他の回答 (1)
- IDii24
- ベストアンサー率24% (1597/6506)
インフラというのはサーバーとかネットワークの構築の事なのですが、サイトの事を質問なされているのでしょうか?。 ゲームプログラマーはゲームを作ってサイトに上げますが、そのことでしたらDBも必要でしょう。詳しく書くと本一冊書ける位になりますが、当然ユーザーがどのログインでどのゲームをし、どのくらい特典を上げているか、あるいはどの場面をどの場面に繋ぐかはDB化してるでしょう。それが無いと情報が保持できませんから。 現代に於いてDBを使わないシステムはほぼ無いですよ。昔は簡単なゲームならプログラムに直数値を書きこむようなのがありましたが、複雑なシステムでメンテを頻繁に入れるにはDBに格納する方が楽です。 さらにプロセスまでDB化する場合もありますね。言語はJAVAが殆どですがC#の場合もありますし、今は分散化してライブラリ化してますからその辺は柔軟に対応できます。つまり設計がきっちりしてるので、メンテする部分しない部分が別れてます。 モバゲーなどの場合は常に変更をするので、ほぼその場で決定してます。業務系システムでは禁止なのですがゲームで不利益を講じる人はあまり居ないので、ある程度エイヤです。 まあプログラミングなんてのは慣れるとあまり意味も無く、むしろ設計したりシナリオ書いてた方が楽しいはずです。
お礼
>プログラミングなんてのは慣れるとあまり意味も無く、むしろ設計したりシナリオ>書いてた方が楽しいはずです。 確かにそうですね。 設計→プログラミングですからまず設計を書かないとどうにもなりませんし。 プログラミングだって設計を踏まえて作られていますからね。
お礼
大変参考になりました。 ゲーム系のインフラまで詳しく教えていただき感謝しています。
補足
かなり詳しく教えていただきました。 DB関連をまずなんとか把握しないといけませんね。