Rustでオーバーフローを検査しながら演算する

桁溢れになることが想定されている場合は、checked_系の関数を使って演算すると結果をOptionで得られるらしいです。

fn main() {
    let a = std::i8::MAX;
    let b = 1i8;

    assert_eq!(a.checked_add(b), None);
    assert_eq!(a.checked_sub(b), Some(126i8));
}

これを使っておかないと桁溢れが起きた時にpanic!になるし、リリースモードでは誤った結果が得られるらしい。怖いンゴ。他にも最大値を超える数値になる場合は最大値で固定したりする関数もあって、うまく使えば面倒な判定が不要になるので使う場面は多そうだ。

https://doc.rust-lang.org/std/primitive.i8.html

Rustの整数リテラルで数値をアンダースコアで見やすくする

数値の中でアンダースコアが使えるので、定数を定義するような時とかに使って見やすくできる。巨大な値とかだと0の数わかんなくなりそうになったりするので嬉しい。

fn main() {
    let a = 100_000_000;
    let b = 100000000;

    assert_eq!(a, b);
}

https://doc.rust-jp.rs/book/second-edition/ch03-02-data-types.html#a%E6%95%B4%E6%95%B0%E5%9E%8B

Rustの()はユニット型

特に気にせず書いていたが、どうやらユニット型というらしい。

1つだけ値を持っていて、空のタプルだとか。関数で戻り値を指定しない場合に戻る値がこれにあたり、省略することができます。サイズが0バイトらしいので、一時的に何かダミーを突っ込む時に使ってもいいかもしれないらしい。

https://doc.rust-lang.org/std/primitive.unit.html

耳まで焼けるホットサンドメーカーでパン焼く

あつほかダイニングというホットサンドメーカーにはまってます。

パンの間に余った具材などを挟んで、パンでサンドして焼けるやつです。パンなんて焼いてあとからサンドすればいいだろと思っていたんですけど、やっぱり潰すので食べやすいサイズに圧縮されるんですな。

このホットサンドメーカーは耳まで焼いてくれるので、パンを余すことなく焼くことができて重宝しておりますが、シチューのようなものを挟んで焼くと、耳のところ潰すタイプではないのが裏目にでて、全部飛び出てしまいます。流動的な具材を挟む場合はもっと別のタイプのやつがいいですな。

あとはトースターとかなくても焼けるので、これまた災害時とかにも使えるという。。防災に最近はまっております。

AirPods ProをApple Care+に入れる

screenshot

AirPods ProをApple Care+に入れると下記のサービスがあるらしい

  • デフォルトの1年保証が2年に延長される
  • 損傷に対する修理などのサービスを1回につき税別3,400円2回まで受けられる
  • 保持容量が本来の容量の80%未満になった場合の修理も可能

モバイル保険より優秀

モバイル保険に入れようか悩んだ。月額700円で3端末だから、1端末あたり233円、2年で5592円。ならばAppleCare+であればそれ以下なので入りたい。>モバイル保険に入れようか悩んだ。月額700円で3端末だから、1端末あたり233円、2年で5592円。ならばAppleCare+であればそれ以下なので入りたい。>モバイル保険に入れようか悩んだ。月額700円で3端末だから、1端末あたり233円、2年で5592円。ならばAppleCare+であればそれ以下なので入りたい。

AppleのAppleCareは端末と深く結びつくので、メルカリ等で売る時もかなりやりやすい。シリアルを伝えるだけで譲渡できるらしいですからな。

完全に計算ミスってたが、AppleCareの場合は税別3,400円で修理できるから、最大2回修理した場合、3400✕2+3400= 10,200円 でしかも2回までしか修理できない。モバイル保険は1端末あたり233円で無制限。3年契約したところで5,592円なので約半額なのであった。

加入方法は電話

Appleで購入時に入れることができたかもしれない。

今回はヨドバシドットコムで購入したのですが、ちゃんと考えてなかったので、保険等は完全にスルーして普通に購入しちゃってました。iPad等ならあとから加入が容易なのですが、AirPods Proは電話で加入する必要があります。(例えばWebから申し込めそうなページがありますが、実際に試してみたらそんな製品はないと言われて電話に誘導されます。)

最初はチャットで問い合わせたが、電話でなければいけないと言われました。どうしても電話が嫌だった。なぜならAndroidでAirPods Proを繋いだらマイクが認識されなかったから。(後日検証して解決策を書いておきますね。)

電話すると加入ページを送られる

電話するといろいろと確認をされたあと加入用のページURLをもらえます。そこからクレジットカードで支払うと終了です。

おわり

結構面倒だったのですが、AppleCare+は安くて優秀で、メルカリで売る時の価値アップにもつながるのでおすすめです。

iPad miniでマウスを使ったらハイスペック小型ノートPCになった

最近マウスがつながるようになったので繋げてみたら革命です。

キーボードと画面の往復がなくなった

スマホやタブレットでは画面上の操作をタッチでやらなければいけないから、キーボードをつけてみても、キーボードと画面をいったりきたりして作業になりませんでした。だからいつもノートPCを持ち歩いてました。

マウスでiPad miniがハイスペック小型ノートPCに

先日iPad miniにマウスをつけてみたら、キーボードで打ちながらマウスで画面を操作するのが楽になって、これはもはや小型PCですな。これなら情報収集や作業効率も確保できて、机のスペースもあまり取らないので、どの場所にいても素早く作業できる状態を作ることは大事です。

おわり

そもそもキーボードもマウスいらないのでは?という意見もあるかもしれませんが、個人邸んはどう考えてもキーボードとマウスで作業したほうが楽というか作業量が段違いです。

私としてもスマホだけで作業するほうがスタイリッシュで好きですが、スタイリッシュさはもうこの際どうでもよくて、速く作業を終わらせて、遊んで寝たい。

Fitbit Versa 2からAndroidを探す

screenshot

Find My Phone with Fitbitを使えばFibit Versa 2からスマートフォンを探すことができます。

自宅の中でスマートフォンをなくした時は自分の腕にあるFitbitからFind My Phoneを起動してタップするだけ。ただし起動しないことがたまにある。おそらく近くにないとだめなのかもしれない。