//tips
仮想世界Decentralandで実物のpizzaが売れたというツイートを見てDecentralandを調べてみた。
https://decentraland.org/
行く理由がないと行かないのでまだ難しいかなと思う。vrchatはライブハウスorクラブのようなものができたみたい。こちらの方がわかる。
//基本情報理解
VoIP(Voice over Internet Protocol)とは、インターネット回線を利用して音声データを送受信する技術のことで、 インターネットやイントラネットのようなIPネットワーク上で音声通話を実現する。
デジタル符号化した音声信号を一定の時間ごとに区切ってパケット化し、 回線使用効率が高いIPネットワークを使って送信するため、 通話料金を安くすることが可能。
音声ペイロードとは、パケット内の最大積載量のことで、パケット生成周期が10msの場合、その間に符号化された音声データが音声ペイロードとなる。
音声符号化を8kビット/sとすると10ms*8k=80ビット=10バイトが音声ペイロードとして求められる。
CSMA/CDとは、通信状況を監視していて、線が空いていたら通信、運悪くデータ同士の衝突(コリジョン)が発生したら、一旦送るのを止めて、時間を空けて送り直しする通信方式のこと。
半二重通信は、送ってるときは受け取れず、受け取ってるときは送れない通信方式で半二重通信における交通事故(コリジョン)に対応する仕組みのひとつがCSMA/CDとなる。
TCP/IPネットワークで使用されるARPは、ホストやルータがIPアドレスからMACアドレスを取得する時に使用するアドレス解決プロトコル。ARPリクエストをブロードキャストして同一ネットワーク内の機器からARPレスポンスを受信し、MACアドレスを取得する。
IPv6のアドレス長は、32ビットのアドレス長を持つIPv4に比べて、 4倍となる128ビットになる。これまでIPv4で使われていた、 8ビットごとに「.(ピリオド)」で区切った上で10進数で表記するという方法とは異なり、16ビットごとに「:(コロン)」で区切った上で、16進数で表記する。
2001:0db8:0000:0000:3456:0000:0000:0000
上記を略式で書くと
2001:0db8:0000:0000:3456::
or
2001:0db8::3456:0000:0000:0000
となる。::は 0000を省略した表記で、一つのアドレスに一回のみ使用できる。
TCP/IPネットワークのフォワードプロキシとは、企業等の内部ネットワークとインターネットの間に設置され、セキュリティを確保する等の理由から直接インターネットと接続すべきでない内部コンピュータに代わって、インターネットとの接続を代理する機器やソフトウェアのこと。
ホームページを見るときに使うソフト(Webブラウザ)の身代わりになってホームページにアクセスしてくれるサーバ。
普通のプロキシをリバースプロキシと対比させるときに使う呼び名がフォワードプロキシで、フォワードプロキシは、内部ネットワークに接続されている各クライアントの代わりにインターネットなどの外部ネットワークとの通信を行うサーバで、インターネット側から社内の公開サーバへ向けたアクセスを受付け、代理でアクセスするものをリバースプロキシサーバという。
//unity/shopify
Cartの数量追加方法に関して調べていく.
Debug.Log(cart.LineItems.All().Count);
でカート内のアイテム数を確認できるので下記でaddの効果がでるか一旦確認。
cart.LineItems.AddOrUpdate(firstProductFirstVariant, 1);//firstProductFirstVariant,1
Debug.Log(cart.LineItems.All().Count);
cart.LineItems.AddOrUpdate(firstProductFirstVariant, 1);//firstProductFirstVariant,1
Debug.Log(cart.LineItems.All().Count);
数量は1からかわからなかったのでAddOrUpdateは基本的にupdateの機能と考える。
今度は下記の形で見てみる。
cart.LineItems.AddOrUpdate(firstProductFirstVariant, cart.LineItems.All().Count+1);
こうするとunityを再生した状態であれば、webブラウザ上の在庫は積み上がることが確認できた。
では、カートの方に一度送った情報を保持させるにはどうすれば良いかを考える。
カート情報の保持は以前のphpでのサイト作成でも確認したようにセッション情報をもとに行われる。
Webアプリケーションを使ってセッションを利用すると、自動的にセッションIDと呼ばれる一意のIDが発行され、このセッションIDはセッションに登録されたデータに紐付けられるとともに、クッキーに保存される。
Shopifyサーバ側でクッキーを自動生成し、セッションIDとデータを紐付け、レスポンスクッキーを送付し、ユーザーはそのセッションIDを保存し、2回目以降ではそのIDを使うことでデータを読み出すようにする。
この流れから考えると、unityの方でサーバから帰ってくるはずのセッションIDを取得・保存し、次回アクセスの際に使用する必要があるように思われる。
毎回shopifyカートの中身が無くなるのは新規セッションIDを発行して入っているからのようなので、セッションIDの取得と保存方法を考えていくことにする。
また複数商品選択の場合も後で考える。これはカートに入れるボタンを付加することとfirstProductFirstVariantが問題にならないかを考慮する必要がある。