原创 golang 中的內嵌(embeded)

內嵌與聚合:  外部類型只包含了內部類型的類型名, 而沒有field 名, 則是內嵌。   外部類型包含了內部類型的類型名,還有filed名,則是聚合。聚合的在JAVA和C++都是常見的方式。而內嵌則是GO 的特有方式。   type B

原创 TCP window Full

TCP window full, 是指的發送端發送的數據已經達到的接受窗口的上限。繼而停止發送,等待新的接收窗口的通告。 發生TCPwindow Full 的情況分析,下面得包是抓取的FTP的streamflow.  當時的情況是正在發生

原创 supervisord 配置羣組管理進程

http://supervisord.org/configuration.html#inet-http-server-section-settings https://blog.csdn.net/windy135/article/deta

原创 HTTP 文件上傳過程

轉載 首先來了解什麼是multipart/form-data請求: 根據http/1.1 rfc 2616的協議規定,我們的請求方式只有OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE等,那爲爲何我們

原创 base64編碼

從原理上搞定編碼(四)– Base64編碼   開發者對Base64編碼肯定很熟悉,是否對它有很清晰的認識就不一定了。實際上Base64已經簡單到不能再簡單了,如果對它的理解還是模棱兩可實在不應該

原创 TCP 慢啓動(slow start)報文觀察

慢啓動定義 慢啓動,是傳輸控制協議使用的一種擁塞控制機制。慢啓動也叫做指數增長期。慢啓動是指每次TCP接收窗口收到確認時都會增長。增加的大小就是已確認段的數目。這種情況一直保持到要麼沒有收到一些段,要麼窗口大小到達預先定義的閾值。如果發生

原创 linux 支持VLAN Trunk ethernet interface

http://www.microhowto.info/tutorials/802.1q.html   IEEE 802.1Q VLAN Tutorial Content 1 Introduction2 Tagging3 VLA

原创 TCP擁塞控制

TCP擁塞控制 關鍵字: 慢開始算法: 避免擁塞算法: 快重傳: 如果發送端接收到三個相同number的ack包,則不用等待發送包的的記時器超時,立即重傳接收方ack的包。 快恢復: 擁塞控制 網絡中的鏈路容量和交換結點中

原创 Golang的包依賴管理 (package dependency manager)

 Golang 的開發者對GOPATH都不陌生, 它是進行go 項目開發的’workspace’。 go項目的源碼,可執行文件,以及依賴庫的存放都是通過gopath的相關目錄結構進行組織的,而且go原生的依賴管理也是使用GOPATH進行組

原创 IP fragmentation IP 分片(網易的大包)

今天用tcpdump 和 wireshark 抓取了網易包,結果發現從網易發過來的TCP 分節都是經過重組的(reassemable). 最大的TCP分節到了8000byte左右。 但是觀察了TCP建立的三次握手的過程,本地和網易的MSS

原创 Concurrency Is Not Parallelism

 Rob Pike - ‘Concurrency Is Not Parallelism’ Concurrency is dealing lots of things at once Parallelism is doing lo

原创 suid seuid 當前用戶ID 有效用戶ID

如果你對SUID、SGID仍有迷惑可以好好參考一下! Copyright by kevintz. 由於用戶在UNIX下經常會遇到SUID、SGID的概念,而且SUID和SGID涉及到系統安全,所以用戶也比較關心這個問題。關於SUID、

原创 用戶態spinlock

spin用戶態加鎖源碼分析 源碼分析版本:glic-2.9 spin_lock加鎖 pthread_spin_lock: int pthread_spin_lock (lock) pthread_spinlock_t *lo

原创 linux find 命令使用記錄解析

1、find . -mtime 0    :查找當前目錄下的, 過去24小時內“文件內容”發生改變的文件。 根據手冊, 2、find . -mtime 1     : 查找當前目錄下的, 過去24小時   到過去48小時之內文件發生修改的

原创 ubuntu14.04 LTS 編譯安裝Python3.7.1

ubuntu14.04 LTS 編譯安裝Python3.7.1 之前一直用Python2.7開發,最近由於項目需要,需要上python3.7. 生產環境使用ubuntu14.04 或者 ubuntu12.04. 本以爲很簡單的事情,結果整