simplestarの技術ブログ

目的を書いて、思想と試行、結果と考察、そして具体的な手段を記録します。

golang

CubeWalk: go言語cacheサーバーのリージョン選定

前書き 先月、こちらに登壇して PlayFab の CloudScript で同時実行を回避しつつ、不正させないゲームのためのアイディアを語ってみたのですが jpfug.connpass.com 質問者から CloudScript が実行されている場所って US West オレゴンだから、日本にキャッシ…

CubeWalk:水平な世界データから始める

はじめに PlayFab ログイン成功後、CDNから世界圧縮データを取得し Unity で展開してから、それぞれのチャンク配列を確保し、データを詰めていく 詰め終わったら、ゲームシーンを開始する世界圧縮データを最初は作らなければならない 世界データは16,777,216…

PlayFab:golangサーバーからCDNのFileContentにファイルをアップロード

概要 やりたいことは半年前から変わらず、キューブの世界のデータをバイナリキャッシュサーバーに置き PlayFab ログインユーザーが Unity クライアントから CDN 経由で最新の世界データを引いてくることです。 できれば圧縮したファイルをユーザーに届けたい…

AWS:golangバイナリキャッシュサーバーがS3にバックアップを保存&復帰

前提 http リクエストで int データを受け渡すバイナリキャッシュサーバーが完成しています。前回の作業記録をなぞるだけ simplestar-tech.hatenablog.com 大きな目的 PlayFab の CloudScripts から int or byte x 4 データを受け渡すバイナリキャッシュサー…

AWS:golang Web Server を binary cache DB とする2/2

前回までのあらすじ simplestar-tech.hatenablog.com Amazon にクレジットカードを登録してボタンをいくつか押すと、世界に向けて golang のサーバーが TLS の秘匿通信で公開され ログ拡張でアプリの動作の内容がわかるところまで、初心者でも Web サーバー…

AWS:golang Web Server を binary cache DB とする1/2

go 言語で巨大な int 配列の確保と利用 ゲームではキューブは 4byte の情報構造体で値は int 32bit の配列で格納したいと思っています。 go でも C++ のように int 配列作って、ポインタで保持しておけばいつでもランダムアクセスできるんですよね? をコー…

AWS:WebサーバーをGoLangで

前書き ゲームはローカルでブロックを破壊・配置できる基本の枠組みが整いつつあります。 ここで破壊したときに世界からブロックの情報を破棄してプレイヤーのインベントリに追加しなければならず 配置したときにインベントリから消して、世界に配置しなけれ…

goでjson文字列からオブジェクトを生成

■前置きGoで書いたWebAPIサーバが今 json 文字列を受け取っています。 json文字列に含まれる情報から必要な値をピックアップして、外部のグラフ表示ソフトが期待しているようなフォーマットでファイル出力しなければなりません。さて、つまり json 文字列か…

Goでローカルファイルにテキストファイルを書き出す

■前置き WebページをユーザのクライアントマシンからWebブラウザで見てもらい ユーザアクティビティを短い文字列情報でPOSTしてもらうことで、ユーザ端末で何が起きたのかを収集します。ログを出すだけじゃ意味がなく、受け取った情報をファイルに保存しなけ…

GoのAPIサーバの疎通確認

■前置き 何かしらのユーザアクティビティを収集するWebページをjavascriptで書いていて、セキュリティの関係でクライアントのローカルストレージに一切アクセスできないということに気づいたとき Webサーバ側にクライアントの情報を送信するしかないってこと…

Go言語の通信スケルトンコード例

■前置きGoってのはマルチコア処理で効率的に同時アクセスをさばく、現時点で最強?のネットワークプログラミング言語ですので その機能を最大限に発揮するスケルトンコードをチュートリアルで公開しているものと思っていました。 が、あまりにプリミティブな…

GoのIDE試し

■前置き1 Go言語学習を、ずっとテキストファイルで進めてきましたけど、そろそろ限界 C#のようにVisual Studio のインテリセンスがあるなら使いたいVisual Studio Code で、Go サポートがあるので、設定して試してみます。■本題Visual Studio CodeVSCode 入…

Goはローカルで通信確認できる?

■前置き1Go 環境整って Hello World 動きます。 言語の目的がマルチコアのネットワークブログラムなんだから、数行でサーバーとして機能するんだよね? どういう書式か確認させてもらおう■前置き2先に書式を学んで行け、馬鹿野郎 とドキュメントに怒られた…

Go の Hello World はどうやって確認?

■あGo 言語のトップページで Hello World を確認できる The Go Programming Languageコードをオンラインで解析して、結果を返してくれるみたいjava っぽく、package 名をファイル頭で定義して import で出力関数を利用できるようにし main 関数(プログラム…

Go って何?

■前置き1プログラミング言語は最終的にマシン語に翻訳されて、コンピュータの加算器で足し算を繰り返しますので、私から見ればどんな言語も同じに見えます。 Go は何なのかという問いは、どういう思想で作られているのかという点 違いはどれだけ人間に認識し…