golang mvc pattern
golang mvc pattern 只前只有學過spring cloud 框架來使用mvc架構來重構一下 bash Copy root@HOME-X213212:~/golang/mvc# tree . ├── controller │ └── productController.go ├── dao │ └── dao.go ├── entity │ └── product…
ALL POSTS
golang mvc pattern 只前只有學過spring cloud 框架來使用mvc架構來重構一下 bash Copy root@HOME-X213212:~/golang/mvc# tree . ├── controller │ └── productController.go ├── dao │ └── dao.go ├── entity │ └── product…
golang mongodb & redis https://www.runoob.com/docker/docker-install-mongodb.html bash Copy docker pull mongo $ docker exec -it mongo mongo admin > db.createUser ({ user: 'admin' ,pwd: '123…
golang design pattern 一個專案可能要有設計模式來規劃,這樣在寫程式的時候才可以不會那麼雜亂 來學習一下設計模式 unit test code Copy ├── go.mod ├── main.go └── untils ├── untils.go └── untils_test.go code Copy package untils imp…
golang websocket server go Copy package main import ( "log" "net/http" "github.com/gorilla/websocket" ) func main () { upgrader := & websocket . Upgrader { //如果有 cross domain 的需求,可加入這個,不檢查 c…
grpc code Copy apt install protoc-gen-go apt install protobuf-compiler proto https://www.coder.work/article/198885 https://blog.csdn.net/qq_33565142/article/details/109647937 https://www…
golang Gorm orm & org sqllite install sqlite3 code Copy go get -u github.com/mattn/go-sqlite3 http://tw.gitbook.net/sqlite/sqlite_create_database.html create sqlite3 database code Copy CREAT…
golang traffic shaving 模擬 time.Sleep(2 * time.Second)模擬server來不及處理這個request 假設 ddos 攻擊runtime.NumGoroutine() 可以做削峰,也可以防止ddos smallPool = make(chan struct{}, 100) 也可為我們的server做buffer go Copy…
golang channel 以下列例子假設 pump 為生產者, suck 為消費者,假設消費者 先執行的話則有可能 會阻塞, 所以預設buffer 為2的情況下,可以看到我們可以在suck function 透過按下 enter passue 繼續執行 可以看到buffer 永遠會先有值,則 suck 不會發生阻塞, 這樣我們的程式就不會阻塞,可以嘗試更改 buffer 為…
golang simple-webserver go Copy package main import ( "fmt" "log" "net/http" "sync" ) var mu sync . Mutex var count int //http://localhost:8000/?parameter=value&also=another func main () { h…
rust mutithread web-server Diesel orm framework Diesel https://diesel.rs/ 在開始使用前要先安裝 Diesel 的工具,請輸入以下指令: $ cargo install diesel_cli 預設它會開啟所有能支援的資料庫,若你只需要它支援部份的資料庫可以用以下指令 $ cargo install dies…
rust mutithread web-server 我們來創建一個signle thread 的 web-server 我們來監聽一下連接埠7878 rust Copy use std :: net :: TcpListener ; fn main () { let listener = TcpListener :: bind ( "127.0.0.1:7878" ). un…
learn rust 紀錄一下學習rust 筆記,目前大概會以寫web可能會用到的業務邏輯來看大概會用到rust什麼特性。 https://doc.rust-lang.org/stable/std/string/struct.String.html http://jxz1.j9p.com/pc/rustqwzn.pdf https://course.rs/basic/resul…
mini-docker 最近看到docker 又看到了podman 突然想了解一下容器底層到底如何實現,整體步驟參考 https://coolshell.cn/articles/17010.html 還蠻清晰的,透過linux namespace最後可以看到用簡單的c語言就可以實現一個container 概念 code Copy #define _GNU_SOURCE #inc…
GCC 12 static analyzer 靜態分析器檢測流程,分析一下gcc12 目前檢測流程 Analyzer Internals https://gcc.gnu.org/onlinedocs/gccint/Analyzer-Internals.html debug gcc compiler code Copy sudo apt install gcc-multilib…
xv6 network-net 3 最近土法煉鋼完成三方交握的部分,沒錯這個實驗還在繼續,為了證明最初的概念是對的。 server 我們要完成的是三方交握的第一階段,也就是 bind - listening - accept 能不能節省掉這個步驟是可以的 當我把sockecvudp while 迴圈裡 if判斷是拿掉的當下就是變成所有流量只要有socket 監聽就可以直接回傳。…
xv6 network-net 2 5hr 這一次的trace 要結合前面的部分內容來推測,要完成一個 multi-process ping 改裝成 server bind listen 到底會經過那些步驟. 就已中斷來說我們網卡確實是可以接收封包 但是僅限於 udp 為了證明上一次的思考方向是對的我們嘗試構造一個tcp 連接,不知道會不寫到http server不過大致上可以…
xv6 network-net 快速記錄一下在xv6 system 上如果要實現一個網卡驅動大致上會經過哪一些環節,算是興趣的很想知道一個OS如何實現網卡連接外部設備我們直接跳最後一個lab來了解一下,這邊只是粗略分析,結合以前看的一些東西做一些聯想與總結,在某些部分可能有理解錯誤請見諒。 main.c 從 asm 一路跳轉過來 main,讓作業系統可以透過 c 語言去撰寫,中…
Custom Vscode Extension Analyzer Debug 2 vscode Extension 先開放也無所謂(? typescript Copy // The module 'vscode' contains the VS Code extensibility API // Import the module and reference it with…