
マップを修正して。札幌を9区に分けてみました。
これで単純計算で札幌の戦力が1/9になったはずですが、
都市間のリンクがぐちゃぐちゃになりまして、それをできる限り修正してみたらかなりいびつな形になっちゃいました。
まあいいや。
今後はリアル北海道地図でやりたいなぁ。

Nifmoから楽天モバイルにスマホの回線を切り替えました。
Pixel4aにはeSIMが内蔵されているので、すんなり切り替えができると思っていましたが、
そうではなかった。
まず、NifmoにMNP転出届を出して(Webから手続きできる)、届け出番号を取得する必要がある。
これに時間がかかるのは仕方が無いとして、
そのあと、楽天モバイル側に届け出番号と本人確認書類(今回は運転免許証表裏の画像)を提出し、本人確認完了後、郵送でeSIM設定用QRコードの付いた回線設定資料(上の写真)が送られてくる。
ここで2日かかった。
次に、My楽天アプリで回線開通処理を行うのですが、
これを実行すると、Nifmoの回線が不通となり、楽天モバイル側の回線が開通するまで待たなければならない。
このような説明がありますが、
嘘ついてんじゃねぇぞ。
実際は2時間経っても開通がおわらず、焼肉に行って帰ってきたら開通できるようになっていました(ステータスが変わってました)
これを確認するまで6時間かかってました。
まぁ、ここまで行けばマニュアル通りに設定を進めて、見事に開通できました。
一応、スピードテストをやってみる。
こないだギガぞうの件のときに計ったのがこんな感じだったので
やはり自前回線は違うね。
楽天モバイルは札幌市内が圏内ですが、まだ郊外の部分がパートナー回線(au)を使っているので、まだまだ不自由することがありますが、
まぁ、今のところ札幌市外に出る用事はないので良いでしょう。
今後もエリアが拡大されることを願ってます。
うまくスクショが取れなかった・・・
public function searchKeyword($keyword, $user)
{
$result = [];
$records1 = EatingTemplateItem::where('item', 'like', "%$keyword%")->get();
$records2 = $user->EatingHistoryItems()->where('item', 'like', "%$keyword%")->get();
if(count($records1) + count($records2) >= 10 )
{
return [];
}
foreach($records1 as $record)
{
$result[] = $record->item;
}
foreach($records2 as $record)
{
$result[] = $record->item;
}
return $result;
}
public function search(Request $request)
{
return response()->json([
'keywords' => $this->eatingManagement->searchKeyword($request->contents['item'], Auth::user()),
]);
}
Route::post('api/eating/search', 'Eating\ApiController@search');
<td><input type="search" v-model="contents.item" autocomplete="on" list="keyword" v-on:keydown="onChangeItem"/></td>
<datalist id="keyword">
<option v-for="keyword in keywords" v-bind:value="keyword" />
</datalist>
onChangeItem: function() {
if(this.contents.item!=""){
var self = this;
this.param.contents = this.contents;
axios.post('/api/eating/search', this.param).then(function(response){
self.keywords = [];
response.data.keywords.forEach(keyword => {
self.keywords.push(keyword);
});
}).catch(function(error){
self.error_flg = true;
self.errors = error.response.data.errors;
});
}
}
まだコードは暫定ですが、
とりあえず、入力した文字からデータベースを検索して、入力候補表示までできました。
とりあえず、検索結果だけ。
検索結果から各パラメータを自動入力させるのはまた次回に。
まぁ、おうちで何もしていないよりは、少しでもお金になれば良いかなと思って。
連絡を入れて、詳しいお話を聞いてきました。
あまりお金にはならないらしい。
月1万~2万程度の報酬とのこと。
お小遣い程度ですね。
地図を渡され、配布エリアと配布してはいけないお宅が解るようになっている。
地図自体はお仕事上の機密情報だし、個人情報も含まれているので見せられないのですが、
どこに配れば良いのかが解ります。
配ってはいけないところはクレーム対策としてやっているので、厳守。
あとで車で下見にも連れて行ってもらえるようです。
お仕事開始前とお仕事終了後に電話で報告。
月二回にFAXでお仕事の報告。
これを元に報酬が決まるので。
深夜はお仕事してはいけない。
不審者と思われるのを防ぐのと、ポストの位置とかが解りづらいため、ということです。
早朝や夕方にお仕事されている方が多いようですね。
滑り止めのゴム付き手袋がいいらしい。
というアドバイス。今度買ってきます。
あとは、住人に遭遇したら挨拶するといいですよ、とも言われました。
とにかく怪しまれないようにしないといけないね。
とりあえず、これが、ただ画像置いただけの画面。
これを背景画像の位置に合わせました。
// ステータスウィンドウの配置
auto xpos = (visibleSize.width - sprite->getContentSize().width * scaleRate) / 2.0;
auto windowScale = (sprite->getContentSize().width * scaleRate) / (sprite->getContentSize().width * scaleRate) / 4.0;
auto charaStatusWindow = Sprite::create("btn02_03_s_bl.png");
if (charaStatusWindow == nullptr)
{
problemLoading("'btn02_03_s_bl.png'");
}
else
{
charaStatusWindow->setPosition(Vec2(xpos + origin.x,origin.y));
charaStatusWindow->setAnchorPoint(Vec2(0,0));
//charaStatusWindow->setScale(windowScale);
this->addChild(charaStatusWindow, 1);
}
ただ、これをピッチリ横に並べようとしたけど、スケールの計算がうまくできなくて、今日は諦めました。
縦に並べる???
その方が良いか。
次回やります。
AbstructFactoryパターンのコード例です。
package org.example.abstruct.factory.factory;
public abstract class AbstructProduct1 {
public abstract void method1();
}
package org.example.abstruct.factory.factory;
public abstract class AbstructProduct2 {
public abstract void method2();
}
package org.example.abstruct.factory.factory;
public abstract class AbstructFactory {
public static AbstructFactory getFactory(String className)
{
AbstructFactory factory = null;
try {
factory = (AbstructFactory)Class.forName(className).getDeclaredConstructor().newInstance();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
return factory;
}
public abstract AbstructProduct1 createAbstructProduct1();
public abstract AbstructProduct2 createAbstructProduct2();
}
package org.example.abstruct.factory.concrete;
import org.example.abstruct.factory.factory.AbstructProduct1;
public class concreteAbstructProduct1 extends AbstructProduct1 {
@Override
public void method1() {
}
}
package org.example.abstruct.factory.concrete;
import org.example.abstruct.factory.factory.AbstructProduct2;
public class concreteAbstructProduct2 extends AbstructProduct2 {
@Override
public void method2() {
}
}
package org.example.abstruct.factory.concrete;
import org.example.abstruct.factory.factory.AbstructFactory;
import org.example.abstruct.factory.factory.AbstructProduct1;
import org.example.abstruct.factory.factory.AbstructProduct2;
public class concreteAbstructFactory extends AbstructFactory {
@Override
public AbstructProduct1 createAbstructProduct1() {
return new concreteAbstructProduct1();
}
@Override
public AbstructProduct2 createAbstructProduct2() {
return new concreteAbstructProduct2();
}
}
Factoryパターンが1Productを作成していたのに対して、AbstructFactoryパターンは複数Productを作成できるようにしたパターンです。
factory作成時にクラス名の文字列からインスタンスを作る、と本に書いてありました。
このやり方はいろいろ応用できるかも。
ちなみに、(AbstructFactory)Class.forName(className).newInstance();と書くのは非推奨となっています。
問題点は、Productを追加した場合、すでに作成している全てのconcreteProductに実装が必要と言うことですね。
ついこないだまで強烈な耳鳴りが一日中していたんですが、
これまでやってきたことと言うと、
それでも耳鳴りがするものだから、別の要因があるんじゃ無いかと。
で、調べてみたら、ビタミンB12が足りていないという情報を見つけまして。
ビタミンB12ってどういう食材に含まれているかというと、
と、言うことなので、
おにぎり用に買ってあった焼き海苔をおつまみ感覚で食べたり、ビタミン系のサプリメントも飲んでみました。
そうすると、その次の日から、耳鳴りが気にならなくなってきました。
ここまで効果が出るのか。
どうやら、40代になると、ビタミンB系が不足して、体調不良を起こす人も多いらしく、
ドラッグストアに行くと、40代向けにビタミンB群を補充するためのサプリメントが売ってありましたし。
でも、ここまで効果がでるとは思わなかったので、
今後は味海苔とか韓国海苔とかも積極的に食べていこうと思います。
マジかよ。
いまGoogleには月250円支払って100GBのストレージが使用できるようになっているのですが、
それとは別に写真は、圧縮された状態で無制限にバックアップが取れるようになっていたのですが、
それが2021年6月に終わると言うことです。
その後はどうなるのかというと、
2021年6月までに保存したデータは容量関係無しに残されるが、
それ以降に保存される写真データは容量に上限があるよ、無料プランだと15GBまで保存できるよ、それ以上保存したかったら課金してね、と言うことらしいです。
突然のことなのでびっくりしているのですが。
今、オイラは写真のバックアップはGoogleフォトとoneDriveに保存しています。
oneDriveはフォルダから直接扱えるので、PCで使用するのに便利なのと、Microsoft365を契約しているので(Officeソフトが使いたい)そのついでに1TBのストレージが付いてきています。
でも、できれば分散してバックアップ取っておきたいので(今回のGoogleの件もあるので、いつサービスが終わるのか解らない)、いままではついでにGoogleフォトにも保存していたのですが、
今後はAmazonフォトを使います。
Amazon Prime会員なので、写真データが無圧縮で無制限に保存できます。
はじめからそっちの方が良かったかもしれない。
Amazonフォトもいつまで無制限にできるか解りませんけどね。
じゃあ、Google Oneも解約するかな。
Twitterもインスタ化か、と揶揄されています。
この機能、どうやらiPhoneアプリのみの機能でして。
オイラの所には、PC(Web版)、Android、iPad Pro、iPod touchがあるので、一応、そちらの方でも確認してみた。
PC(Web)、Androidには実装されておりません。
iPad Proにも実装されておりません(iOS(正確にはiPad OS)なんだけどな!)
iPod touchには、音声ツイートが追加されていましたが、フリート機能はありませんでした。
ただ、この機能、あまり評判がよろしくないみたいで、
むしろ実装されていなくて良かった。
というか、こういう新機能って、他プラットフォームでも同時にリリースするものだと思うけどねぇ?
みんながiPhoneだと思うな。
※追記
この記事を書いた後、Twitterのアップデートがありまして、AndroidとiPod touchでフリート機能が実装されました。
iPad Proは相変わらず実装されていません。
というか、見た目が完全にインスタ化してるな・・・