本單元將改寫《超圖解Python程式設計入門》第13章「紀錄心情留言悄悄話」的LINE聊天程式,把存在全域變數的悄悄話改存在Redis Labs資料庫,這樣的話,將此LINE程式佈署到Heroku平台也不會發生資料不同步的情況。

本單元將改寫《超圖解Python程式設計入門》第13章「紀錄心情留言悄悄話」的LINE聊天程式,把存在全域變數的悄悄話改存在Redis Labs資料庫,這樣的話,將此LINE程式佈署到Heroku平台也不會發生資料不同步的情況。

Redis雜湊的鍵和欄位名稱只能是字串,無法像JavaScript那樣透過陣列存取。為了在Redis中營造出陣列那樣,存取「一組相關物件資料」的語法,人們習慣採用如下的命名格式:用相同的名稱起頭,後面跟著冒號,再加上虛構的索引編號。

用排列骨牌來比喻存取串列資料,取出前面或後面三、五個牌很簡單,但若要取出第10個牌,就要重頭開始數。串列元素的編號從0開始,也可以從後頭由-1倒數。

Heroku的虛擬機每一天至少會被重置(cycle,原意是「循環」)一次,這樣做可以避免某些程式沒有適切地釋放資源(如:記憶體)而阻礙系統效能,一旦「虛擬機管理員」察覺某個虛擬機當掉了,它將立即重置該虛擬機。


select程式庫的select()函式,可接收來自作業系統的socket狀態訊息,每當有資料輸入或者準備好要輸出時,Python程式碼就會收到通知。select()不僅能偵聽socket狀態,在UNIX/Linux系統上也可以偵聽檔案讀寫、使用者在終端機的輸入操作…等所有可傳回有效「檔案描述符」(file descriptor,相當於檔案的識別碼)的物件。

如同書本第16-19頁說明,伺服器端socket物件將偵聽用戶端連線請求,這個socket相當於「總機」;接受(accept)用戶端連線後,伺服器將動態產生一個與該用戶通信的socket物件,此舉相當於「總機」把電話轉給某專人來服務客戶。

感謝台灣樹莓派創辦人Sosorry先生的邀請,筆者將於2019/3/16-17 (六、日),在台北天瓏書局舉辦《MicroPython物聯網入門工作坊》。

使用Wi-Fi連線顯然比較符合ESP8266的天性,但是對於沒有內建Wi-Fi的MicroPython控制板或者Arduino板,USB是最普遍的選擇。本文將介紹使用Python程式與Arduino和MicroPython(ESP8266板)進行序列通訊的方法。

雙11時購入Note 8手機,取代用了N年的Note 4,順便玩玩DeX模式。啟動DeX電腦模式,只需要添購一個配件:USB Type-C轉HDMI轉接線,我用的是下圖這種轉接線,它的本體有一個充電插座、HDMI母座和一個USB介面,可連接滑鼠、鍵盤、隨身碟、USB Hub…等週邊。

nVidia的GTX10系列顯示卡問世兩年了,用狗狗的年齡計算,它已經14歲了;敗比特幣挖礦熱潮所賜,這系列顯卡的售價基本上和兩年前發表時一樣,違反3C產品「晚買享折扣」的定律。Intel的第八代Core處理器,雖然是沿用第三代10奈米製程,還有Spectre 和 Meltdown漏洞,照樣賣到缺貨。我本來期待購買採用今年初發表,Intel和AMD合作的整合Radeon Vega M GPU處理器(i7-8709G)的筆電,但現今市面上可以選擇的機種甚少,台灣也不見得有販售。

CircuitPython是一種在微控器運行的Python 3語言環境,由Adafruit公司維護並開放原始碼。CircuitPython其實是從另一個也是在微控器上執行的MicroPython移植過來的,Adafruit官網的這篇文章提到,CircuitPython和MicroPython有98%相同,解譯器核心也相同,只是有些程式庫的命名與結構不同。

Begin typing your search term above and press enter to search. Press ESC to cancel.