Fortniteがストアアプリから削除されたことについて思うこと。

Epic Gamesも大胆な事をしちゃったね。

元々はEpic Gamesがアプリ内課金をストアアプリ経由ではなく、自前の課金システムを使用していた、と言う事みたいなんですが、

(Fortniteプレイしていないので)

結局はEpic GamesとApple、Google間の問題でしょ?

と考えるあなた。

甘い。

確かに、ユーザー視点からしたら課金すること自体には何も変わりは無いですが、

問題は、その課金するためのクレジット情報をどこが管理しているか、ということです。

ストア経由ならば、一括してAppleがGoogleが管理していますが、

Fortniteの場合は第三者側で管理することになります。

今回の場合、Epic GamesはPCで独自のプラットフォームを持っており、そのノウハウがあれば安全かと思われますが、

どちらかというと、AppleやGoogle側が、一度そういう行為を許すと、いろんなアプリ開発メーカーが独自の課金システムを使用する流れになる、というのを防ぎたいのが一番の目的だと思います。

もしそうなった場合、個人情報の管理が出来なくなり、どこかで個人情報流出が起きると、大混乱になりますよね。

個人としては、一番信頼できる、Apple、Googleで一括管理して貰った方が安心と思いますが、どうでしょうか?

接触確認アプリCOCOAが個人情報を収集していないことをプログラマー視点で解説する

ニュースとかでもいろいろ言われてきましたが。

https://twitter.com/afoolahoo/status/1294277259545571328

COCOA=すれ違い通信

という説明が一番わかりやすいかもしれないけど。

そもそもの話、アプリは勝手に個人情報に関わるデータを参照することができない用になっています。

これはiPhoneでもAndroidでも同じ。

ここでいう個人情報に関わるデータとは、GPS、電話帳、カメラ、外部ストレージなどを指します。

例えば、あるアプリが、他のアプリの情報を勝手に参照する、ということも出来ません。

これらの個人情報データを参照するには、「必ず事前にユーザーの了解を得ないとアクセス出来ない」仕様になっています。

例えば、GPSを使用するアプリを起動したときに、こんな画面が表示されることありませんでしたか?

この画面で「許可」をタップして、アプリはようやくGPSのデータにアクセス出来ます。

この手順というのもOS側で決められた手順で行わなければなりません。

例えるなら、

アプリが個人情報にアクセスしたい場合、アプリはOSが用意した正式フォーマットをユーザーに提示します。

ユーザーはそれに「OK!」とサインして、初めてアプリは個人情報にアクセス出来るようになります。

(通じたかな・・・)

これは逆に考えることも出来まして、

例えば、みなさん、上のダイアログの内容、確認しないでOKポンポンタップしたりとかしていませんか?

その行為、個人情報抜き取られているかもしれませんよ?

ストアアプリは大丈夫だと思うけど、野良アプリ(ストア外のアプリ)は注意した方が良いよ。

【ラズパイ】【いろいろ計測モニター】CPU温度をWindows側で表示する

前回の記事で、ラズパイのCPU温度を取得できることが分かったので、

これをいろいろ計測モニターに表示させるところまでやっていきたいと思います。

PythonでLinuxコマンドを実行し、結果を得るには以下の様にプログラミングします。

import subprocess

args = ['vcgencmd', 'measure_temp']
res = ""
try:
    res = subprocess.run(args, stdout=subprocess.PIPE)
except:
    print("Error.")

print(res.stdout)

参考記事

https://qiita.com/tdrk/items/9b23ad6a58ac4032bb3b

これを実行すると出力はこうなります。

これを色々と加工して、Windows側に渡すパラメータにします。

実際に組み込んだコード。

def getCPUTemp():
    args = ['vcgencmd', 'measure_temp']
    res = ""
    try:
        res = subprocess.run(args, stdout=subprocess.PIPE)
    except:
        return "Error."
    return res.stdout.decode().split('=')[1].strip().replace('\'C', '℃')
        data = {
            'datetime' : datetime.datetime.now().strftime('%Y:%m:%d %H:%M:%S'),
            'temperature': Temperature,
            'humidity': Humidity,
            'cputemp' : getCPUTemp()
        }

えっと、何をしているかというと、

まずは、res.stdoutの値はバイト文字なので、これをdecode()で文字列に変換します。

その後、split(‘=’)で=で文字列を分割し、後方の文字列([1])を取得します。

しかし、その文字列の中には不要な改行文字(\n)が入っているので、strip()で削除。

そして、「’C」と表示させているところをreplace()で「℃」に置き換えています。

これをJsonのパラメータに追加します。

ここまで出来ればWindows側は表示するだけなので、Windows側コードは割愛。