EP-SPY V3.0

https://github.com/MartinxMax/ep-spy

基於 GI6E 編碼的無線電通信工具,用於保護您的隱私。

https://github.com/MartinxMax/gi6e

  1. 編寫了偽協議以防止內容被解密
  2. 無法通過網絡追蹤,抵抗官方監控
  3. 無線音頻廣播,用於隱蔽信息傳輸
  4. 支援實時音頻監聽與解碼
  5. 自動切換並兼容多設備
  6. 一鍵生成並播放加密信號
  7. 完整的歷史記錄與回放

Main.jpg


本版本解決的問題

通過 MATLAB 分析音頻,觀察到實際數據的載荷基本一致,但接收到的數據似乎 偏移約 20 毫秒

d34f0cfe85ddfa0308fbe5dcb53404a9.png

手動將原始數據向前偏移 20 毫秒後,對齊效果明顯:

b474c168864cf8c2cb33fd70ff92050e.png

74d5e97bf9bd9bc5e0ec6793142bce55.png

總結來說,問題 不僅僅是時間偏移,主要挑戰是 如何消除信號開頭的干擾脈衝

88b150c224179f5b373bf632a75d6a2b.png

經過多次實驗,解決方案是 在代碼開頭故意增加兩次干擾脈衝,在接收時再截取正確的代碼範圍。

幸運的是,實施後 傳輸成功率超過 90%

eimage-10.png


通信測試


警告:

  1. 無線電發射代碼已加密,以規避網絡監控。即使被截獲,也無法還原原始信息。
  2. 不要在單一位置長時間發射,否則可能被利用 三點定位追蹤
  3. 確保無線電功率足夠,並且傳輸距離符合要求。

無線電配置 [UVK5]

  1. 開啟無線電後,將音量設置為最大,然後向右旋轉 4–5 個單位
  2. 頻率可任意,但建議避免使用常用公共頻道以減少干擾。
  3. 使用 K plug to 2.5mm jack cableUVK5 連接到 PC

eimage.png


計算機配置

將麥克風輸入音量設置為 30%

eimage-1.png


配置 EP-SPY

運行:

$ python epspy.py

eimage-2.png

RX

  • 此標籤通常選擇 麥克風 作為輸入設備。

eimage-3.png

  • 選擇完成後,輸入命令:
recv

進入接收模式。

eimage-4.png


TX

  • 此標籤通常選擇 耳機 作為輸出設備。

eimage-5.png

  • 選擇完成後,輸入命令:
send <STR>

進行發射。

eimage-6.png


200 米測試結果

發射端

image.png

接收端

eimage-7.jpg


如何排查通信失敗

在專案的 matlab 資料夾中,有一個 test.m 文件,請使用 MATLAB 對比兩個音頻文件的差異

通信失敗的可能原因:

  1. PC 或無線電音量設置過高,導致失真或爆音。
  2. 信號受到 其他無線電干擾
  3. 無線電發射功率不足,或者信號被障礙物或其他實體衰減,無法達到期望距離,造成白噪聲過多。

eimage-7.png

eimage-9.png


安裝

$ pip install --upgrade pip
$ ./install.sh
$ pip install -r requirement.txt --config-settings --confirm-license= --verbose

image.png

PS:如果在 Windows 主機運行,請先安裝 ./install/vbc/VBCABLE_Setup_x64.exe。Windows 通常無法直接監聽默認音箱,需要使用虛擬音頻設備。


使用方法

$ python epspy.py

image-1.png

> help

image-2.png

GRID 編碼

> code test

image-3.png

GRID 編碼的 wav 音頻

> wav test

image-4.png

廣播 GRID 編碼消息

選擇音頻輸出設備:

image-8.png

> send test

image-5.png

接收 GRID 廣播消息

選擇音頻輸入設備:

image-6.png

> recv

image-7.png
匿名發送消息歷史

> history

image-9.png


⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠛⠋⠀⠀⠀⠀⠀⠀⠉⠉⠂⠙⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠨⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⢀⣠⣶⣶⢀⣀⠄⣴⣮⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⠀⠘⣦⡐⣀⠠⠀⢀⡴⣯⢿⣽⣿⡇⣷⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⢶⡞⣧⣻⠬⠳⠞⡿⢿⡿⡿⠿⠟⠇⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠠⢄⠀⡝⠮⡑⠠⠀⠀⠀⠀⠀⣈⠀⠀⠀⠀⢴⠉⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠂⡀⡀⢻⣦⣍⡩⢀⡀⢄⡀⠀⣼⣧⠀⠄⡰⠹⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⣀⡢⠁⠘⣽⣿⢿⣄⣍⣂⡀⠾⠛⠹⠛⣸⣶⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣵⡅⡀⠈⠚⢫⢻⡺⠛⠛⠠⠄⠀⡀⠉⠙⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣠⠀⠀⠀⠃⡳⣀⢦⡔⠈⠋⢑⡦⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠻⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡗⣆⠀⠀⠂⠁⠘⠓⠻⠟⠿⠛⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣉⢦⢡⢀⠻
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⢊⡖⢤⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠙⠻⠿⣿⣿⣿⢣⢙⠯⢖⡈⢧⣭⢋⡟⢯⠛⡽⣻⢟⠻⡛⢶⠢⠄
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀⠸⢡⠆⡐⢀⠀⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠀⠊⠐⠀⠘⡄⠫⢷⡌⠠⣌⠰⣋⠎⠓⡈⢄⠠⠀
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠋⠀⠀⠀⠀⠀⣊⠐⠠⣈⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠁⠌⣨⣷⠧⠓⠌⠢⢁⠘⠎⠡⠀
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠁⠀⠀⠀⠀⠀⠀⣀⠢⣋⡵⣎⡵⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠑⠫⠌⢁⠠⠁⡀⠠⢠⢁⠂
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠳⠽⠗⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢢⠱⡌⠐⠀⠂⠀
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠃⠄⠀⠀⠀⠀
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠈⠠⠁⢀⠤
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⡁⠌⡈⣤
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠁⡠⣪⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣾⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⠟⠉⠒
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⣿⣿
⣿⣿⣿⢿⣻⢿⣻⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿
⣳⢾⡽⢮⡵⣎⢷⣹⠻⡹⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿
⣯⢿⡿⢳⣙⣾⣷⣬⣵⣶⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢍⡰
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢆⠒
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢎⡑
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣿⠿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣨⣄⡤
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⠀⠀⠀⠀⠀⠐⠓⠋⠈

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/98272.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/98272.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/98272.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

苹果 FoundationModels 秘典侠客行:隐私为先的端侧 AI 江湖

引子 话说侠客岛之上&#xff0c;有一对年轻侠侣 ——「青锋剑客」凌云与「素心仙子」苏凝&#xff0c;二人自幼习武&#xff0c;尤擅拆解各路奇功秘籍。 近日听闻苹果谷&#xff08;Apple&#xff09;于 WWDC 2025 武林大会之上&#xff0c;亮出一门全新绝学「FoundationMod…

华为基于IPD的产品质量计划模板

目录 模板:产品质量计划模板....................................... 1 1. 介绍...................................................................... 5 1.1. 范围和目的.................................................... 5 1.2. 参考资料..…

事务管理的选择:为何 @Transactional 并非万能,TransactionTemplate 更值得信赖

在 Spring 生态的后端开发中&#xff0c;事务管理是保障数据一致性的核心环节。开发者常常会使用 Transactional 注解快速开启事务&#xff0c;一行代码似乎就能解决问题。但随着业务复杂度提升&#xff0c;这种“简单”的背后往往隐藏着难以察觉的隐患。本文将深入剖析 Spring…

CodePerfAI体验:AI代码性能分析工具如何高效排查性能瓶颈、优化SQL执行耗时?

前阵子帮同事排查用户下单接口的性能问题时&#xff0c;我算是真切感受到 “找性能瓶颈比写代码还磨人”—— 接口偶尔会突然卡到 3 秒以上&#xff0c;查日志只看到 “SQL 执行耗时过长”&#xff0c;但具体是哪个查询慢、为什么慢&#xff0c;翻了半天监控也没头绪&#xff0…

《sklearn机器学习——绘制分数以评估模型》验证曲线、学习曲线

估计器的偏差、方差和噪声 每一个估计器都有其优势和劣势。它的泛化误差可以分解为偏差、方差和噪声。估计器的偏差是不同训练集的平均误差。估计器的方差表示对不同训练集&#xff0c;模型的敏感度。噪声是数据的特质。 在下图中&#xff0c;可以看见一个函数 f(x)cos⁡32πxf…

2025年AI PPT必修课-汇报中AI相关内容的“陷阱”与“亮点”

《2025年AI PPT必修课-汇报中AI相关内容的“陷阱”与“亮点”》 (适用于方案汇报、战略PPT、标书/投资人演示)一、内容类坑&#xff08;战略/趋势层面&#xff09;❌ Pitfall (不要写)✅ Correct Expression (推荐写法)Why (原因)还在强调 Caffe / Theano / TF1.x / LSTM采用 P…

Java数据结构 - 顺序表模拟实现与使用

目录1.顺序表的基本介绍2.顺序表的模拟实现2.1 常见的功能2.2 基本框架2.3 方法的实现2.3.1 add方法2.3.2 size方法2.3.3 display方法2.3.4 add&#xff08;int pos&#xff0c;E data)方法2.3.5 remove方法2.3.6 get方法2.3.7 contain方法2.3.8 indexOf方法2.3.9 set方法2.3.1…

rust语言 (1.88) egui (0.32.1) 学习笔记(逐行注释)(二十六)windows平台运行时隐藏控制台

1、主程序第一句添加&#xff1a; 必须放在所有代码第一句 #![cfg_attr(windows, windows_subsystem "windows")]2、 编译命令&#xff1a;cargo build --release3、 编译完成后运行可执行文件&#xff1a; 项目目录/target/release/项目名.exe

什么是静态住宅IP 跨境电商为什么要用静态住宅IP

静态住宅IP的定义静态住宅IP是指由互联网服务提供商&#xff08;ISP&#xff09;分配给家庭用户的固定IP地址。与动态IP不同&#xff0c;静态IP不会频繁变动&#xff0c;长期保持稳定。其特点包括&#xff1a;固定性&#xff1a;IP地址长期不变&#xff0c;适合需要稳定网络环境…

RabbitMQ 初步认识

目录 1. 基本概念 2. RabbitMq 的工作流程 3. 协议 4. 简单的生产者, 消费者模型 4.1 我们先引入 rabbitmq 的依赖 4.2 生产者 4.3 消费者 1. 基本概念 Pruducer : 生产者, 产生消息Consumer : 消费者, 消费消息Broker : RabbitMq Server, 用来接收和发送消息Connectio…

Redis(46) 如何搭建Redis哨兵?

搭建 Redis 哨兵&#xff08;Sentinel&#xff09;集群&#xff0c;确保 Redis 服务具有高可用性。以下是详细的步骤&#xff0c;从 Redis 安装、配置主从复制到配置和启动 Sentinel 集群&#xff0c;并结合相关的代码示例。 步骤 1&#xff1a;安装 Redis 首先&#xff0c;需要…

Grafana 多指标相乘

PromQL中多指标相乘 PromQL表达式&#xff1a; 0.045 * h9_daily_income{coin"nock"} * h9_pool_price_cny{coin"nock"}&#x1f4c8; 基础&#xff1a;单指标运算 常数与指标相乘 在PromQL中&#xff0c;常数与指标的乘法是最简单的运算&#xff1a; # ✅…

【微服务】springboot3 集成 Flink CDC 1.17 实现mysql数据同步

目录 一、前言 二、常用的数据同步解决方案 2.1 为什么需要数据同步 2.2 常用的数据同步方案 2.2.1 Debezium 2.2.2 DataX 2.2.3 Canal 2.2.4 Sqoop 2.2.5 Kettle 2.2.6 Flink CDC 三、Flink CDC介绍 3.1 Flink CDC 概述 3.1.1 Flink CDC 工作原理 3.2 Flink CDC…

分布式数据架构

分布式数据架构是一种将数据分散存储在多台独立计算机&#xff08;节点&#xff09;上&#xff0c;并通过网络协调工作的系统设计。其核心目标是解决海量数据处理、高并发访问、高可用性及可扩展性等传统集中式数据库难以应对的挑战。以下是关键要点解析&#xff1a;一、核心原…

Spark 中spark.implicits._ 中的 toDF和DataFrame 类本身的 toDF 方法

1. spark.implicits._ 中的 toDF&#xff08;隐式转换方法&#xff09;本质这是一个隐式转换&#xff08;implicit conversion&#xff09;&#xff0c;通过 import spark.implicits._ 被引入到作用域中。它的作用是为本地 Scala 集合&#xff08;如 Seq, List, Array 等&#…

如何在MacOS上卸载并且重新安装Homebrew

Homebrew是一款针对macOS操作系统的包管理工具&#xff0c;它允许用户通过命令行界面轻松安装、升级和管理各种开源软件包和工具。Homebrew是一个非常流行的工具&#xff0c;用于简化macOS系统上的软件安装和管理过程。一、卸载 Homebrew方法1&#xff1a;官方卸载脚本&#xf…

如何简单理解状态机、流程图和时序图

状态机、流程图和时序图都是软件工程中用来描述系统行为的工具&#xff0c;但它们像不同的“眼镜”一样&#xff0c;帮助我们从不同角度看问题。下面用生活比喻来简单理解思路&#xff1a;状态机&#xff1a;想象一个交通信号灯。它总是在“红灯”“黄灯”“绿灯”这些状态之间…

消失的6个月!

已经6个月没有更新了 四个月的研一下生活 两个月暑假&#xff0c;哈哈&#xff0c;其实也没闲着。每天都有好好的学习&#xff0c;每天学习时长6h 暑假按照导师的指示开始搞项目了&#xff0c;项目是关于RAG那块中的应用场景&#xff0c;简单来说就是deepseek puls ,使用大…

Android开发——初步学习Activity:什么是Activity

Android开发——初步学习Activity&#xff1a;什么是Activity ​ 在 Android 中&#xff0c;Activity 是一个用于展示用户界面的组件。每个 Activity 通常对应应用中的一个屏幕&#xff0c;例如主界面、设置界面或详情页。Activity 负责处理用户的输入事件&#xff0c;更新 UI&…

【左程云算法03】对数器算法和数据结构大致分类

目录 对数器的实现 代码实现与解析 1. 随机样本生成器 (randomArray) 2. 核心驱动逻辑 (main 方法) 3. 辅助函数 (copyArray 和 sameArray) 对数器的威力 算法和数据结构简介​编辑 1. 硬计算类算法 (Hard Computing) 2. 软计算类算法 (Soft Computing) 核心观点 一个…