//tips
//基本情報理解
BCP(Business Continuity Plan)は災害やテロなど予期もしない事態が発生した場合でも、最低限の事業活動を継続したり、目標復旧時間内に再開するための事業継続制計画。
バランススコアカードBSCは、戦略経営のためのマネジメントシステムで、 ビジョンと戦略を明確にすることで、財務数値に表される業績だけではなく、財務以外の経営状況や経営品質から経営を評価し、バランスのとれた業績の評価を行うための手法。
https://www.keieiryoku.jp/column/detail/?id=48
TCOとはTotal Cost of Ownershipの略で主に電子機器やPCソフトといった製品やサービスの、購入から廃棄(サービス解約)までにかかる費用の総額=総所有コストを指す。予算を作成し要求する際、ランニングコストとして必要になる経費を考慮に入れず、初期投資額だけに注目しがちになるが、 TCOはそれらをトータルに含めた経費で、実際に支出すべき金銭の全額にあたる。
利用部門が時間を浪費することが予想されれば、この時間費用は埋没原価となるので、TCOの一部として考慮する。
要件定義プロセスでは、業務やシステムの仕様を明らかにし、IT化の範囲とそこに含まれる機能を具体的に提示し、組織やシステムの制約条件を明確にする。実施する作業には、利害関係者のニーズの識別も含まれる。
一方で、システム化計画の立案やシステム方式設計は異なるプロセスに属す。
共通フレーム2013では、システムライフサイクルを企画,要件定義,開発,運用,保守の5つのプロセスに分け、各プロセスで実施されるべき作業を定義しており、企画プロセスでは、システム化構想の立案及びシステム化計画の立案を担うためシステム化計画の立案はこちらに属する。システム方式設計は開発プロセスに入るとのこと。
//unity/shopify
shopifyapp制作を行うphp環境を整えていく。
以前xamppをもとにphpカートの実装を行なった例をもとにしてみる。
Macのアプリからxamppを起動し、manager-osxからフォルダを開く。apache web serverがrunningになっていることを確認。
ブラウザにhttp://localhostを打ち込みxamppのタイトル画面が出ることを確認。
xamppフォルダのhtdocsフォルダにunitytestフォルダを作成。このフォルダに昨日ダウンロードして確認したphpファイルなどを移行。
早速http://localhost/unitytest/generate_token.phpを打ち込むと、下記のエラーが発生。
Notice: Undefined index: hmac in /Applications/XAMPP/xamppfiles/htdocs/unitytest/generate_token.php on line 10
Warning: hash_equals(): Expected known_string to be a string, null given in /Applications/XAMPP/xamppfiles/htdocs/unitytest/generate_token.php on line 18
This request is NOT from Shopify!
下記のhmacの部分が問題箇所になっている。
$hmac = $_GET['hmac']; // Retrieve HMAC request parameter
if (hash_equals($hmac, $computed_hmac)) {
これはinstall.phpからリダイレクトすることを前提にしているので起こるのかと考え、install.phpをブラウザのURLに入力することにし、スクリプトは下記に修正。さらにshopifypartnersのアプリ管理ページでリダイレクト許可を与えた。
<?php
// Set variables for our request
$shop = $_GET['shop'];
$api_key = "1cec4934ef5ad8824bad30178932dab9";
$scopes = "read_orders,write_products";
$redirect_uri = "http://localhost/unitytest/generate_token.php";
// Build install/approval URL to redirect to
$install_url = "https://" . $shop . ".myshopify.com/admin/oauth/authorize?client_id=" . $api_key . "&scope=" . $scopes . "&redirect_uri=" . urlencode($redirect_uri);
// Redirect
header("Location: " . $install_url);
die();
http://localhost/unitytest/install.phpにて検索したところ認証が失敗したようで
https://.myshopify.com/admin/oauth/authorize?client_id=1cec4934ef5ad8824bad30178932dab9&scope=read_orders,write_products&redirect_uri=http%3A%2F%2Flocalhost%2Fgenerate_token.php
このサイトにアクセスできません.myshopify.com にタイプミスがないか確認してください。
DNS_PROBE_FINISHED_NXDOMAIN
というエラーが出てきている。
認証のスクリプト部分を追っていくとsecretkeyが更新できていなかったのでそちらを修正。
これでもダメなので先にxamppが機能しているかの確認。http://localhost/unitytest/hello.phpに下記を置くときちんとHello worldが表示された。
<html>
<head>
<title>PHP Test</title>
</head>
<body>
<?php echo '<p>Hello World</p>'; ?>
</body>
</html>
これで認証部分が問題になっていることが確定した。
Shopのところが設定されていなからではないかと模索したら、案の定shoppartnersの方からでもショップを作る必要があったので作成し、アプリの方でそちらの情報をインストールし、接続を実行。
Array (
[hmac] => f453aa0ecbe4cb0928a3e…
[shop] => unitytestapp.myshopify.com
[timestamp] => 1632….
) 1
このような表示がされるページを開くことができた。
これはindex.phpとしてして記述しておいた下記の変数の中身のよう。
<?php
$shopify=$_GET;
echo print_r($shopify);
?>
Install.phpを$shopの中身に合わせて、
$install_url = "https://" . $shop . "/admin/oauth/authorize?client_id=" ..
の形に変更。
アプリからアクセスして開くindex.php画面を下記に設定。
<?php
$shopify=$_GET;
echo print_r($shopify);
header("Location:install.php?shop=".$shopify['shop']);
exit();
?>
これにてshopとアプリを連動させることができた。ここからはアプリ内容を考えていく。
下記参考: