「網路程式」課程 [上傳素材繳交練習]  (Last update 6/25/2024 3:46 PM) (講稿與程式碼將陸續更新)

📢 學期成績 http://www.ee.yuntech.edu.tw/IMAGES/new_0001.gif

 0單元

🎯 Syllabus提醒

 

NotificationX – Best FOMO, Social Proof, Sales Popup & WooCommerce  Notification Bar With Elementor Support – WordPress plugin | WordPress.org請同學把自己預備好、備妥所需的軟硬體

適合修這門課?應有基礎的程式邏輯,半生不熟的程式能力恐難取得這門課的學分

1單元

程式語言

🎯 Python基礎

算數運算子、邏輯運算子

輸入輸出:input()print()、格式化顯示

常用的資料型態:字串(string)與串列(list)尤為重點

流程控制:if-else陳述、if-elif-else陳述、do-迴圈、while-迴圈

檔案處理:open().seek().readline().close()

例外處理:try-except-else架構

繪圖指令:pyplot函式庫、plot()xlabel()ylabel()、顯示中文字型、動畫

自訂函數:一般函數、partial函數、lambda描述式

類別與物件:語法架構、類別變數、物件變數、類別繼承

🎯多執行緒

基本觀念、使用情境

運行範例、同步機制

多執行緒結合繪圖應用 (v3v4v5)

多執行緒在影像處理的應用

多執行緒在網路程式的應用

🎯視窗程式技巧

常用PyQt元件

多執行緒

信號(signal)與槽(slot)函數

NotificationX – Best FOMO, Social Proof, Sales Popup & WooCommerce  Notification Bar With Elementor Support – WordPress plugin | WordPress.org作業I 參考程式

🔎Python Matplotlib Cheat Sheet

🔎Python基礎練/範例程式

🔎threading多執行緒處理

🔎視窗化程式之練/範例

2單元

通訊協定

🎯 Internet Communication

基本詞彙

不同型態的網路特性:傳輸速度與細胞大小(cell size)的關係

電路交換(circuit switching)網路,特性、優勢、限制

分封交換(packet switching)網路,特性、優勢、限制

管線效應(pipeline effect),封包標頭大小對於傳輸效益的影響

最短路徑演算法:Dijkstra’s AlgorithmBellman-Ford Algorithmapplication

Distance-Vector Routing,群播(multicast)

🎯 TCP/IP協定堆疊

 Why multi-layer communication

 Layered concepts, service primitives

 Basic operations of TCP/IP

 Wireshark to observe message flow

 Protocol encapsulation, decapsulation

 Transport layer: TCP vs UDP

 IP addressing, tools to trace whereabouts of IP addresses

 Common protocol headers

 Layering of the OSI model

🔎Why doesn’t Dijkstra’s algorithm work for negative weight edges?

 

3單元

Client-server架構

🎯 Socket程式架構

複習1-2單元第22—28

TCP client + TCP server實作

UDP client + UDP server實作

FTP client + FTP server實作

🎯微型伺服器硬體的安裝與設定

Jetson Nano Developer Kit (內有架設遠端視訊伺服器的操作指引)

樹莓派

NotificationX – Best FOMO, Social Proof, Sales Popup & WooCommerce  Notification Bar With Elementor Support – WordPress plugin | WordPress.org作業II 參考程式

🚀延伸作業二實作網路版的射飛靶遊戲,二位玩家競技誰先擊落飛靶 (skeetClientskeetServer)

📖 Socket programming

ü Interaction diagram

ü List of TCP/UDP port numbers

🧭安裝Jetson Nano的完整流程 (借予同學的設備中的黑色插頭可供4A5V電力,記得J48接腳跨接/短路;以micro-USB僅以2A供電,毋須令J48短路,但可能無法提供足夠電力啟動外接裝置(譬如攝像鏡頭))

4單元

使用curl與相關API

🎯curl與其他API實作網路傳訊應用

程式連結LINE Notify服務

程式連結電子郵件伺服器

實現LINE+email通知群組成員

下載網頁內所有檔案以利離線瀏覽

urllib函式庫實現LINE傳訊

以第三方開發之requests函式庫實現LINE傳訊

連結簡訊服務

連結TED網站下載素材,學習英語文的好幫手(一版使用說明程式碼二版使用說明程式碼)

本單元練習用程式碼

NotificationX – Best FOMO, Social Proof, Sales Popup & WooCommerce  Notification Bar With Elementor Support – WordPress plugin | WordPress.org練習測驗I

5單元

Google服務

🎯 程式連結Google語音服務

多執行緒工作模式

 

本單元練習用程式碼

6單元

物聯網

🎯 MQTT—Message Queuing Telemetry Transport

物聯網相關應用

NotificationX – Best FOMO, Social Proof, Sales Popup & WooCommerce  Notification Bar With Elementor Support – WordPress plugin | WordPress.org作業III 參考程式http://www.ee.yuntech.edu.tw/IMAGES/new_0001.gif

🔎開放大眾使用的MQTT Broker broker.emqx.io

🔎佈建MQTT Broker下載PC安裝程式

🔎Windows安裝MQTT Broker的障礙排除方式

7單元

網路資料庫

🎯 網頁伺服器+PHP+資料庫MySQL

網路資料圖像化

Ripped30 | Get in the Best Shape of Your Life in 30 Days練習

8單元

Node-RED

🎯 Node-REDhttp://www.ee.yuntech.edu.tw/IMAGES/new_0001.gif

環境建置、JavaScript語法、連結LINE Notify服務、語音介面、連結HTTP

網頁伺服器的替代方案

連結TCP/UDP、儀表板(dashboard)、連結MQTT、連結MySQL

連結OpenData

NotificationX – Best FOMO, Social Proof, Sales Popup & WooCommerce  Notification Bar With Elementor Support – WordPress plugin | WordPress.org作業IV

練習:MQTT+MySQL整合應用

參考資源

*   課程參考程式

*   TCP/IP Ports and Sockets Explained

*   Python Tutorial 👍

*   Python學習目錄👍

*   PyQt5 Tutorial 🤝 PyQt6 Tutorial 👍

*   PyQt5PyQt6的差異

*   Hosting Without The Need to Port Forward Using This Trick! 👍 Telebit 👍

*   Top 18 Most Useful Python Modules

*   為什麼成為一名工程師這麼難? (By Jewel)

*   搞笑談軟工:軟體開發與XX的關係 (By Teddy Chen)

*   科技如何綁架你的心智 (與課程無關,但藉此文讓同學反思是否已過度使用智慧型手機而不自知)

j0356582[2]有任何意見或建議,請隨時與老師聯絡;辦公室EL303;分機4245