Rx の Hot が扱うのは State か Event か

RxのHotとColdについて
👉 RxのHotとColdについて - Qiita 

 

なかなか理屈ではくっきり区別しづらくなってきたような気がしています。

kotlin や swift でいうところの

Rx の Hot。

検索キーワードとして

ざっくりと2つに分ける。

 

State


ConflatedBroatcastChannel (Kotlin - Channel)

  ↓

StateFlow (Kotlin - Flow)


BehaviorSubject (RxSwift/RxJava)

  ↓

BehaviorRelay (RxRelay/RxCoCoa)

  ↓

Driver (RxCocoa)

 

Event


BroadcastChannel (Kotlin - Channel)

  ↓

SharedFlow (Kotlin - Flow)


PublishSubject (RxSwift/RxJava)

  ↓

PublishRelay (RxRelay/RxCoCoa)

  ↓

Signal (RxCocoa)

 

まとめ

最近では日本語だけの検索では情報が足りません。

iOS ↔ Android 間の意味合いを考えながら、

まずは、

扱うのが State か Event か、を区別すると理解しやすいと思います。

 

👉 com.jakewharton.rxrelay2 (RxRelay 2.0.0 API) 
👉 ReactiveX/RxSwift: Reactive Programming in Swift 
👉 【RxSwift】BehaviorRelayとPublishRelayについてまとめてみた 
👉 RxSwiftのSubjectとRelayについて理解する - Qiita 
👉 関数型プログラマのための Rx 入門(前編) - Okapies' Archive 
👉 RxSwift/RxRelay at main · ReactiveX/RxSwift 
👉 RxSwift(RxCocoa) における Subject・Relay を理解する - iOSエンジニアのつぶやき 
👉 「Rx」の検索結果 - Qiita 

👉 [B!] Rx の Hot が扱うのは State か Event か 


プライバシーに関する警告 このネットワークは暗号化されたDNSのトラフィックをブロックしています。

こんなの出てます。

Privacy Warning This network is blocking encrypted DNS traffic.

プライバシーに関する警告
このネットワークは暗号化されたDNSのトラフィックをブロックしています。
デバイスがこのネットワーク上でアクセスWebサイトやほかのサーバの名前は、このネットワーク上のほかのデバイスによって監視および記録される場合があります。

Privacy Warning
This network is blocking encrypted DNS traffic.
The names of websites and other servers your device accesses on this network may be monitored and recorded by other devices on this network.

なんすかこれ。

少し前に記事になってました。

👉 一部の通信事業者がiPhoneのiCloudプライベートリレーをブロックしている - GIGAZINE 

👉 「iPhoneのiCloudプライベートリレーをブロックしている」と報じられた通信事業者が「iOSのバグが原因」と反論 - GIGAZINE 

Apple vs 通信キャリア ですか。

 

警告を消す方法を探す

Apple サポートにチャットしてみましたが、結局これを案内するだけ。

👉 Wi-Fi ルーターと Wi-Fi アクセスポイントの推奨設定 - Apple サポート (日本) 

警告メッセージ下のリンク先と同じものを紹介されます。

一応、ルーターの設定は確認しましたが消えません。

 

結局、

1. Go to the Wi-Fi Settings of your iOS devices, forget/delete the network, then reconnect to it again. Check and confirm if the privacy warning will disappear.

2. If that doesn't help, try changing the DNS servers on the router to 8.8.8.8 and 1.1.1 (Under Advanced > Network > Internet).1 manually, then go to the Wi-Fi Settings of your iOS devices, forget/delete the network, then reconnect to it again.

👉 Network is blocking encrypted DNS Traffic - Home Network Community 

警告メッセージの出ている「ネットワーク設定を削除」から再度パスワード入力することで消えました。

このネットワークは暗号化されたDNSのトラフィックをブロックしています。

この状態で少し様子を見ることにします。

警告が復活するかもしれません。

そのときは、

また、追記していきたいと思います。

(つづく...)


【Homebrew】git が2つある場合 【macOS】

git homebrew macos

👉 Re-installing Git on Mac OSX with Brew 

状況確認


~ % which git
/usr/local/bin/git

~ % git --version
git version 2.33.0

~ % which -a git 
/usr/local/bin/git
/usr/bin/git

~ % for i in $(which -a git); do echo -n "${i}:  "; ${i} --version; done
/usr/local/bin/git:  git version 2.33.0
/usr/bin/git:  git version 2.32.0 (Apple Git-132)

~ %  cat /etc/paths
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin

~ % sudo rm -rf /usr/bin/git
Password:
rm: /usr/bin/git: Operation not permitted

私の mac には2つの git パッケージがインストールされている。


sudo rm -rf /usr/bin/git wont work for El Capitan due to SIP restriction

削除しようとしても macOS側の git は消せない。

通常、残しておくしかない。

対応方法

実行するときの git を Homebrew側に向けておく必要がある。

以下3つのどれかを、bash でも zsh でも起動スクリプトに追加する。


export PATH=$PATH:/usr/local/bin/git


export PATH=/user/local/bin:$PATH


alias git="/usr/local/bin/git"

AndroidStudio の git 不具合のときに少し気になったのでメモ。

👉 Cannot Run Git : Cannot identify version of git executable: no response – on startup