2022 Fall 課程 w12

2022 Fall 課程進入第十二週, 決定將計算機程式與電腦輔助設計實習課程的考試題庫公佈, 並希望在下週看看各班小組能夠提出甚麼樣的考試題目來.

紙本或電子教科書

上過 KMOLab 開設的課程, 就知道在計算機程式、網際內容管理、電腦輔助設計與實習、協同產品設計與實習等課程的教學, 沒有紙本教材, 同時也不會有紙本的考試, 所有的教學內容都是數位資料, 學生必備的除了電腦以外, 就是耳機、隨身碟以及想要學習的心.

這裡可以讀到有關紙本與數位教科書的優缺點比較, 儘管紙本教材可能永遠不會退流行, 但數位教材的好處將會逐步凌駕紙本類比教材, 也比較適合用來解決零碎且日趨複雜的各種專業難題.

近端、遠端與雲端

KMOLab 的課程集合 Python、C++、NX、Solvespace、Onshape、CoppeliaSim、Github 以及自行編寫的網際內容管理系統及零星的小程式片段, 課程的目的在探討機械設計工程師該如何面對近端、遠端與雲端工具?

這裡所謂的近端指的是工程師面前的數位裝置, 包括個人電腦、平板與手機, 而遠端則指個人電腦或伺服器, 但位於系上工作站室, 至於雲端則泛指 OneDrive、Github、Replilt 與 Onshape 等由大型公司提供的免費帳號, 可以將近端與遠端的內容同步至這些雲端主機.

近端的個人電腦間的工作環境, 除了依賴 Windows 10 或 11 外, 還包括 USB 隨身碟, 其中存放者 Python、C 與 C++ 的解譯或編譯套件, 也放入可攜的 NX、Solvespace 與 CoppeliaSim 等電腦輔助設計與模擬套件.

NX 之所以能採可攜啟動, 主要原因是其源自 Unix 操作系統下各功能模組的獨立性, 只要在操作系統設定環境變數, 並且連網至認證主機後就可啟動, 而 Solvespace 與 CoppeliaSim 則因為都各自能跨操作系統平台, 所以在 Windows 環境可以只依賴隨身碟上的系統動態連結程式庫就可以運作.

只是當 KMOLab 課程希望讓所有學員都利用網路遊走在近端、遠端與雲端時, 已經無法分配給每一位學員連外的 IPv4 網路位址, 因此只能採 DHCP6 讓所有學員在電腦輔助設計室中的 PC 取得 IPv6 網路位址, 這就造成隨後所使用的各種網路協定, 都必須確認是否能夠在客戶端或遠端僅支援 IPv6 環境下, 與雲端上的伺服器穩定連線.

而許多人可能也弄不清楚, 就連中華電信的光世代也並非全時都提供用戶 IPv4 + IPv6 的網路環境, 幾乎每隔一陣子, 光世代在某些時段也會只給用戶 IPv4 的環境, 同時對於一般用戶也只核撥固定的 IPv4 網路位址, 而仍不提供一般用戶固定的 IPv6 網路位址. 因此希望在近端、遠端與雲端上平步設定防火牆連線的內容, 也必須設法因應.

stud 伺服器

2022 課程中長出 stud 伺服器, 讓所有學員都能在其上執行動態的個人網站, 其實是為了取代雲端的 Replit 與 Heroku 服務, 但至截至目前為止 NX2027 無法在 Ubuntu 伺服器上安裝, stud 伺服器也就無法採網際模式直接與 NX2027 互動, 還是需要一台 Windows based 的伺服器能夠同時執行 Python 3.8.10 以及 NX2027. 只是若要兩百多人同時在一台 Windows 主機上, 該如何設置?

目前想到的方式是透過 OpenSSH 伺服器, 讓各用戶以 ssh 遠端登入到 Windows based NX server, 然後透過動態個人網站的 Flask Blueprint 編寫延伸程式, 透過 Python 3.8.10 與 NX2027 及 CoppeliaSim 進行互動.

所以目前的問題是 Windows bulk account creation、OpenSSH server installation and setup、NX2027 environment setup 以及遠端登入後採 Github Token 或 SSH 協定對 Github 連線等議題.