遊手好閒的石頭成
行於巷弄若於曠野,居於市井如於山巔。不知其何許人也。

我的程式源碼託管於 github
www.rocksaying.tw
rocksaying.github.io
石頭閒語
@tw_rocksaying

快報或告示

近日開始放置 Google AdSense 廣告。在文章頂端以及結尾處,各放一個廣告。

文章的標籤也做了調整,現在標籤是用 google adsense 搜尋。

希望可以彌補我的 domain name 註冊費。

為客戶轉移 NetWare 檔案服務到 Linux 的 mars_nwe (NetWare Emulator)

前言

Novell NetWare 是一套在三、四十年前相當流行的網路檔案服務系統。 當時許多 DOS 電腦就是靠這套服務系統共用檔案,讓 DOS 系統也能架構多人共同作業的環境。

雖然 NetWare 系統相當古老了,但資訊界有一個傳統法則,「東西沒壞就不要動」。 秉持這個傳統法則,仍有些中小企業的資訊系統就是用 DOS 加 NetWare 的環境在運作。 堪稱中小企業的 COBOL

不過 NetWare 真的太老了。它能安裝的硬體規格也都跟著過時了。 客戶怕有朝一日他家的 NetWare 電腦掛掉沒零件可換,希望我能幫他找一個現代化的解決方案。 也方便他日後將資訊系統轉移到現在流行的 Web 架構上。

客戶提供了一台 NetWare 電腦(備品)和一台連線作業的 DOS 電腦。 客戶需求是把 NetWare 電腦裡的資料都轉移到新的系統上,而且 DOS 電腦一樣能上線作業。

SQL 與 ID 欄位的處理策略

我們設計資料庫應用時,都會遇到新增資料後產生一個識別代號(ID)的設計需求。但遺憾的是, SQL Standard 並沒有定義任何產生識別代號的型態或函數。但這種需求實在普遍,於是各種資料庫系統都發展了自己的一套做法。

我在「SQL Datatypes 相容性整理」一文中,整理了 SQL Server, PostgreSQL, MySQL, SQLite 四種資料庫各自產生識別代號的方法。這種各家不相容的狀況,使得識別代號這種普遍的設計需求,存在可攜性陷阱。

MQTT用戶端入門 - 六、透過NB-IoT電信模組發送MQTT訊息,以Python和PHP為例

NB-IoT 或 LTE-M 都是 3GPP 電信組織針對 IoT 應用制訂的低功耗廣域無線電技術(LPWAN)。NB-IoT 資料透過 LTE/4G 電信網路傳遞。簡單說就是和 LTE/4G 共用基地台。你的手機收得到 LTE/4G 訊號的地方,你的 IoT 裝置就能使用 NB-IoT 電信模組發送資料。而 NB-IoT 模組也可以直接插一般 LTE/4G SIM 卡使用,只是資費比 NB-IoT 貴。

我在前公司接觸過兩家廠商的 NB-IoT 模組,一為 u-blox 的 SARA-N/SARA-R4系列,另一為 SIMCOM 的 SIM7000系列。因為是公司產品,不是我的著作權,所以不能公開程式碼。但可以說使用經驗,以及如何透過 NB-IoT 模組的 AT 指令發送原始的 MQTT 封包。

MQTT用戶端入門 - 五、.NET/C# 用戶端程式設計

.NET 平台可以使用套件 System.Net.Mqtt 設計 MQTT 用戶端程式。從套件的名稱空間可知,這是 .NET 平台正式的 MQTT 套件。由微軟旗下的 xamarin 團隊負責開發,專案托管於 System.Net.Mqtt 專案

MQTT 概觀請看 一、在 Debian 8 安裝 mosquitto

本文範例使用 C# 語言撰寫。並且說明三點使用須知:

  1. client ID
  2. 同步方法 Connect
  3. 分別主題處理方法

C# 的 this 參數修飾字與 extension method 說明

朋友前兩天問了個 C# 語法問題:

問個蠢問題

`public static byte[] xxxxxxxx(this short x)`

這種場合this的用意是甚麼?

第一眼,我的想法是「很像 Python 的語法」。

事實上,打從 C++ 開始,我用過的 OOPL 的 method call ,其隱含的意義都是 method(this) 。 表面上,我們寫成 個體.method() ,但實際上,編譯器是弄成 method(個體) 。「個體」 是函數方法隱含的第一個參數。因為這樣,這個函數才知道操作對象是哪個東西。

CommonGateway HTML公用函數與預設首頁

CommonGateway 是我多年前設計的迷你框架。我最初用它實作 RESTful API 項目,並沒有放太多用於網頁設計的內容。最近兩年用它設計一些網站專案。為了方便工作,增加了兩項關於網頁設計的功能:

  • HTML 公用函數
  • 預設首頁控制項

CommonGateway Authorize 認證註記功能教學

多年前,我寫了一個 PHP 框架 CommonGateway。我一直都用這個迷你框架實作 RESTful API 。只不過,以往都是用在區網內專案,或者 OpenData/OpenAPI 的案子,所以一直都沒想過用戶認證授權的功能。

直到去年,我接了一個案子。案子要求用戶經認證授權後才能存取 API。所以我參考之前使用 ASP.NET Core 的經驗,為 CommonGateway 增加了一個 @authorize 的註記,用於註記控制項或控制項方法是否要求用戶授權。

本文說明以 CommonGateway 框架設計 RESTful API 或網站時,如何使用認證授權功能。

分頁瀏覽
Programming
電腦技術
經濟學/奧地利經濟學派
閱讀隨筆
休閒生活
快報記事