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

コロナによる需要変化 コロナパンデミックの影響で、人々は外に出られなくなり、自宅で過ごす時間が増えました。 この自粛ムードの中、下記のようなビジネスの需要変化が引き起こされています。 【利用者減少】 ...

2

米国レストランの決済時に毎日お世話になっていた「Square」のビジネスモデルについて本日はふれていきたいと思います。 「Square」とは、ネットにつながったモバイル端末と専用のカードリーダーを用意 ...

3

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

4

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

5

ナイキのSNKRSが、なぜこれほどまでに人気なのか?調べてみました。 きっかけは米国での友達との会話。彼は自分のシューズをみせて、「これ20万円もしたんだぜ。」と語ってくれました。 あまり靴に興味がな ...

-Blockchain, code, Metaverse, VR
-, ,

Copyright© BUSINESS HACKER , 2021 All Rights Reserved Powered by AFFINGER5.