//tips
//基本情報理解
偶数パリティビットは、そのパリティを対象に付加した状態でビット1の総数が偶数となるように決定される検査ビットで、偶数パリティとは、誤り検出方式の一種であるパリティチェックで、ビット列中に含まれる1の個数が奇数個ならパリティビットを1に、偶数個なら0にする方式。奇数パリティもあり、そちらは1の個数が奇数だったら0で偶数だったら1。
ビットは、コンピュータ世界における「0か1が入る箱」を表す。
排他的論理和は1を奇数個加算すると結果が1,偶数個加算すると結果が0となる性質を持っているので、偶数パリティの構築に役立つ。
回路図が示された際は実際に数値を入れて計算すれば正しいかどうかわかる。
その際に、左辺が線形のANDは論理積なので掛け算、左辺が弓形のORは論理和なので足し算、排他的論理和は2つの値が異なる場合に1同じ場合に0となる。
アンケート、回顧法、試行発話法は利用者の立場からの評価手法で、ヒューリスティック評価法と認知的ウォークスルー法は専門家の立場からの評価法と言える。
ヒューリスティック評価法:専門家などが自身の経験則に基づいて評価する
認知的ウォークスルー法:評価担当者がユーザの代理となって評価する
ワンセグやネットで用いられる動画圧縮符号化方式のH264/MPEG-4 AVCはDVDなどで用いられるMPEG2と比べて圧縮率が高く、低ビットレート(低速低画質)から高ビットレートまで様々な用途に用いられる。
ER図(Entity Relationship Diagram)とはデータベース設計における代表的な設計図で、作成図がそのまま物理データベース上に変換できる。「エンティティ=モノ」と「リレーションシップ=関係」の組み合わせでシステムのデータやデータ間の処理構造を四角と→で示すことができる。
//unity/shopify
とりあえずベーシックのshopify会員になってみた。
きちんと認証されたようできちんと決済画面を表示させることができた。
今度はクリックに対応して決済画面の表示を行わせられるようにしたいのでcart.CheckoutWithWebView部分をvoid Start()ではなく別の部分に分離したい。
UnityBuySDKDemoスクリプトを調整する。checkout部分を分離。
public void Checkout()
{
// The following line will get a checkout url using the above line items and open the url in browser
cart.CheckoutWithWebView(
success: () => {
Debug.Log("User finished purchase/checkout!");
},
cancelled: () => {
Debug.Log("User cancelled out of the web checkout.");
},
failure: (e) => {
Debug.Log("Something bad happened - Error: " + e);
}
);
}
BuyボタンにアタッチされているBUYClickに上記メソッドの実行を追加。
一旦はserializefieldでUnityBuySDKDemoオブジェクトをアタッチして参照させる。
public class BUYClick : MonoBehaviour
{
[SerializeField]
GameObject comptext;
[SerializeField]
UnityBuySDKDemo UnityBuySDKDemo;
public void Buythis()
{
Debug.Log("buy");
comptext.SetActive(true);
UnityBuySDKDemo.Checkout();
}
}
これでbuyボタンクリック時にshopifyブラウザ画面が開くはず。
きちんと機能したのが確認できた。
製品の種類を複数に増やし、それぞれの商品タグに基づいてcheckできるようにする。早速もう一つテスト商品を追加し、unity側での挙動確認。
現在は下記のようにShopifyBuy.Client().productsで受け取ったshopifyの商品ページ1ページ分の情報をデータ化して受け取り、その中のproducts[0]に焦点を当てて取り扱っている。
この部分をforeachで全アイテムを取り出すことを考える。さらに、クリックしたものに合わせてfirstProductFirstVariantを指定し、cart.LineItems.AddOrUpdate(firstProductFirstVariant, 1);でカートに追加してやればよさそう。
cart = ShopifyBuy.Client().Cart();
List<ProductVariant> firstProductVariants = (List<ProductVariant>)products[0].variants();
ProductVariant firstProductFirstVariant = firstProductVariants[0];
cart.LineItems.AddOrUpdate(firstProductFirstVariant, 1);
Debug.Log("First line item's variant id is: " + cart.LineItems.All()[0].VariantId);
まずは2つのアイテムを取得できるようにする。
このList<ProductVariant> firstProductVariants = (List<ProductVariant>)products[0].variants();が複数存在することになるので、一旦下記のように更新を行なっていたがfirstProductVariants[0]がidを指すのか、.VariantIdとの違いは何かを調べた方が良さそうなので一旦確認を行う。
int number = products.Count();
for(int i = 0; i <number; i++)
{
var ProductVariants = new List<ProductVariant>();
List<ProductVariant> firstProductVariants = (List<ProductVariant>)products[i].variants();
ProductVariants.Add(firstProductVariants[0]);//i番目のproductsのid
}
//List<ProductVariant> firstProductVariants = (List<ProductVariant>)products[0].variants();
//ProductVariant firstProductFirstVariant = firstProductVariants[0];
//cart.LineItems.AddOrUpdate(firstProductFirstVariant, 1);
Debug.Log("First line item's variant id is: " + cart.LineItems.All()[0].VariantId);
探っていくとproduct.idがあるので現段階ではVariantを用いなくても良さそうなことがわかってきた。
https://shopify.dev/api/liquid/objects/product
https://shopify.dev/api/liquid/objects/variant
https://shopify.dev/api/admin/rest/reference/products/product-variant
https://help.shopify.com/en/manual/products/variants
このようにすると成立したことからid管理で進めていくことにする。
var proid = products[0].id();