このスキルが意外と便利だったりする。
使い方は簡単。
Alexaアプリで、よく使うバス停(乗るバス停と降りるバス停)を登録するだけ。
設定が終わったら「アレクサ、次のバスは?」と話しかけるだけ。
そうすると、次のバスが何分後の何時何分に来るか、その次のバスは何分後か、というのを教えてくれます。
これ、自宅の近所、よく使うバス停と、降りるバス停を登録しておくと、家を出るタイミングが分かるので、非常に便利なんです。
通常、新規契約やMNPでSIMカードを発行して貰うとき、発行手数料として3000円ぐらい支払わなくちゃいけないし、
SIMカードが届くまで電話やモバイル通信ができなくなります。
WiFi経由なら問題無いけど、二段階認証とかでSMS受信が必要になった場合に困ります。
しかし、eSIMが使えるなら、発行手数料もかからないし、設定すればその場ですぐ使用できます。
端末に内蔵されているSIMカードのようなもので、
最初は空っぽの状態ですが、プロファイル情報を書き込んであげることでSIMカードとして機能します。
調べてみると、日本のモバイル通信事業者でeSIM対応を行っているのは、
楽天モバイルとIIJmioの2業者だけですね。
思った以上に少ないっすね。
基本料金は2980円ですが、一年間無料。
そして通信量は無制限。
ただし、これは楽天圏内に限りまして、今のところ楽天圏内は大都市圏に限ります。
それ以外は他事業者の回線を借りて通信を行いますが、その場合は5GBの制限があります。
ただ、札幌はすでに楽天圏内なので容量無制限で通信可能。
ただし、地下などでは楽天回線が使えない場合があります。
Zeroプランでは、契約手数料1円、基本料金は150円で、使用する容量に応じて料金が加算されます。
例えば、1GB使用する場合は300円、それ以降は1GB使用する度に450円、といった感じです。
今のNifmoのプランでは通話+7GBで2300円払っています。
楽天モバイルにすれば1年無料で通信し放題だけど、それ以降は割高になってしまいます。
でも楽天ポイント付くんだよね?
IIJmioは論外。
ちょっと考えます。

とりあえず、アイコンをピッチリ並べてみました。
ポイントは、座標や拡大サイズを全て計算で算出すること。
こうしないと、機種が変わったときに、確実にレイアウトが崩れます。
float buttonScale = visibleSize.height / (visibleSize.height / 4.0);
float buttonBase = 0.0;
auto homeButton = Sprite::create("btnHome.png");
if (homeButton == nullptr)
{
problemLoading("'btnHome.png'");
}
else
{
homeButton->setPosition(Vec2(sprite->getPosition().x + sprite->getContentSize().width * scaleRate / 2 + origin.x, visibleSize.height + origin.y));
homeButton->setAnchorPoint(Vec2(1.0,1.0));
homeButton->setScale(buttonScale);
buttonBase = visibleSize.height - homeButton->getContentSize().height * buttonScale;
this->addChild(homeButton, 1);
}
auto charaButton = Sprite::create("btnChara.png");
if (charaButton == nullptr)
{
problemLoading("'btnChara.png'");
}
else
{
charaButton->setPosition(Vec2(sprite->getPosition().x + sprite->getContentSize().width * scaleRate / 2 + origin.x,
buttonBase + origin.y));
charaButton->setAnchorPoint(Vec2(1.0,1.0));
charaButton->setScale(buttonScale);
buttonBase -= charaButton->getContentSize().height * buttonScale;
this->addChild(charaButton, 1);
}
auto equipButton = Sprite::create("btnEquip.png");
if (equipButton == nullptr)
{
problemLoading("'btnEquip.png'");
}
else
{
equipButton->setPosition(Vec2(sprite->getPosition().x + sprite->getContentSize().width * scaleRate / 2 + origin.x,
buttonBase + origin.y));
equipButton->setAnchorPoint(Vec2(1.0,1.0));
equipButton->setScale(buttonScale);
buttonBase -= equipButton->getContentSize().height * buttonScale;
this->addChild(equipButton, 1);
}
auto questButton = Sprite::create("btnQuest.png");
if (questButton == nullptr)
{
problemLoading("'btnQuest.png'");
}
else
{
auto scale = buttonBase / questButton->getContentSize().height;
questButton->setPosition(Vec2(sprite->getPosition().x + sprite->getContentSize().width * scaleRate / 2 + origin.x,
buttonBase + origin.y));
questButton->setAnchorPoint(Vec2(1.0,1.0));
questButton->setScale(scale);
this->addChild(questButton, 1);
}
例えば、「キャラ」のアイコンは「ホーム」のアイコンの下に並ぶように座標を計算して配置していますし、
その下の「装備」も「キャラ」の下に並ぶように座標を計算で算出しています。
「クエスト」のボタンは、上の3つのアイコンを並べた空きスペースにピッチリ収まるように、拡大率を算出して配置しています。
アイコンの拡大率も計算で算出しているので、機種や解像度が変化しても、アイコンの大きさが変わる程度で、大きくレイアウトは崩れないと思います。
思った以上に良い感じです。
えぇ?
— 多岐川ノリ@ぼっち系プログラマー (@n2_taki) November 4, 2020
比較する必要ある??
買いとか、頭おかしくない??
【スペック比較】ラズパイ 400(Raspberry Pi 400) vs 普通のパソコン、使えるのはどっち? https://t.co/65XSlYlNhI
自分、ラズパイ4を使用しているが、この記事には唖然とした。
そりゃ、サイトとしてはラズパイを持ち上げざるを得ないかもしれないけどさぁ。
そもそも、CPUは他のPCと比べて遙かに劣っている。
ラズパイで動作しているOSやアプリケーションはラズパイ用に最適化・軽量化しているので、そんなマシンでPCが使用しているようなアプリがまともに動くわけがない。
Webツールも然りである。ブラウザ自体が軽量化されているので、まともにJSが動く保証はない。
それでもラズパイ4でだいぶマシになった方だけれども。
ただ、ラズパイ4で電子工作を行う場合としては、遙かに魅力的なマシンである事には間違いない。
簡単にできるんだね。
こちらのサイトを参考にしました。
nginxの設定でlistenにhttp2と書き足すだけで良いらしい。

Protocolがh2になっていれば、HTTP2を使用しています。
従来のHTTP1.1では、1リクエストに対して必ず1レスポンスを返す必要があります。
1ページの中に複数のコンテンツ(htmlとかjsとかcssとか)が合った場合、これらのファイルを一つずつダウンロードする必要がありました。
しかし、HTTP2では、多リクエスト、多レスポンスが可能になります。
これはどういうことかというと、送信中のリクエストの応答を待たずして次のリクエストを出せるのですね。
なので、複数のファイルを平行してダウンロード出来るようになります。
なので、その分ページの読み込みが早くなります。
今のブラウザはほとんどHTTP2に対応しているので、あとはサーバ側の設定を変えればHTTP2での通信になります。
あ、それと、HTTP2はデフォルトSSLによる暗号化通信なので、サーバ側に証明書が必要になりますよ。
HTTP2は元々Googleによって開発された通信プロトコルで、後に正式にHTTP2の規格に採用されました。
TCPより上位のプロトコルなので、簡単に双方向の通信を行うことができます。
おそらく、最近のスマホゲームのマルチプレイなんかは、この技術が使われていると思われます。
それ以前は、一つ下位のプロトコルである、TCPで通信していたと思われます。
でも、TCPって思った以上に扱いが難しんですよね。
今、スマホのSIMは、格安スマホのNifmoを利用しているのですが、
プロバイダーがBIGLOBEに変わったので、
格安SIMもBIGLOBEモバイルに乗り換えようか、と思いました。
回線をまとめた方が良いのかな、というざっくりとした考え。
ということで、料金プランを比較してみた。
今利用しているNifmo。
https://nifmo.nifty.com/sim/card_voice.htm

今7GBのプランを使用しているので、月2300円支払っています。
BIGLOBEモバイルの料金プランを見てみると、
https://join.biglobe.ne.jp/mobile/plan/?cl=head_mobile_plan

ギガの容量が違うので、細かい比較はできませんが、
例えば、ギガを6GBに落とせば少し安くなる計算ですわな。
では、今の利用状況を確認すると、

6GBじゃ足らんかったわ。
7GB越えて利用できているのは、先月の繰り越し分らしいです。
おそらく、位置ゲーとテザリングでの利用が大半だと思います。
家ではWiFiでゲームしているので。
うーん、乗り換えるメリットが無くなってきたぞ。
さらに、MNPを行うのに、Nifmoに手数料3000円必要になり、BIGLOBEのSIMを発行して貰うので、おそらく初期手数料3000円かかるでしょう。
うん、やめよう。
メリットがない。
今のギガが足りなくなって、大容量プランに切り替える場合にまた考える。
https://github.com/takishita2nd/HokkaidoWar

最初のプレイヤーの都市選択で確認ダイアログを出すようにしました。
あとは、最後までプレイできることも確認しました。
ただ、戦力差がありすぎると、バトルがワンパンで決着が付いてしまうのが、ちょっとよろしくないですね。