Blockchain code Metaverse VR

Unity×VR×Blockchain(332)

スポンサーリンク

//tips

//基本情報理解

相補演算とは演算結果の否定関係を示したもの。

A,Bの排他的論理和は下記のように表されるので表を書いておくと混乱しない。

A=0,B=0 -> XOR=0
A=0,B=1 -> XOR=1
A=1,B=0 -> XOR=1
A=1,B=1 -> XOR=0

桁落ちは切り上げや切り捨てのことではなく、絶対値がほぼ等しい数値の差を求める場合、正規化によって有効桁数が減少してしまうこと。

例えば1234.567と1234.555を減算する計算を有効桁数6桁で行う場合、

0.123457*10^4
0.123456*10^4

となり、これを減算すると

0.000001*10^4となるが浮動小数点数形式では、仮数部が1よりも小さく、1に最も近くなるように調整・正規化するので

0.100000*10^-1

のように有効桁数分の0を足すことになるので本来の数字との誤差が生じる。

音声のデジタル化は標本化と量子化によって行い、サンプリング周波数が40kHzの場合、1秒間に40k回の標本化を行う。16ビット=2バイトでデータ化をその標本数に対して行うので、1秒間のデータ量は80kバイトとなる。

//shopify/unity

まずrequire_once("inc/functions.php”);の理解から。

PHPで外部ファイルを読み込む場合、require、require_once、include、include_onceなどがあるが、requireは、失敗した場合にスクリプトの処理がそこで止まってしまうが、include の場合は、警告(E_WARNING) を発するもののスクリプトの処理は続行される。

require_once文は require とほぼ同じ意味だが、 ファイルがすでに読み込まれているかどうかをPHPがチェックし、すでに読み込まれている場合はそのファイルを読み込まない。

どちらも構文は同じで、別ファイル名を絶対パスか相対パスで指定するもの。

次に書きに出てくる$_GETについて。

$params = $_GET;
$hmac = $_GET['hmac']; // Retrieve HMAC request parameter

$_GETは、htmlやurlのパラメータで送受信される情報を取得するもの。

URLパラメータとは、URLの末尾に付け加える文字列のことで、サーバ側に情報を送信する手段の一つ。

https://www.google.com/search?〇〇〇=■■■■

(〇がパラメータ名、■がパラメータ値)

〇は パラメータの名前(key)、■は パラメータの値(Value)を示している。

https://www.google.com/search?q=testとすると

qが検索文字列を表す変数(key)、testが検索文字列(Value)となり、?q=test をURL末尾に付与してアクセスすることで、「検索文字列qという箱に”test”という文字が入っている」という情報をサーバ側に送信したことになる。

このURLパラメータを付与したURLにアクセスする方法意外にもhtmlで仕込み間れている情報をGETで抜き出すこともでき、下記のように、

<form method="get" action="https://www.google.com/search" >
<input type="text" name="q" value="test">
<input type="submit">
</form>

で$_GET[“q”] を用いると “test”が取得できる。

つまり、$_GETは、URLパラメータが付与されたURLにアクセスしたときやGETメソッドでactionのURLに遷移したときのようなリンクを踏んだだけでも値が取得できる。

$_GET[“q”] = “test”

HTMLからURLにパラメータを送るのではなく、リンクを作成してそれをPHP側から$_GETで取得することも可能で、その際にHTMLで作成するリンクは

<a href="example.php?first_name=値&last_name=値">リンク</a>

のようになる。

$_GETを考えるときにはhtml設計をきちんと見ておく必要があることが理解できる。

array array_diff_key ( array $array1 , array $array2 [, array $... ] )は、array1 のキーを array2 のキーと比較し、その差を返すもので、array1 の要素のうち、 その他の配列のいずれにも含まれないキーのものだけを残した配列を返す。

例えば、
?php
$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8);

var_dump(array_diff_key($array1, $array2));
?>

上の出力は以下。

array(2) {
["red"]=>
int(2)
["purple"]=>
int(4)
}

なので、ここではhmacのみをGETしたものから外している。ksortはkey部分の規則性の順に並べ替えるもの。

Hmacについては下記参考。

https://e-words.jp/w/HMAC.html

$params = array_diff_key($params, array('hmac' => '')); // Remove hmac from params
ksort($params); // Sort params lexographically

例えば、

<?php
$fruits = array("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
ksort($fruits);
foreach ($fruits as $key => $val) {
echo "$key = $val\n";
}
?>

この出力は
a = orange
b = banana
c = apple
d = lemon

となる。

HMAC 方式を使用してハッシュ値を生成し、認証実施。

参考:

https://www.php.net/manual/ja/function.hash-hmac.php

$computed_hmac = hash_hmac('sha256', http_build_query($params), $shared_secret);

if (hash_equals($hmac, $computed_hmac)) の部分で認証の是非確認を行うことになる。

ここからどのようにaccess tokenを実際に生み出すのかを見ていく。

人気の記事

1

皆さん、ついに、エアラインでも、サブスクリプションが始まったのはご存じですか? まだ実験段階ですが、ANAが、定額全国住み放題サービスを提供する「ADDress」と組んで、国内線を4回まで定額利用可能 ...

2

無料でネットショップを開けるアプリとして多くの人に驚きを与えたBASE株式会社が、2019年10月25日東証マザーズに上場しました。2020年2月時点で90万店を超えるショップを抱えるまでに成長してい ...

3

2011年にサービスを開始してから圧倒的な成長率を誇るインテリア通販サイト 【FLYMEe/フライミー】を皆さんご存じでしょうか。 「自分のイメージするインテリア、本当に欲しいインテリアがどこにあるの ...

4

ついに、noteの月間アクティブユーザー数が4400万人(2020年3月時点)に到達しました。 そもそも、「note」とは、クリエイターが、文章やマンガ、写真、音声を投稿することができ、ユーザーはその ...

5

ボードゲームカフェが1日2回転で儲かるという記事をみつけたので興味を持ち、調べてみました。 まずは、需要がどれくらいあるのか、市場のようすからみていきましょう。 世界最大のボードゲーム市場はドイツで、 ...

-Blockchain, code, Metaverse, VR
-, ,

Copyright© BUSINESS HUNTER , 2023 All Rights Reserved Powered by AFFINGER5.