如何在Windows 10上將Ubuntu從WSL1升級到WSL2
如何在Windows 10上將Ubuntu從WSL1升級到WSL2我是使用 win10 的 ubuntu 出現這個問題 123sudo systemctl status dockerSystem has not been booted with systemd as init system (PID 1). Can't operate.Failed to connect to bus: Host is down win 10 舊版本電腦在使用WSL 上會遇到比較多問題需要排除 原因在Windows 10上,Windows Subsystem for Linux (WSL) 提供了一個運行Linux二進制執行檔案的兼容層,無需使用傳統的虛擬機或雙重啟動設置。WSL有兩個版本:WSL1和WSL2。WSL2相較於WSL1提供了更完整的Linux內核支持和改進的性能。本教程將指導您如何將Ubuntu從WSL1升級到WSL2。 前提條件 確保您的Windows 10版本至少是2004(組建號19041)或更高版本。 確保您已安裝了Windows Subsystem for...
RTSP 透過OBS直播到 youtube
RTSP 透過OBS直播到 youtube我一開始是看到這篇教學https://www.jinwei.tw/youtube-obs-rtsp/ 但是來源一直吃不到rtsp 後來看到這一篇https://www.mylumens.com/Download/OBS%20Plugin%20and%20Dockable%20Controller-User%20Manual-Chinese-2021-0823.pdf 的設定可以選擇VLC 但是我的OBS 沒有VLC選項,找到這一篇https://youtu.be/Gr3XIo7exSg?si=Oe9xsCckZhZtYqn2 提到 OBS 跟VLC 要安裝同樣bit版本 (64 或是...
使用Go與Gin框架串接Modbus TCP的完整指南
使用Go與Gin框架串接Modbus TCP的完整指南最近在著手開發一個跟漁農業相關的專案,需要透過 Modbus TCP 協定來取得設備上的資訊,這篇文章會紀錄一下 Modbus TCP 的基本概念及協定規格。 我們將探討如何使用Go語言和Gin框架來實現與Modbus TCP裝置的通信。這個主題對於需要在網頁應用中集成實時裝置控制和監控的開發者特別有用。我們會從基本原理開始,介紹測試工具,提供程式碼示例,並探討如何以MVC架構進行切分,以實現更好的代碼組織和維護性。 什麼是Modbus TCP? Modbus 是在工業領域中廣泛使用的訊息交換規範,而 Modbus TCP 則是 Modbus 的一種實現,它使用 TCP/IP 作為傳輸層協定,因此可以透過網路傳輸。 Modbus是一種廣泛使用的串行通信協議,被用於連接工業電子裝置。Modbus TCP則是其基於TCP/IP的變種,允許這些裝置通過網路進行通信。Go語言擁有出色的網路處理能力,配合Gin框架的高效率和簡潔性,可以輕鬆搭建出一個用於與Modbus裝置通信的後端服務。 關於...
Go 接收 RTSP 即時影像
Go 接收 RTSP 即時影像前言目前因為工作需求要接收RTSP即時影像,並且顯示在前端網頁 使用工具RTSPtoWebRTC:https://github.com/deepch/RTSPtoWebRTC RTSP...
GVM:Go 版本管理器的基本介紹
GVM:Go 版本管理器的基本介紹GVM 是什麼? https://github.com/moovweb/gvmGVM 是 Go 版本管理器,是一個用於管理多個 Go 版本的命令行工具。允許開發者輕鬆切換、安裝和使用不同版本的 Go,從而提高了開發效率並幫助保持項目環境的一致性。 GVM 的特點版本切換:GVM 允許您在不同版本的 Go 之間快速切換,方便您在多個項目間工作,每個可能需要不同版本的 Go。易於安裝:通過 GVM,安裝新版本的 Go 變得非常容易,只需一條簡單的命令。版本隔離:GVM 為每個版本的 Go 提供了隔離的環境,確保了不同項目的依賴和配置不會互相干擾。 如何安裝 GVM在大多數 Unix-like 系統(如 Linux 和 macOS)上,可以使用以下命令安裝 GVM: 1bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer) 安裝完成後,可能需要重啟您的終端或者重新加載配置檔案(例如...
Next JS 和開放式 AI / GPT:下一代 Next JS 和 AI 應用程式
Next JS 和開放式 AI / GPT:下一代 Next JS 和 AI 應用程式這篇是學習Next JS 和開放式 AI / GPT:下一代 Next JS 和 AI 應用程式 課程的紀錄,課程上有使用到以下工具 OpenAI 的 GPT 在應用程式中實現 AI 生成的內容 Auth0 驗證 Next JS 應用程式 Tailwind CSS 設計 Next JS 應用程式 MongoDB 儲存 Next JS 應用程式的資料 Stripe 向客戶收費 其中發現台灣沒辦法使用 Stripe 收費這邊比較困擾一點,另外其他功能都有成功設定。 第一堂課程課程教學Github: https://github.com/tomphill/blog-standard-courseReact基礎課程: https://youtu.be/HVFSgIVXcD4第一堂Github連結: https://github.com/tomphill/nextjs-openai-starter課程連結:...
GO 使用Gin和Swagger設定自動產生文件檔案
前言當開發RESTful API時,有效的文檔是極其重要的,它可以幫助開發者快速理解和使用API。Swagger是一個強大的工具,用於自動生成和維護API文檔。 本文將指導你如何使用Swagger在Gin框架中自動生成API文檔,並提供一些維護的最佳實踐。 為什麼選擇Swagger?1.標準化: Swagger遵循OpenAPI規範,這是一個業界標準。2.交互性: Swagger UI允許用戶直接從文檔中測試API,無需其他工具。 安裝流程安裝必要的套件首先,我們需要安裝swag CLI工具和Gin的Swagger中間件。 swagger cmd: 用於生成介面文件的命令列工具。 1go get -u github.com/swaggo/swag/cmd/swag Starting in Go 1.17, installing executables with go get is deprecated. go install may be used instead: 1go install...
Docker - MySql 資料庫 Container 內容持久化
前言這篇是我看到 [Docker] 如何讓 MySql 資料保存,不會隨著容器而消失跟著實作的紀錄 Container 內容持久化開發的時候 Docker 扮演一個重要的角色,我們能透過 docker-compose 快速的啟用一些需要使用到 App服務. 此篇就是要來介紹,如果透過 Volume 的方式,將 MySql Container 內容持久化。 Docker 指令介紹根據 dokcer-compose .yaml 啟動 1docker-compose up 停止 contanier 1docker-compose stop 移除 container 1docker-compose down 使用 docker 指令的時候,很會透過 docker-compose down 來關閉 container,這時候就會發現存放在 mysql 中的 資料,在下一次啟動 container 的時候就會全部消失。 如何解決 docker-compose down 資料也不會消失在 yaml 中新增 Volumes,Volumes 會將資料存放於 Container...
使用 Go 來寫一個 Repository Restful API 的留言板
前言這篇是我看到這篇文章https://github.com/880831ian/go-restful-api-repository-messageboard?tab=readme-ov-file跟著實作練習的紀錄,是使用 Go 來寫一個 Repository Restful API 的留言板,並且會使用 gin 以及 gorm (使用 Mysql)套件。另外有加入 docker-compose設定跟mysql 連線調整。 開發環境Go https://go.dev/ GIN框架 https://gin-gonic.com/ Mysql Docker 檔案結構123456789101112131415.├── controller│ └── controller.go├── go.mod├── go.sum├── main.go├── model│ └── model.go├── repository│ └── repository.go├── router│ └── router.go└── sql ├── connect.yaml └──...