關於協程的設計目的

最近有人問起我關於Go語言中協程的設計初衷問題,正好說一下我對這個玩意的想法,同時這個也算是面試中可能會問起的問題。 從操作系統的層面上來在,線程是由內核創建和管理,運行在內核態的一種數據結構。協程是由用戶創建和管理,運行在用戶態的一種數據結構。 ...

2025年04月18日 · 2 分钟 · 644 字 · sdttttt

在Linux上數據包的路由行為

好長時間沒寫blog了,這段時間暫時沒有寫代碼,一直在倒騰軟路由的事情。 不過多虧了軟路由,我對網絡知識的儲備又增加了一些。 這篇文章是想好好講一下關於Linux上的網絡數據包的路由處理. 據我現在所瞭解到的知識,Linux上決定數據包路由流向的關鍵模塊有兩個, 第一個是RPDB(Routing Policy DataBase 路由策略數據庫),第二個是netfilter/iptables,很多人會把netfilter/iptables直接稱之為iptables,也沒有問題,但是嚴格上來說還是分開為好,netfilter是內核中的一部分,提供了一組數據包的hook. iptables則是實現了這些hook,並且提供了在用戶空間操作這些hook的辦法. ...

2024年06月12日 · 4 分钟 · 1569 字 · sdttttt

Openclash 米家遊戲故障

這幾天開始我有的時候登錄mihoyo的遊戲會出現1001_1等登錄問題, 這個問題目前和OpenClash有關. 但是暫時不知道具體是什麼原因導致的, 目前clash的p內核最新版本8.17是不能玩的. 就算登錄上之後, 遊戲的延遲也會莫名增加. 到999ms, 但是不會掉線. ...

2023年09月17日 · 1 分钟 · 337 字 · sdttttt

關於查找自己想要的軟件的問題

這是我一年多前學會的一個方法, 關於如何找相關類型或者優秀的軟件. Github上有許多的Awesome項目, 這些項目本來的目的就是推薦一些和你感興趣技術的一些相關資源, 可以利用awesome項目來找各種各樣的軟件, 或者是開發套件. ...

2023年09月12日 · 1 分钟 · 272 字 · sdttttt

Web也能做種啊?

最近瞭解到了WebTorrent這個軟件, 這個是一個基於Web技術做的一個Torrent的下載器, 還能播放視頻. 挺神奇的, 這年頭Web都能做種了? 因為在我的印象裡, 目前的Web技術是不支持原生TCP/UDP這些網絡協議. ...

2023年09月05日 · 1 分钟 · 222 字 · sdttttt

關於大文件的解析

最近碰上了一個需求,要做一個桌面程序,功能是將一個文件格式解析成json,然後在圖表上展示這個數據,但是這個文件可能有GB單位的大小,解析要防止爆內存,還有圖形也要防止崩潰。 文件格式解析倒反而不是什麼難點,主要是文件大小的問題以及格式,json是一種樹狀的類型,每個節點和上下文都是有關聯的,如果全放內存中非常容易爆內存 ,但是這個數據結構的特性導致很難將已經解析好的一部分數據直接先持久化,不然存取是一個問題,所以持久化肯定需要一些媒介。 ...

2023年04月12日 · 1 分钟 · 439 字 · sdttttt

Rust的一個函數參數簽名問題

這個問題煩了了我1個小時。 1fn parse_path_operation( 2 &mut self, 3 path: &str, 4 op: Option<Box<impl FnOnce(&mut Self) + ?Sized>>, 5 ) -> Result<bool, anyhow::Error> 6 7self.parse_path_operation(path, None::<Box<dyn FnOnce(&mut IDir)>>)?; 這裡記錄一下這個簽名的正確用法。 下次學乖了,這種編譯器大小未知的trait類型一定要用Box或者其他的智能指針包起來,我想寫成這樣的簽名完全不行,雖然被調用方的簽名能通過編譯,但是調用方的簽名始終有問題,網上找了半天,還是得用智能指針管用… ...

2023年04月06日 · 1 分钟 · 163 字 · sdttttt

Vim 快捷鍵記錄

其實真不該寫這個文章的,Vim我雖然算不上用的很多,但也用的不算少,可是我對Vim的快捷鍵一直都記不住,實際上如果記住了Vim的快捷鍵對於文本操作術的效率會有非常大的提升。 基本的操作我就不寫了,比如保存什麼的,主要是一些文本操作快捷鍵的記錄。 ...

2022年11月16日 · 1 分钟 · 396 字 · sdttttt

常用軟件合集

MacOS bilibili客戶端 Amphetamine 防睡眠 Telegram for MacOS Wechat QQ Firefox ESR VSCode Jetbrains Homebrew Lepton 代碼片段管理 Sequel Ace 數據庫 Flow 🍅計時器 Maccy 剪貼板管理 Flux 護眼 Clash for Windows XCode Karabiner Dynamic Dark Mode CotEdit DBeaver Notion Enh AltTab Keka Windows bilibili客戶端 Wechat QQ Bindzip Firefox ESR VSCode Jetbrains Lepton 代碼片段管理 Flux 護眼 Clash for Windows Clash Verge (雖然和CFW一樣是H5技術做的,但是用的是WebView) Fluent Search (這個對我來說比utools好用不少,可以搜索本地文件和瀏覽器記錄) Kayviz 改鍵位 Auto Dark Mode DBeaver Mailspring (這個我還在找更好的代替品) Bindzip

2022年11月15日 · 1 分钟 · 190 字 · sdttttt

遷移

這次又遷移到了NotionNext上,只需要編寫Notion, 就可以同步更新到博客網站上. 我已經有點厭倦了通過腳本或者是Git推送來更新blog的過程. NotionNext是隻能部署在Vercel上的,Vercel是一個類似github blog的靜態網站的部署平臺。 ...

2022年11月13日 · 1 分钟 · 338 字 · sdttttt