原创 聊一聊 C++的特性 explicit && 匿名空間

聊一聊 C++的特性 explicit && 匿名空間 explicit關鍵字 首先看一下explicit的作用:explicit 是避免構造函數的參數自動轉換爲類對象的標識符,平時代碼中並不是經常用到,但是,有時候就是因爲這個

原创 掌握這個技能,你可以暢遊github

掌握這個技能,你可以暢遊github 一、前言 ​ github,被戲稱爲全球最大的同性交友網站,主要彙集了大量的程序猿,是程序員的彙集地; 在github上有大量的開源項目供廣大程序猿參考和學習,但是很過人都不知道怎麼去使用

原创 恭喜你!發現寶藏一份---乾貨技術文章彙總

技術文章彙總 點個【在看】謝謝你,分享讓更多熱人加入我們的羣體 自從開通【CPP後臺服務器開發】微信公衆號以來,收穫了不少讀者的青睞,爲此非常感謝大家; 由於工作原因,一週基本會更新一到兩篇文章,有基礎的,也有比較深入一些的

原创 你必須知道的linux網絡

你必須知道的linux網絡 linux網絡模型 談到網絡模型,大部分都應該知道的是OSI七層網絡模型,在linux下一般說的是四層網絡模型,也就是TCP/IP模型這兩種我們都應該知道; 七層網絡模型 OSI參考模型分爲物理層、數

原创 linux服務器程序性能調試

linux服務器程序性能調試 CPU CPU使用率:除了空閒時間外的其他時間佔總 CPU 時間的百分比 平均CPU使用率:1-(新得空閒時間-老空閒時間)/(總新的CPU時間-總舊的CPU時間) 注:我們前面介紹的性能分析命令都

原创 redis分佈式鎖?坑那麼多

redis分佈式鎖?坑那麼多 一、白話分佈式 什麼是分佈式,用最簡單的話來說,就是爲了較低單個服務器的壓力,將功能分佈在不同的機器上面; 就比如: 本來一個程序員可以完成一個項目:需求->設計->編碼->測試 但是項目多的時候

原创 異步日誌文件模塊實現

異步日誌文件模塊實現 前先時間,在公司做的一個項目,當時並沒有覺得有什麼問題;但是後來發現,在寫日誌的時候,每次都是同步在寫,尤其是寫文件,這個是比較耗時的,所以就想優化一下; 優化方案: 異步讀寫 這裏的異步是利用隊列來做

原创 緩存穿透和緩存雪崩

緩存穿透和緩存雪崩 緩存穿透 概念 所謂緩存穿透就是說在緩存中不存在,然後直接在數據庫中查詢的現象,圖例如下: 場景 一般來說,緩存穿透的場景發生在故意攻擊的場景下;比如說,本來查詢意見商品的序號是正數,但是請求方總是

原创 C++11 線程共享狀態

C++11 線程共享狀態 一、問題提出 首先,我們假設一種情況,在多線程中,出現這麼一種情況: 兩條線程:thread1 和 thread2 某種特殊環境中,thread2需要得到thread1中的某個值才能進行數據處理,那怎麼

原创 轉載-socket總結

1. 涉及的一些背景知識 1.1. nonblock socket 描述 對應block,如果一個socket設置爲nonblock,那麼其相關的操作將變爲非阻塞的。這裏所說的非阻塞,並不是說異步回調什麼的,例如,調用recv()

原创 redis哨兵模式

redis哨兵模式 哨兵模式 概述 哨兵模式主要是基於前面用到的主從模式進行改造的,由於主從模式的缺陷,所以哨兵模式彌補了這以缺陷 優點 監控主數據庫和從數據庫是否正常運行 主數據庫出現故障時,可以自動將從數據庫轉換爲

原创 redis主從模式

redis主從模式 主從模式 在軟件架構中,master-slave(主從模式)是使用比較多的一種架構方式; 概述 主(master)和 從(slave)部署在不同的服務器上,當主節點服務器寫入數據時會同步到從節點的服務器上

原创 ZMQ從入門到掌握四

ZMQ從入門到掌握<四> 推拉模式 推拉模式,PUSH發送,send。PULL方接收,recv。PUSH可以和多個PULL建立連接,PUSH發送的數據被順序發送給PULL方。比如你PUSH和三個PULL建立連接,分別是A,B,C

原创 linux coredump調試

linux coredump調試 一、概念 coredump: Coredump叫做核心轉儲,它是進程運行時在突然崩潰的那一刻的一個內存快照。操作系統在程序發生異常而異常在進程內部又沒有被捕獲的情況下,會把進程此刻內存、寄存器狀

原创 boost庫使用—計時器類timer

boost庫使用—timer #### timer庫簡介 ​ timer是一個很小的庫,提供簡單的時間度量和進度顯示功能,也可用於性能測試等計時任務。timer庫包含三個組件:計時器類timer、progress_timer和