2025年9月21日日曜日

[バイク]早旅の登録ができない?

バイク用のETC2.0を付けたのは、という制度があり、コレいいよね。と友人と話していたのがきっかけです。

このにはバイク用のツーリングプランというのがあり、2日間一定の区間が乗り降りし放題など、いろんなプランが用意されている。というバイクに乗る人には、ちょっとうれしい仕組みがあります。

その他の利用シーンとしては、バイクの場合、車と比べ一般的に走行距離が短め。私の所有するXJR1300(98年)は、燃費があまりよくありません。町中を走ると、1リットル当たり10Km走らないことも(これは個体差によるものだと思います。。。)。

ということで、次のSAまでにガソリン尽きるんじゃないコレ。みたいなときに、ちょっと降りて給油する。的なことができるのはいいかもしれませんね。心理的に安全な感じがいい。というかETC2.0なら早旅じゃなくても、一時下車なら2時間まで行ける。仲間内に1系のETCをつけている人がいるならば、いろいろ融通が利きそう。

わき道にそれましたが、この早旅を使わない手はない。ということで利用できるようにするため、のサイトでETCカードと車載器を登録。仕組み的には、ETCカードと車載器番号を紐付けて、その組み合わせが一致したら、事前登録したエリアが乗り放題になる。という仕組みらしい。

・・・で、さっそく登録するも失敗。
登録できるようになるまで、しばらく時間がかかるらしいことが書かれている。

友人(ハーレ)はつけた翌日に登録できたといっていたので、ちょっと心配になってくる。

取り付けしてもらってから3日後、改めて登録をするとすんなり完了。

おそらく、システム間の連携問題。バッチなんだろう。と想像がつく。バッチの処理件数が上限で先送りされたか、そもそもバッチの処理間隔が3日などで、一番遅いパターンにはまったのかな。と推測。

登録ができなかった間、ちょっと試行錯誤。
車載器登録番号って何よ?ってよく見てみると連番ぽい感じがする。自分の番号-1で登録を試みると、なんと成功。確認画面に遷移した。

なんだコレ、大丈夫か?と思ったけど、仕様的にはETCカードと車載器番号が一致しないと割引にならん。ということなんだろう。あと、複数台所有している人向けの考慮だと思う。設計したやつか要件を考えた人が複数台持っているのかなー。

で、車載器番号について、他人の番号がわかってもいいのか?と思ったけど単なる連番の数字だし、何か個人的な情報が洩れることもないだろう。と思われる。。。今時点では。

しかし逆に考えると、友人にバイクを貸す。とか、レンタルバイクに乗車したときに、うまく登録すれば、この割引が使えるじゃない?ということになる。そういうところは芸が細かい。

調べてみると、レンタルバイクの場合、レンタルバイクのオーナーがOKと言ったらコレ使えるらしい。


OKといわなくても、車載器に車載器番号のシール的なものが貼られていて、やろうと思えばできちゃう問題があることはさておき。。。
少し前の話に戻るが、こういう都合もあり、ETCカードと車載器番号で一意に割引対象を特定するシステムなんだろうな。という推測ができる。コレはこれでありだなー。という感想。

しかし、サイト側の画面ちょっと使いづらい。PCの場合、ID/PW入力後、エンターキーでログインしてほしいよね。携帯じゃなくPCを主に使うおじいさんとしては。

たぶん、芸が細かい人が設計して、雑なやつが画面作ったんだろうなー。

2025年9月20日土曜日

[バイク]フロントフォークのオーバーホール(オイルのシミ)

 長く同じバイクに乗っていると、いろんなところが悪くなってきます。その中でもフロントフォークは最多の4回目のオーバーホール。。。


ETC取り付けから帰ってきたら、駐車場に油シミ。。。2個油じみがあるっとことは、ちょっと前からだったのか。

シミをたどって上の方をたどっていくと、フロントフォークにわっか状の跡が。フロントフォークからのオイル漏れか。。。

仕方がないので、にりんかんとYSPに電話。修理の額面は同じくらいだったので、着手が早くできそうなYSPに依頼。

代車(125のスクーター)貸してくれるんだけど、ちょっと遠いんだよね。・・・ミスターバイクがあれば。。。なんも考えなくてよかったのにー。と、ないものを考えても仕方がない。



YSPで見てもらうと、おそらくインナーチューブは大丈夫。ということでオーバーホールのみ。なんかインナーチューブの値段が上がっているらしく、1本5万くらいするらしい。これダメだったら2本交換の+10万。。。今回はオーバーホールだけなので6万コース。9月の終わりに帰還予定。


2025年9月18日木曜日

[バイク]甲信・東海・北陸エリアETC車載器購入助成キャンペーン2025

今、etc車載器の取り付けキャンペーンやっています。
 私は2りんかんさんでMSC-BE700Sを取り付けました。 

xjr1300(ネイキッド)なので¥37,790から1万円引きでした。
本体はシート下、アンテナは左側のバックミラーにステイ?をつけてその上に。

タンクを外しての作業なので、ついでにプラグ交換とUSB電源取り付けも。ETC取り付けと同時だと工賃半分くらいになります。 

作業は3時間くらいかかるかも。ということで、貸し出してくるすくーたでマクドナルドへ。
ご飯食べて、しばらくお仕事。1時間半くらいで作業完了の連絡がきました。早い。もともとリレーが入っていたからかな?

気になっていたプラグ交換も安くできたし、 それほど使わないけど、先々高速度道路を使うことを考えると、結構お得かも。

2022年3月8日火曜日

[Android]Android Studio(2021.1.1 Patch2)でFirebase Cloud Firestoreを使う その2

さすがに、カンで終わらすのは。と思い、前回の続き。
android studioで
 ツール(T)→Firebase
と押すと、下の画像のようなViewが出てくる。
ここで②のところ(すでにやっちゃってますが)を押すと、build.gradleに必要な設定が入ってくれる!
何てことだろう。。。みんなコレやってるんだよね。きっと。
カンでやったのとは、一味違いますね。参考にするならこっちでお願いします。

[Android]Android Studio(2021.1.1 Patch2)でFirebase Cloud Firestoreを使う

ちょっと古めのAndroidStudioを使っていて、ま、Firestoreを使うならアレね。というのは覚えた。血反吐を吐きながら。
時は流れ、AndroidStudioのバージョン新しめにして、同じことをやってみる。っという感じでbuild.gradleを編集。
ということで、build.gradle(プロジェクト)を開いてみる
plugins {
    id 'com.android.application' version '7.1.2' apply false
    id 'com.android.library' version '7.1.2' apply false
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
・・・ずいぶんシンプルになったなぁ。と思いつつ、いつも通りのアレを追加してみる。
plugins {
    id 'com.android.application' version '7.1.2' apply false
    id 'com.android.library' version '7.1.2' apply false
}

// 追加
buildscript {
  repositories {
    // Check that you have the following line (if not, add it):
    google()  // Google's Maven repository

  }
  dependencies {
    ...
    // Add this line
    classpath 'com.google.gms:google-services:4.3.10'

  }
}
// 追加


task clean(type: Delete) {
    delete rootProject.buildDir
}
で、syncnowを押してみる。いつも通りいけるかなぁ。。。と甘くはない。公式サイトの「Firebase SDK の追加」の手順なんだけどね。
ということで、直感を信じて適当に直してみる。
plugins {
    id 'com.android.application' version '7.1.2' apply false
    id 'com.android.library' version '7.1.2' apply false
    // 追加
    id 'com.google.gms.google-services' version '4.3.10' apply false
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
こんなんでいいはずないしー。と思いつつsyncnowを押してみると、正常終了。
で、build.gradle(モジュール)のほう。こちらもいつも通り、依存を追加してみる。
dependencies {
    implementation 'androidx.appcompat:appcompat:1.4.1'
    implementation 'com.google.android.material:material:1.5.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
    //追加した記憶がない...
    implementation 'com.google.firebase:firebase-firestore:23.0.2'
    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
    //追加
    implementation platform('com.google.firebase:firebase-bom:29.1.0')
}
こんな適当でうまくいくなら苦労はないわー。と思いつつサンプルを実装。


お、コンパイルった。じゃあ、ランタイムエラーかな?と思ったらコイツ動くぞ。
ということで、理屈はわかりませんが、firestoreでbuild.gradleに困ったら参考にしてください。

2021年8月13日金曜日

[JavaScript]Mapを使う(連想配列)

JavaScriptは、ちょっとくらい変な実装をしてもそれっぽく動くことがあります。
コンパイルする形式の言語である、C#やJavaに慣れていると、むずがゆくなることがあります。

ということで、間違えから偶然見つけて、調べてみると普通に連想配列だった話。
JavaScriptでMapを使うには、以下のようにする。そう、何も考える必要はないのです。なぜならば、objectに連想配列の機能が混ぜ込まれているからです。
コードはこんな感じ。
let map ={};
map["aaa"] = "aaa";
console.log(map["aaa"]);
//"aaa"と表示される

//ちなみに↓のようにもアクセスができる
console.log(map.aaa); // aaaと出力される

//メンバ変数のように代入もできる
map.bbb = "bbb"
console.log(map.bbb); // bbbと出力される
JSONをオブジェクト化するとこもこんな感じでやってるんだろうね。
・・・mapというか、属性を動的に増やす。という考え方。 ちなみに、objectなら何でもOK。こんなこともできる。
let list =[1,2,3];
list.bbb = "bbb";
console.log(list.bbb);// bbbと出力される
console.log(list);(3) [1, 2, 3, bbb: "bbb"]と出力される
JavaScript。。。何でもありですね。

[JavaScript]変数宣言の仕方(var let const)

JavaScriptの変数宣言。書き方いろいろある。制限(コーディング規約等)がないならlet使えというのが結論。
理由は、letを使っておけば、動作時に変数宣言の上書きに気が付けるから。です。
あと、定数はconstを使うのが結論。値を書き換えることができないからね。 

 以下、それぞれ組合せでの検証結果。

■varとletの組合せ
var let
var var a="a";
var a="b";
aの値は"b"になる!
var a="a";
let a="b";
実行時エラー
let let a="a";
var a="b";
実行時エラー
let a="a";
let a="b";
実行時エラー

constもletと同じ特性。consutは、値の更新もできない。↓のような場合エラーになる。
const b = "b";
b="B"; //エラー

let c ="c";
c = "C";// こっちはOK。というか普通の使い方。

ちなみに、varの上書きパターンこういうのが正常終了しちゃう。意味の分からない障害が出そう。
var aaa = "aaa";
var aaa = 100;
ということでletがおすすめ。