原创 華爲雲TaurusDB性能挑戰賽比賽記錄

華爲雲TaurusDB性能挑戰賽KV_Store_Engine_TaurusDB_Race A C++ KV Store Engine (華爲雲TaurusDB性能挑戰賽,司機隊,初賽第11名,複賽第26名) Github:htt

原创 2019虎牙C++後臺開發實習生面經

本人2021屆畢業的C++菜雞,提前一年感受下面試流程,積累一波經驗,在此分享一波虎牙C++後臺開發實習生面經,人生第一次互聯網公司現場面,激動又緊張。 文章同樣發在了牛客網上了,鏈接:https://www.nowcoder.com/d

原创 服務器accept隊列溢出及其解決

之前對我的NetServer服務器進行測試,在經壓力測試一段時間之後,數據曲線降0,之後所有的連接都連不上,我認爲不是服務器掛了就是監聽端口出問題了,於是看了下服務器還在運行,端口還在listened(通過命令查看:netstat -lt

原创 Ubuntu16.04 虛擬機環境下搭建DPDK教程

Ubuntu16.04 虛擬機環境下搭建DPDK教程 Date:2018年10月29日   我的虛擬機硬件環境:2核CPU,2G內存。 添加多兩塊虛擬網卡,在virtualbox或者VMware軟件裏面設置 兩塊爲intel網卡,網卡*3

原创 網絡編程 I/O 模型

一、I/O 模型 阻塞式 I/O 非阻塞式 I/O I/O 複用 信號驅動 I/O 異步 I/O 五大 I/O 模型比較 二、I/O 複用 select poll 比較 epoll 工作模式 應用場景 參考資料 一、I/O 模型

原创 現代操作系統 第4章 文件系統

4.1 文件 1.擴展名:UNIX中是一種約定,Windows則是可以在操作系統中註冊; 2.文件結構:1.文件看成字節序列;2.記錄序列;3.樹; 3.文件類型:普通文件、目錄文件、字符特殊文件、塊特殊文件; 普通文件:ASCII文件和

原创 Linux內存管理

系統中內存使用情況 cat /proc/meminfo 進程的內存使用情況:/proc/28040/status 查詢進程 cpu 和內存使用佔比 top 虛擬內存統計 vmstat 查詢內存總使用率 free   https://clo

原创 現代操作系統 第3章 存儲管理

3.3 虛擬內存 每個程序擁有的地址空間被分爲很多塊,每一塊稱爲一頁page,page被映射到物理內存。當程序用到的部分不在物理空間時,產生缺頁中斷; 分頁: 1.程序產生的地址稱爲虛擬地址,構成的空間稱爲虛擬地址空間; 地址空間的單元稱

原创 現代操作系統 第2章 進程與線程

2.1 進程 進程:正在執行的程序的實例; 進程退出原因: 1.正常退出; 2.出錯退出;(自願異常處理) 3.嚴重錯誤;(內存溢出或引用不當、除0、非法指令) 4.被殺死; 進程層次結構: 1.Windows沒有層次概念; 2.進程和其

原创 gdb使用學習

GDB 調試程序一般有三種方式 gdb filename gdb attach pid gdb filename corename、 1.直接調試目標程序 附加程序,然後run起來; 2.附加進程 調試正在運行的程序; gdb attac

原创 Effective C++

閒話:C++程序員分爲兩類:讀過Effective C++和沒讀過的。   條款1:視C++爲語言聯邦 過程、對象、泛型、元編程、函數式; 對內置類型而言,pass-by-value通常比pass-by-reference高效; 對於用戶

原创 網絡編程中常見的基礎問題

1.服務器執行了listen監聽端口,但是不accept或accept失敗會怎樣? 結論:客戶端依然可以發數據,服務器收到數據後一樣會迴應ACK,把數據緩存起來,等下次accept成功後,再read讀數據。 客戶端連接成功後發送數據,此時

原创 C++高性能網絡服務器項目(1)——概述

A C++ High Performance NetServer GitHub項目地址:https://github.com/chenshuaihao/NetServer 如果對您有幫助的話,歡迎點贊star哦!謝謝大家! Intr

原创 Python 通過微信發送郵件實現電腦關機

Python 通過微信郵件實現電腦關機 通過手機微信發送QQ郵件給sina郵箱,然後利用python的pop3定時檢查sina郵箱的郵件主題以及郵件來源,並在電腦執行相應的命令行實現關機。 Email_test【V1.0】 imp

原创 關於fork()函數的一點思考

關於fork()函數的一點思考 最近看操作系統的進程部分,對fork()函數的有些疑惑,於是查書本,看博客,花了一晚上時間研究了一下fork()的執行過程,終於有了一些收穫。 fork()對初學者來說還是比較容易混淆的,特別是當多個for