Ps4のリモートプレイを試す(PC編)

こちらではiOSの場合についてまとめたんですが、

実はリモートプレイって、PCでもできるんですね。

対応OSはWindowsとMacOSです。

https://remoteplay.dl.playstation.net/remoteplay/lang/jp/

やり方は上のサイトからアプリをダウンロード、インストールして、アプリを起動して、PSアカウントでログインする。

ここはiOSと同じ。

PC版で何が違うかというと、PS4のコントローラーはUSBケーブルで優先接続できるというところ。

PS4本体じゃないですよ、PC本体にですよ。

(逆にPCにコントローラーを接続しないと操作ができない)

もちろん、PCにBluetoothのレシーバがあればBluetoothでも接続できるのですが、ペアリングすると、iOSと同じようなペアリング問題が発生します。

でもPCに優先接続なら、優先接続中はPCに、ケーブルを外せばPS4本体に接続されます。

なので、ペアリング問題とは無縁。

まぁ、ネットワークを通じて画面を転送しているので、フレームレートが落ちるので、動きはなめらかじゃないですけどね。

でも、無双OROCHI3とかは問題なくプレイできた。

いいね。悪くない。

PS4のリモートプレイを試す(iOS編)

PS4のリモートプレイは、元々Xperia端末のみで可能でしたが、ちょっと前のアップデートで、他の端末でも利用可能になりました。

しかも、Android端末だけで無く、iOSやPCでも可能になっています。

というのは、今自分はPixel3を使用しているのですが、Pixel3でリモートプレイをしようと思ったら、画面縦置き固定でゲーム画面は上1/3以下のサイズで、画面タップでプレイする、というものでした。

たぶん、PS4コントローラーをベアリングすれば使えると思いますが。

でももっと大きな画面でプレイしたい。

Androidタブレットだとどうなるんですかね?

そもそもAndroidタブレットって、いまそんなに需要無い?(しらんけど)

オイラはiPad Proを持っているので、これに表示できれば、まだマシになるんじゃないかと思いました。

なので、検索。

ありました。

仕組みは、Androidのリモートプレイと同じで、LAN/Wifi経由で画面を表示させます。

アプリを起動して、PSアカウントでログインすると、自動的にネットワーク上のPS4を探してくれます。

ゲーム画面がほぼ全画面に表示され、コントローラーと同じ位置に、各ボタンに対応するタッチエリアがあります。

しかも、PS4コントローラーをBluetoothでiPadとペアリングすれば、PS4コントローラーでプレイできます。

リモートプレイを使用すると、PS4とペアリングしているコントローラーは切断されて使用できないので、コントローラーをiPadとペアリングして使用する必要があります。

ただ、これを元に戻すのが面倒で、まず、iPad側からペアリングを削除する必要があり(コントローラーの電源を入れると、勝手にiPadに接続されます)、PS4とペアリングするにはUSBケーブルで接続する必要があります。

この接続が面倒で、純正ケーブルか、充電・通信ケーブルを使用する必要があります。(充電専用ケーブルではPS4本体とペアリングできない)

まぁ、充電専用ケーブルはケーブル自体が細いから、ケーブルの太さで区別はできるのですが。

まぁ、ややこしい、ということです。

まぁ、こういうリモートプレイもできるんだぞってことで。

Wifi経由で画面に表示させているので、フレームレートはちょっと低い感じがします。

反日種族主義を読んで

Kindleを使用していたら、Amazonにオススメされたので、思い切って購入してしまいました。

いやー読み応えありましたね。

オイラは10年以上前に韓国人の先生に韓国語を教わって貰ったりとか、個人で韓国旅行もしていました。

そして、そのうち、日韓関係の問題にも関心を持つようになりました。

いろいろモヤモヤーとしていることも沢山ありました。

その答えがこの本の中にありました。

この本のすごいところは、それら日韓の問題に対して、いままで調査して集めた資料を基に、丁寧に解説しているところ。

さらに、なぜ今のような問題が発生してしまったのかを導き出している事。

そして、何よりも、これを書いたのが韓国人の歴史学者である事です。

著者は日本統治下の朝鮮の歴史だけで無く、その前後も含めた朝鮮史まで調べ上げ、さらに戦時中の日本のことも調べ上げています。

その中で数多くの資料を基に真実も導きされています。

これは、ネットに転がっている嫌韓サイトの情報よりも非常にわかりやすくて納得のいく内容でした。

そして、現在の韓国人達のマインドを作り出してしまった、政治家、活動家、歴史学者の過ちにも指摘しています。

ただ単に日本の主張を裏付ける書籍と考えてはいけない。

韓国人も、日本人も、この本を読んで、何が真実で、何が誤りなのかを考える必要があると思います。

それができなければ、永遠に問題は解決できない。しようとしないのであれば、解決する意思が無いと言えるかもしれません。

とにかく、一人でも多くの人にこの本を読んで貰いたい。

そう思いました。

はーすっきりした。

モヤモヤが解放された気分です。

読んで良かった。

【laravel】【ホテル予約管理】チェックアウト時刻一覧の問題を解決する

本日から本気出す。

前回までの状況はこちら

最新ソースはこちら(gitHub)

https://github.com/takishita2nd/hotel-mng

実は、このリポジトリの処理には重大な問題があります。

    public function getCheckoutList()
    {
        $ret = array();
        $index = 0;
        $checkout = ReserveManagement::select('rooms.name as roomname', 'checkout')
                                    ->leftJoin('reserve_management_room', 'reserve_managements.id', '=', 'reserve_management_room.reserve_management_id')
                                    ->leftJoin('rooms', 'reserve_management_room.room_id', '=', 'rooms.id')
                                    ->get();
        date_default_timezone_set('Asia/Tokyo');
        $today = date("Y-m-d");
        foreach ($checkout as $value) {
            $str = explode(" ", $value->checkout);
            if($today == $str[0]) {
                $value->checkout = $str[1];
                $ret[$index] = $value;
                $index++;
            }
        }
        return $ret;
    }

全レコードを取得したあと、日付チェックをおこない、必要なデータのみを取得する、というやり方ですが、このやり方では、大量のデータをデータベースから取得し、PHPで処理する、というやり方なので、サーバに大きな負荷がかかります。

これを解消するには、データベースから取得するデータの量を度絞らなければなりません。

なので、以下のように修正します。

    public function getCheckoutList()
    {
        date_default_timezone_set('Asia/Tokyo');
        $today = date("Y-m-d 00:00:00");
        $tomorrow = date("Y-m-d 00:00:00", strtotime("tomorrow"));
        return ReserveManagement::select('rooms.name as roomname', 'checkout')
                                    ->leftJoin('reserve_management_room', 'reserve_managements.id', '=', 'reserve_management_room.reserve_management_id')
                                    ->leftJoin('rooms', 'reserve_management_room.room_id', '=', 'rooms.id')
                                    ->whereBetween('checkout', [$today, $tomorrow])
                                    ->get();
    }

クエリビルダにwhereBetween()を追加し、BETWEEN節を追加しました。範囲は、アクセス当日の0時から次の日の0時です。

これだけで必要なデータは全て取れましたので、それをそのまま返します。

動作結果は前回と同じになります。

うん、こっちのほうがコードもスッキリしていいですね。