跨平台是一種趨勢,但也造成開發上許多不便之處。例如:有些服務 (Server) 只能運行在 Windows 環境,而對應的用戶端 (Client) 開發被要求在 Linux 環境。這種情況下,可能會被較多人採用的是 VM 的技術,用以建置這樣的開發環境。得益於 Windows 近年來推出的 WSL2,使虛擬化技術更進一步,成為一種解決方案,因此這篇文章將記錄如何安裝 WSL2 並搭配 VS Code 在 Windows 上進行 Linux 應用開發。
[NFC] NTAG213 記憶體解析
若要撰寫與 NFC 讀取相關的應用,需要先了解對應的 Tag 內存使用方式,這篇文章會以市面上常見的 NFC 晶片 NTAG213 來做說明,透過範例解讀讓讀者更容易理解 Datasheet 內的敘述。
[NFC] NDEF 解析
RFID (Radio Frequency IDentification) 是一種身份識別技術,採用無線通訊對目標標籤進行識別與讀寫;NFC (Near-field communication) 算是 RFID 的一種應用情境,但其通訊距離較短,適合用在注重安全性的應用上,例如:電子支付等。NDEF (NFC Data Exchange Format) 為 NFC 的主要資料格式,使 NFC 標籤 (Tag) 與讀取器 (Reader) 不會受到廠商的限制。這篇文章主要舉例說明如何解讀 NDEF。
[Git] 設定不同路徑或單一 Repo 擁有各自的作者資訊
Git 起手式中很重要的一件事就是設定作者資訊,因為不同的專案想要顯示的作者資訊可能會想要不同。例如:自己的專案當然就是以個人的 E-Mail 作為作者資訊,但公司的專案可能就會需要以公司的 E-Mail 來顯示。這裡記錄如何設定預設作者資訊、特定路徑預設的作者資訊、單一 Repo 作者資訊。
Q Learning 自走迷宮
一著名的強化學習演算法為 Q Learning,可以這樣比喻它學習的方式:小孩對世界充滿了好奇並探索時,會觀察父母的表情來判斷當下的行為是好或壞,或者做什麼事會得到糖果或被懲罰,再藉由這些過去的經驗得到更多獎勵。此篇文章藉由 Q Learning 的想法來實現 AI 自走迷宮,透過簡短的程式讓 Q Learning 的學習步驟具象化,非常適合已先自行閱讀 Q Learning 演算法相關文章但頭腦還處於混沌、難以想像 Q Learning 實際運作的讀者。
Gist 幫你吸引目光 - 文章點閱率顯示
GitHub 的 Gist 服務不僅能拿來紀錄程式碼片段、寫筆記,還能讓你的 GitHub Profile 更加引人注目。此篇文章紀錄如何使用 Gist API 將部落格點擊率放置到 GitHub Profile!
[Tool] 傳輸測試必備 - 垃圾檔案製造機
大量的虛擬檔案 (Dummy file) 在傳輸測試中起到了至關重要的作用。需先有一定的檔案量,才有可能測試出較無偏差的結果,dfgen 這個工具允許使用者先行指定單一檔案大小的範圍,再指定總檔案容量大小,最後生成對應的 Dummy file。
[爬蟲] Selenium+Tkinter 製作具有驗證碼的網站登錄器
爬取帶有驗證碼登入的網頁時,通常會讓 Selenium 在登入頁面短暫的停留幾秒,讓自己可以手動輸入驗證碼,壞處是在時間上會讓人緊張。而此文章採用另一種方式,使用 Tkinter 模擬登入視窗,讓使用者可以直接在視窗中輸入帳號、密碼與驗證碼,接著交由程式繼續執行登入後的爬蟲動作。
[ReactJS] 從頭建立一個 ReactJS 專案
已經有許多套件 (如:CRA、Next.js) 幫忙將 ReactJS 的開發環境包好,讓前端工程師不需花心力在 Webpack 與 Babel 的設定上,對初學者來說是友善的。但相信到一定的程度後,會想要從頭建立一個 ReactJS 專案,藉此了解每個依賴包的作用。因此這篇文章記錄如何從頭設定 Babel、Webpack 讓 ReactJS 可以正常運作,讓未來的自己與讀者們可以從中複習與學習。
[C#] 在 Linux 架設 ASP.NET Core 應用程式
ASP.Net Core 是微軟生態系未來的趨勢,主要優勢是可以跨平台開發,使用一組程式碼便能在各平台上運作。這篇文章的情境是:在 Windows 上開發 ASP.Net Core 應用程式,且發布至 CentOS 上運行,並使用 Nginx 作為 Reverse Proxy。