Then Notes 隨筆

設計模式

Singleton 設計模式:同步處理、雙重鎖定、靜態初始化

單一執行個體模式保證了在整個應用程式中,只有一個類別(Class)的執行個體(instance)存在,並提供一個全域的存取媒介供外部存取這個唯一的執行個體。在這篇文章中將會使用 Java 作為示範來介紹同步處理、雙重鎖定、靜態初始化實作單一執行個體模式的方式,並探討優缺點。

繼續閱讀
筆記

PoCL 編譯安裝並啟用 CUDA 支援

Portable Computing Language (PoCL) 是一個 OpenCL 標準的開源實作。本文將說明如何編譯 PoCL 並啟用 CUDA,並假設您已預先安裝好 Docker 環境、NVIDIA 的驅動程式與 NVIDIA Container Toolkit。

繼續閱讀
筆記

解決 Microsoft 帳戶無法登入遠端桌面

如果使用本機帳戶,通常要登入遠端桌面是沒有任何問題的,只要確定防火牆沒有擋掉 3389,且有做好轉發理論上都可以成功。但若使用的是 Microsoft 帳戶,則可能會發生明明輸入正確密碼仍然顯示錯誤的情形。

繼續閱讀

CMake – 跨平台的自動化建置系統

CMake 是一個用於管理程式碼建置(Build)的工具。最初,CMake 的設計是用來產生不同的 Makefile,但發展至今 CMake 已經可以產生現代化的建置設定檔,例如 Visual Studio 與 Xcode 的專案檔。

繼續閱讀
軟體 教學

aria2 設定教學 – 強大又輕巧的下載工具,支援 BT、斷點續傳

aria2 是一款強大又輕巧的下載工具,5 MB 不到的大小支援了 HTTP、HTTPS、FTP、SFTP、BitTorrent (BT 種子) 和 Metalink 等通訊協定。aria2 的原理跟 IDM 相似,都是透過分割檔案、增加連線數進行下載,可以提升下載速度。

繼續閱讀
筆記

透過 update-alternatives 切換軟體版本 – 以 gcc/g++ 為例

在 Linux 系統中,為了軟體的相容性或編譯的需求,時常會需要切換使用不同的軟體版本。update-alternatives 是一個在 Debian 及其衍生發行版(例如 Ubuntu)中用來管理與切換軟體版本的工具;而紅帽 Red Hat 家族的 Fedora、RHEL 與 CentOS 對應的指令則為 alternatives。

繼續閱讀