デベロップメントオンラインゲーム開発に最適なプログラミング言語は何か?最近のゲーム開発者は、ゲームをより分かりやすく、魅力的なものにすることに注力しています。そのためには、最適なプログラミング言語を選択するという問題が生じます。すべての要件を満足する言語を選ぶのは簡単ではありませんが、JavaScriptのようなリーダに頼ることは可能です。設計/アーキテクチャアジャイルマニュフェスト:ソフトウェアアーキテクトの視点ソフトウェアアーキテクトの役割と責任はアジャイルソフトウェア開発のためのマニフェストの価値と矛盾していると見えますが、優れたアーキテクトはアジャイル開発チームをサポートするテクニックを見つけています。Streamingは、ストリーミングデータのためのSQLライクなインターフェースを提供します。Streamsによって、Redisがストリーミングデータを複数のプロデューサとコンシューマの間で消費、保持、配信することができるようになります。ソフトウェア開発のマニフェストたゆまず息もつかずに市場に突進することで、会社を静かに消滅の崖っぷちへと追い込みます。それは設計してコードを書く方法を再考する時です。簡単さへの投資は、速さへの投資です。簡単さは知的財産の主鉱脈でもあります。競争上の優位性は、一度失ったら、もう一度手に入れることはほとんど不可能です。Buytaerts氏が過去10年間にわたって、企業がDevOps採用のハイプサイクルをくぐり抜け、変革に対する誤解を解消する過程を支援してきた経験について語ります。2.0のリリースによって、Microsoftは、2016年にリリースした汎用目的、モジュール構造、プラットフォーム不問のオープンソースのプラットフォームの次期メジャーバージョンを手にしました。Frameworkで利用可能なAPIの大部分を持つように設計されています。元々はASP.NETソリューションの次世代版を実現するために開発されましたが、現在ではIoTやクラウド、次世代モバイルソリューションなど、まったく違うシナリオを担う、基盤的な存在となっています。Coreのさらなるメリットと、既存の.NET開発者のみならず、堅牢性、パフォーマンス、経済性を兼ね備えたソリューションを市場に投入する必要のあるすべての技術者にとっての価値を探ります。Coreアプリケーションのパフォーマンス向上を支援します。分散キャッシュは、サーバファームやスケーラブルなクラウド環境にデプロイされるASP.NETアプリケーションを開発する場合に有効です。ServerやRedisでの実施例がありますが、この記事では別の方法をご紹介したいと思います。Servcerは、memory-first(memory-onlyも可能)ストレージアーキテクチャを備えた、キャッシュに最適な分散型データベースです。Redisとは違い、よりリッチな機能のスイートを持っているので、後にユースケースやプロダクトが拡大しても使用することができます。Coreとの統合に注目したいと思います。ご紹介する内容はすべて、GitHubmにあるコードサンプルに従っています。分散キャッシングの利点パフォーマンス。キャッシュはデータをRAMに格納して、素早く簡単に検索できるようにします。オリジナルのソースを毎回使用するよりも、このキャッシュからデータを取得する方が速い場合が多いのです。キャッシュデータの共有。Coreサーバのいずれかにユーザをリダイレクトする可能性があります。Coreサーバに向けられるようにしなくてはなりません。Overflowでの回答を確認してください。Webサーバがダウンしたり、何らかの理由でリスタートしなければならない場合でも、キャッシュデータには影響しません。再起動後も、分散キャッシュにはデータが残ります。Coreは、使用するすべてのテクノロジに対して、一貫性のあるインターフェースを提供します。Couchbaseのインストール最初のステップは、分散キャッシュサーバを立ち上げることです。都合のよいインストール方法を選択してください。Dockerやクラウドプロバイダを使ったり、あるいはローカルマシンにインストールすること(このブログ記事で紹介する方法)も可能です。Communityエディションは無料で使用できます(Enterpriseエディションも、開発期間中は無償で無制限に使用できますが、今回のブログ記事ではCommunityエディションを使用します)。Couchbaseをインストールしたら、Webブラウザを立ち上げて、簡単なウィザードを実行してください。今回の記事では、デフォルト設定で問題ありません。Couchbaseをインストールしたら、”バケット(bucket)”を作成します。これがキャッシュデータが格納される場所になります。私はバケット名を“infoqcache”にしました。ここでは“Ephemeral”バケット(memory-onlyオプション)を生成しましたが、”Couchbase“バケット(まずメモリにデータを格納し、非同期にディスクに永続化する)を使うことも可能です。セットアップの最後のステップはセキュリティです。Couchbaseユーザを適切な権限でバケットに追加してください。私はユーザ名を“infoq”、パスワードを“password“にしました(みなさんはもっと強力なものを使用してください!)Enterpriseエディションではたくさんのロールを選択できますが、今回のシンプルなユースケースでは必要ありません。Access“で十分です。Coreに取り掛かる前に、これらのインストールステップをすべて実施しておいてください。それぞれのステップを、詳細資料へのリンクと合わせて挙げておきます。APIのサンプルアプリケーションを作成することにしましょう。2つのエンドポイントを備えた、小さくてシンプルなアプリケーションです。Applicationを選択します。Coreプロジェクトテンプレートの選択です。今回は、認証やDockerサポートのないベアボーン“API”を使用します。プロジェクトにはValuesController.csというファイルがありますが、このクラス内のコードの大部分を、自分で書いたコードに置き換えます。以下に示すのは、作成した最初のエンドポイントです。キャッシュは使用せず、レイテンシの高いデータアクセスをシミュレートするため、Thread.Sleepを使用します(Thread.Sleepの部分が、遅いWebサーバのコールや複雑なデータクエリに置き換えられると理解してください)。StudioではCtrl+F5)。エンドポイントとの通信にはPostmanなどのツールが利用できますが、今回の例であればブラウザで十分です。私のサンプルプロジェクトでは、サイトはlocalhost.64291をローンチし、エンドポイントにはapi/getをルートするように設定されていますから、ブラウザからlocalhost:64921/api/getにアクセスします。非常に時間が掛かるものであることを示しています。リフレッシュする度に、少なくとも5秒は待たなくてはなりません。キャッシュを導入してレイテンシとパフォーマンスを改善するには、うってつけの状況です。Coreアプリケーションがひとつ出来上がりました。それでは、これらをまとめてみましょう。最初のステップは、NuGetからのパッケージのインストールです。1.0.1”を実行することもできます。これはオープンソースプロジェクトで、全ソースコードがGitHubで公開されています。Coreに組み込まれた分散キャッシング機能と統合してくれます。それでは、プロジェクトのStartup.csファイルを開いてみましょう。ここでConfigureServicesメソッドにセットアップコードを追加する必要があります。Couchbase.Extensions.DependencyInjection;”も追加していますが、これらは私が使用しているReShaperが自動的に識別して追加したものです)。IServiceCollectionインターフェースに追加されます。Coreに伝えています。Coreに指定します。この拡張機能に関する資料はGithubdにあります。downコードを忘れずに追加してください。Coreのキャッシュの設定方法が分かったので、簡単な例で試してみましょう。分散キャッシングを実践する上で最も簡単なのは、ValuesControllerにインジェクトしてIDistributedCachedirectlyを使う方法です。コンストラクタのパラメータにIDistributedCacheasを追加します。Coreにはこのパラメータをセットする方法(依存性注入を使用する)が分かっています。これで、ValueControllerの_cacheを使ったキャッシュの値の取得と設定が可能になりました。私はここで、GetUsingCacheという別のエンドポイントを記述しました。キャッシュを使う点を除けば、これは前述のGetエンドポイントとまったく同じです。最初の呼び出し後に値がストアされて、以降の呼び出しがThread.Sleepに届くことはありません。Couchbaseコンソールに戻って、メニューの“Buckets”をクリックすれば、“infoqcache”バケットにアイテムがひとつあることが分かります。Coreのライブラリに依存していることです。Coreライブラリを使用可能な場用でさえあれば、Couchbase分散キャッシュを利用することができるのです。IDistributedCacheインターフェースでカプセル化されているため、テストの記述も容易です。上記の例では、キャッシュされたデータはキャッシュに永続的に存在しますが、有効期限を指定することも可能です。次に示す例では、エンドポイントは5分間データをキャッシュします(スライディング有効期限)。Serverと密接に連携して、分散キャッシュを実現します。標準化された分散キャッシュインターフェースにより、簡単にキャッシュを使い始めることができます。Core分散アプリケーションを高速化しましょう。SDKフォーラムをチェックしてください。Groves氏はコーディングが大好きです。C#でもjQueryでもPHPでも構わず、何にでもプルリクエストを送ります。90年代に両親のピザショップ用の販売管理アプリケーションをQuickBASICで書いて以来、プロとしてコーディングを続けていて、現在はCouchbaseのデベロッパアドボケートとして働いています。2.0のリリースによって、Microsoftは、2016年にリリースした汎用目的、モジュール構造、プラットフォーム不問のオープンソースのプラットフォームの次期メジャーバージョンを手にしました。Frameworkで利用可能なAPIの大部分を持つように設計されています。元々はASP.NETソリューションの次世代版を実現するために開発されましたが、現在ではIoTやクラウド、次世代モバイルソリューションなど、まったく違うシナリオを担う、基盤的な存在となっています。Coreのさらなるメリットと、既存の.NET開発者のみならず、堅牢性、パフォーマンス、経済性を兼ね備えたソリューションを市場に投入する必要のあるすべての技術者にとっての価値を探ります。毎週火曜日に前週のまとめコンテンツがお送りいたします。25万人ものシニアデベロッパーのコミュニティーにぜひご参加ください。サンプルを見るあなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。登録するとさまざまなことができます。アカウント登録をしてInfoQをお楽しみください。あなたの意見をお聞かせください。毎週火曜日に前週のまとめコンテンツがお送りいたします。25万人ものシニアデベロッパーのコミュニティーにぜひご参加ください。サンプルを見る様々なイノベーターとアーリーアダプターがお送りするテクノロジーの概要を見る。自分がまだ知らないことに気づいていないと知るあなたが興味のあるトピックスをいつでも最新な情報に。あなたのメールアドレスはこちら国を選んでください。プライバシーポリシーに従って私の個人情報を扱うことに同意します。よい世界へ私たちが暮らす世界を大切に思い、よりよいものにしたいと考えています。人のためのソフトウェア開発を加速し私たちのミッションを実現することで、この思いを成し遂げようとしています。私たちは利益の1%をさまざまな慈善団体に寄付しています。会社として、また従業員として、そうしたことの価値を強く信じているからです。with.プライバシーBTあなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。アドレス*Eメールを変更すると確認のメールが配信されます。会社名:現在の会社名をご入力ください。Other組織規模:現在の組織規模をご入力ください。2,501+国:現在の国を設定してください。Zimbabwe都道府県:現在の都道府県に設定してください。次の都道府県にアップデートする:ニュースレターを購読しますか?インダストリーメールを購読しますか?本Eメールに登録すると、以前より関心のあったトピックの関連情報をお送りする場合がございます。詳細はこちらのプライバシーポリシーをご覧ください。newsletter?新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。