auの公式情報に3月末からサービス開始される5Gの対応エリアが発表されました。
https://www.au.com/mobile/area/
北海道でも5Gが始まります。
対象エリアは
- 北海道河西郡更別村字更南の一部
- 北海道河西郡更別村字更別の一部
なぜ更別村。
人口の少ない、負荷が少ない環境からサービスを始めるのか。
もしくは、更別村は機械化農業を進めているので、5Gを農業に応用させる研究を行おうとしているのか。
北海道から始まる農業イノベーション。
いいねぇ。

auの公式情報に3月末からサービス開始される5Gの対応エリアが発表されました。
https://www.au.com/mobile/area/
北海道でも5Gが始まります。
対象エリアは
なぜ更別村。
人口の少ない、負荷が少ない環境からサービスを始めるのか。
もしくは、更別村は機械化農業を進めているので、5Gを農業に応用させる研究を行おうとしているのか。
北海道から始まる農業イノベーション。
いいねぇ。
申し込みをしてから1週間ぐらい経って、
チューナーが届きました。
早速セットアップ。
ケーブルをつないで電源をONにすると、フレッツ光のお客様番号を入力して利用開始。
録画用のHDDを接続。
引越し前に使用していたときに頂いたものをそのまま使用します。
前のデータは使用できないので、すべてフォーマットして使用できるようにしました。
これで、地上波、BS、CSの録画ができます。
次にやるのはホームサーバー化。
ホームサーバーにすれば、PCやスマホでひかりTVを視聴できます。
このときに忘れていけないのは、省電力設定を無効化すること。
こうしておけば、本体の電源をOFFにしていてもホームサーバー機能は維持できます。
問題は契約内容。
今のプランだと地上波、BS、CSと一部の無料動画しか見られなくて、
動画見放題も含めると、その一つ上の「お値打ちプラン」にする必要があって、およそ+1000円かかります。
今、ビデオをチェックすると、おぎはやぎのキャンプの番組と、ワカコ酒のシーズン5があるので、どうしようか悩んでいます。
よし、プラン変更しよう。
前回までの状況はこちら。
最新ソースはこちら(gitHub)
https://github.com/takishita2nd/sudoku
前回のソースでは、以下のような問題で解析が途中で失敗していました。
この原因を探るため、ログ出力を強化します。
まず、マスに値を入れるタイミングでログを出します。
次に、仮置きロジックを適用する時と、仮置き前に巻き戻しをする時に、それが分かるようにログを出します。
さらに、仮置きロジックを適用する場所をログに出力するようにします。
ここまでやって、 仮置きロジックを適用する場所を探す処理に不具合がある事が分かりました。
/**
* 仮置き対象のマスを抽出する
*
* squares マス
*/
private List<Square> searchKariokiSquare(Square[,] squares)
{
List<Square> ret = null;
for (int row = 0; row < 9; row += 3)
{
for (int col = 0; col < 9; col += 3)
{
List<Square> temp = new List<Square>();
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
if (squares[row + i, col + j].isConfirmed() == false)
{
temp.Add(_square[row + i, col + j]);
}
}
}
if (ret != null) //←★ここ
{
if (ret.Count > temp.Count && temp.Count != 0)
{
ret = temp;
}
}
else
{
ret = temp;
}
}
}
return ret;
}
★の箇所で、ret=nullで、temp.Count = 0の時に、仮置きロジックを適用する箇所がない(ret.Count=0)となり、解析が終了していることが分かりました。
なので、★の箇所を修正します。
if (ret != null)
{
if (ret.Count > temp.Count && temp.Count != 0)
{
ret = temp;
}
}
else if(temp.Count != 0)
{
ret = temp;
}
解けました。
難易度★5の問題も解けるようになったので、大抵の問題は解けるようになりました。
もう少し動かしてみます。
前回までの状況はこちら。
最新ソースはこちら(gitHub)
https://github.com/takishita2nd/hotel-mng
さて、前回からだいぶ期間が空いてしまいましたが、
続きやります。(思い出すのに時間かかった)
今回は、前回メールに添付したQRコードに書かれた解錠コードを使って解錠する処理を実装するのですが、
実際に解錠を行うのは、外部のデバイスを使用する、という前提として考え、ここではデバイスに入力した解錠コードをサーバに送信し、照合結果を返すAPIを実装します。
このAPIのレスポンスをデバイスが受信して、デバイスが実際に解錠を行います。そういう想定で実装します。
まず、APIのルーティングを作成します。
routes配下のapi.phpに以下を追加します。
Route::group(['middleware' => ['api']], function(){
Route::post('/unlock', 'Api2Controller@unlock');
});
なぜ、今までのようにweb.phpではないかというと、web.phpには
Auth::routes();
がかかれてあり、ログイン状態でアクセスしなければAPIは受け付けられません。
デバイス側にログイン状態というのは意識できないので、この制約が入らないルートに設定しなければなりません。
では、コントローラーを作成します。
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use App\Repository\RegisterManagementRepository;
use App\Repository\RoomRepository;
use App\Repository\UserRepository;
class Api2Controller extends Controller
{
public function __construct()
{
$this->registerManagement = new RegisterManagementRepository();
$this->room = new RoomRepository();
$this->user = new UserRepository();
}
public function unlock(Request $request)
{
\Log::debug(print_r($request->input('number'), true));
\Log::debug(print_r($request->input('room'), true));
$registers = $this->registerManagement->getItemsByDate(date('Y-m-d'));
if(is_null($registers) == false)
{
foreach ($registers as $register)
{
$room = $register->rooms()->first();
if(is_null($room) == false)
{
if($room->id == $request->input('room') &&
strcmp($register->lock_number, $request->input('number')) == 0)
{
return response()->json(['result' => true]);
}
}
}
}
return response()->json(['result' => false]);
}
}
Api2Controller.phpを追加しました。
ApiController.phpでは、コンストラクタに
$this->middleware('auth');
と記述しているため、これも上記と同じ理由で使用できません。
入力は部屋番号と解錠コードをjsonで入力します。
現在の日付から予約情報を取得し、部屋番号を解錠コードの比較を行い、一致したときにtrue、一致しない場合はfalseを返します。
思ったように動いているようです。
ただし、このままだと誰でもアクセスできてしまうので、セキュリティ的にガバガバ状態です。
デバイス情報を登録して、それも入力情報に含めるようにしましょうか。
次回やります。
元ネタはこちら
https://k-tai.watch.impress.co.jp/docs/news/1241563.html
ドコモの公式発表によると、全国の特定スポットにて5Gサービスが提供されます。
https://www.nttdocomo.co.jp/area/5g/?icid=CRP_menu_to_CRP_AREA_5g
その中には北海道も含まれています。
しかし、本当にとあるポイント周辺に限られているので、いつでも5Gが使えるわけではありません。
では、北海道ではどこで5Gが使えるのか。
PDFファイルにも書いてあるのですが、
本当に特定ポイントやね。
5Gを利用するためには、対応端末が必要です。(知ってると思うけど)
全国で使用できるには、少なくとも1年は待つ必要はあります。
なので、今焦って買う必要は無いと思います。
5G試せる人は一部のガジェットマニアぐらいか・・・
ごついモデムが来ました。
引っ越しが完了してから1ヶ月経ちましたが、ようやく光回線が開通しました。
かなり大がかりな宅内工事もやってもらい、電話線の穴から光ケーブルを通してもらい、ネット接続まで設定して貰いました。
このモデムは無線ルータとしての機能も搭載されていて、自前の無線ルータを使わなくてもwifi接続でき、裏面にはLANポートも4つ付いています。
LANは早速メインPCに接続しました。
ちょっとケーブルの長さが長すぎるので、短いLANケーブルを発注しています。
さて、速度はどれくらい出るのか?
ビジモネットの実力を見せて貰おう。
比較のために、同じサイトで測定した、引越し前での測定結果のリンクも貼り付けます。
やはり、IPv6ではないので、若干速度が遅いです。
うーん、プロバイダを@niftyに戻すか???
でも、モバイルwifiの、ネットの速度遅い問題が解決されました。
ご苦労さん。
ちなみに、このモデム、
前面にUSBポートが付いているのですが、使い方がわかりません。
ネットワークドライブとして使えるのか?と思ったのですが、マニュアルを見た限りそのような説明は一切ありませんでした。
さらに、ルータの設定を変えようと思っても、設定を変更する画面に入るための管理者パスワードを一切知らされていないので、設定を弄ることもできません。
いろいろモリモリなモデムですが、便利なのか、不便なのか・・・
まぁ、いいか。
そして、早速ひかりTVを発注しました。
早く器材来い~
オイラはどちらかというと、インスタントよりもドリップするタイプの方が好きなんですが。
というのも、コーヒーメーカーを買って、専門店でミルされたコーヒーを使って飲んでみたら、まぁ、美味いこと。
しかし、会社で飲む用にインスタントコーヒーを買って飲んでも、あまり美味しくなかった。
ただ、このとき使用したコーヒーはコンビニの安物だったので、
ネスカフェさんの本気を見せて貰おうと。
ダメ元で買ってみました。
量的には、コーヒー一杯当たり、小さなスプーンで一杯ぐらい。
悪くないね。
これなら普通に飲める。
味の細かな違いは全くわかりませんが美味しく飲めます。
でもやっぱり高いな・・・
リピ買いするかは、全て飲みきってから考えます。
光回線が開通して2日が経過したのですが、一つだけ気がついたことがありまして、
やっぱり光回線は早いですよ。
YouTubeも高画質で見ることできますし。
ポケットWi-Fiは地域判定が東京になってますし。
しかし、
radikoの地域判定が東京のままになってる。
これはプロバイダーの問題なのか?
フレッツ光側の問題なのか?
そもそも、固定回線はどうやって場所の特定を行っているのだろう???
Googleマップはちゃんと今の住所がデフォで表示されるけど。
とりあえず、radiko側に地域判定の修正依頼を出してみました。
そういえば、Alexaさんもradikoの地域判定がきちんとされていたかったな。
エリアフリーに登録しているから北海道のラジオ聞けるけれども。