iT邦幫忙

2023 iThome 鐵人賽

DAY 16
0
AI & Data

AIoT的藍藥丸與紅藥丸,你選哪個?系列 第 26

Day 16:Python──開啟虛擬通道的鑰匙(Python: The Alternate Dimension)

  • 分享至 

  • xImage
  •  

前情提要

  在Day 15:用MongoDB絕地大反攻中,你開始用Robo 3T來刪除這些資料庫,希望能夠讓烏賊機器人失去AI大帝的控制。你先選擇了sentinels資料集,然後用右鍵點選了 Drop Collection選項,確認了刪除動作。接著你又選擇了plan資料集,重複了同樣的步驟。
  就在你刪除後,耳機裡傳來的熟悉的聲音:「你們只要刪除我的資料庫,我就可以追蹤到你們的位置,然後我再用烏賊機器人來攻擊你們。」居然是AI大帝!
  但是你想不通:他怎麼會在這裡?他怎麼會發現你的行動?他是怎麼連到你們的耳機的?你更不敢相信,一切想法居然都被AI大帝看透了,你們等於是被AI大帝玩弄於股掌之間。
  突然,你想到了什麼,連忙對著耳機說:「等等,我有一個主意!」

AI大帝的MongoDB陰謀(The MongoDB Conspiracy)

  你對崔尼蒂和莫菲斯說:「我想到了一個辦法,就是用MongoDB的指令,修改AI大帝的資料庫,讓他以為我們還在裡面,但其實我們已經逃出去了。」
  「怎麼修改?」崔尼蒂問。
  「就是用update_oneupdate_many指令,來更新sentinelsplan資料集裡面的文件。我要把sentinels資料集裡面的每個烏賊機器人的status屬性改成"offline",表示它們都已經關機了。然後我要把plan資料集裡面的文件的date屬性改成"2024-01-01",表示『AI大帝毀滅人類計畫』延期了一年。這樣AI大帝就會以為他成功地刪除了我們,而且他還有時間準備他的計畫。」
  「可是你剛才不是已經用Robo 3T,刪除sentinels資料集跟plan資料集了嗎?」莫菲斯問。
  「還有一個問題,我們怎麼逃出去?」崔尼蒂又問。

Python:虛擬通道的關鍵(Python: The Alternate Dimension)

  莫菲斯說:「我覺得……我們可以試試看,用Python和MongoDB來創造一個虛擬通道,讓我們可以從AI大帝的控制中脫離,然後回到真實世界。」
  你和崔尼蒂聽了莫菲斯的想法之後,覺得是可行的。你接著問莫菲斯要怎麼做。
  「我們可以用Python操作MongoDB的程式語法,來建立一個新的資料庫,叫做escape。在這個資料庫裡面,我們可以建立一個集合,叫做portal。」莫菲斯繼續說,「在這個集合裡面,我們可以插入一些文件,每個文件都代表一個虛擬通道的參數。」
  「我們可以插入這個文件:

{“_id”: 1, “name”: “Zion”, “destination”: “Reality”, “password”: “redpill”, “status”: “open”}

  這樣就建立了一個叫做Zion的虛擬通道,可以讓我們回到真實世界。但是需要輸入正確的密碼redpill才能打開這個虛擬通道。」
  你跟崔尼蒂聽完,都覺得莫菲斯這個想法不錯。
  「那你要怎麼執行這些程式?」 你接著問。
  「可以用Jupyter notebook來寫Python程式,這樣也可以執行。」
  「Jupyter notebook是什麼?」你問。
  「Jupyter notebook是一個圖形化的互動式記事本(文字編輯器),可以方便我們編輯、執行、儲存、匯出Python程式。可以參考這篇Jupyter Notebook & PyMongo──資料庫的圖書館員。」莫菲斯一邊向你解釋,一邊繼續說明計劃:「我已經在我的電腦上安裝好pymongo套件,還連到AI大帝的資料庫了。現在,我可以用Robo 3T來處理MongoDB資料庫了。」
  「等一下,你剛才說『pymongo套件』……那又是什麼?」
  「『pymongo套件』就是Python和MongoDB之間的介面。可以參考這篇Jupyter Notebook & PyMongo──資料庫的圖書館員。」
  「要怎麼用這些工具?」你一邊問他,同時在心裡讚嘆,『莫菲斯真的太強了,到底是怎麼想出這些方法的……』
  「對了,我可以用學習程式,把你傳送到一個虛擬空間!」莫菲斯突然想到還有學習程式這張王牌,「我們到那邊之後,我一邊跟你說明,一邊教你怎麼做。」


上一篇
Day 15:用MongoDB絕地大反攻
下一篇
Day 16:Jupyter Notebook & PyMongo──資料庫的圖書館員
系列文
AIoT的藍藥丸與紅藥丸,你選哪個?62
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言