原创 linux冷知識(1)

1. Linux:僅僅是一個內核,不包含其他應用程序。 GNU/Linux:通常以源碼方式提供,包含提供的開源應用程序,這樣給使用者使用方式的更多的選擇,區別於windows,我們將windows系統安裝在裸機上,幾乎所有功能接口

原创 數組、鏈表、跳錶基本特性

一.數組: 優點: 地址連續,訪問任意一項都是常數級別O(1); 缺點: 刪除,增加元素時間複雜度高,需要遍歷,一般爲O(n),插入前保證數組的size足夠; 數組size較小,會進行擴容,拷貝等低效的操作。 二.鏈表:

原创 C++中常見的三種分支結構

if…else語句 switch…case語句 使用map表,key = function_name,value_name = function_pointer. 分以下幾種情況: 對於需要分支結構的情況,如果分支較少,簡簡

原创 git add工作區所有修改

git add . 有的時候有些文件會被忽略,add沒效果 git add. -f 強制將當前工作區所以文件add 點贊 收藏 分享 文章舉報 KingOfMyHeart

原创 初識Nginx

一.主流web服務器:Nginx,Apache,Tomcat 二.Nginx的優點: 高併發,高性能 可擴展性好,生態圈豐富 高可靠性,宕機可能性極低 熱部署,熱升級 BSD許可證,開源免費,商業化合法 三.Nginx的三個主

原创 git不保留本地修改,用遠程強制覆蓋更新本地分支

git fetch --all git reset --hard origin/master

原创 分支與master保持同步

使dev保持與master同步 git checkout dev git merge master

原创 git stash和git stash pop

假如我當前在分支dev上工作,現在需要切換到其他分支,如master,但是我又不想提交,希望能保存一下當前工作進度: git stash 然後checkout到master做其他事情,做完以後回到自己的dev分支上,恢復原來的工

原创 Pull is not possible because you have unmerged files.

原文鏈接:https://www.cnblogs.com/highriver/archive/2012/01/06/2314175.html pull會使用git merge導致衝突,解

原创 RPC:遠程過程調用

一、本地過程調用: 假設我們需要一個計算器,專門處理算術運算,我們將在當前的進程地址空間內實現這麼一個類,然後提供一些接口,比如需要加法運算,在本地如此調用: class Calculator{ public: int add(

原创 c++filt

遇到未定義或者未知的符號,c++filt + 符號名,如: 在運行公司代碼時出現一個未定義的符號: unknown symbol: _ZN10SiplTester13SetConfigPathERKNSt3__112basic_s

原创 Linux內存管理基礎---pt、je、tc三種不同malloc版本簡介、內存優化思路、夥伴系統簡介

一、x86 Linux 32位系統虛擬地址空間佈局: 這裏的段基址從0開始,可以訪問管理的內存是4G;如果是段基址是從2G開始的,那麼內存可以達到6G. Linux進程使用內存的幾種類型: 初始化數據段、未初始化數據段; 棧(

原创 ZeroMQ(一)

本文圖片來源網絡,侵權聯繫刪除 一、ZeroMQ簡介: 是一個處理數據傳輸的庫,重點在傳輸上,看起來它像是在socket上面封裝了一層,讓我們可以很容易的利用它來做N對M的數據傳輸,在分佈式系統中很方便,在接收端它有round-r

原创 Linux常見上下文切換---理論篇

文章圖片來源網絡,侵權聯繫刪除. 一、CPU上下文: PC寄存器:存放着CPU正在執行的指令或者CPU將要執行的指令; 其他寄存器,CPU身邊速度極快的內存,保存着其他重要的信息。 CPU上下文切換:由於任務(進程、線程或者

原创 記錄動態調參的前端和後端的編寫過程(前端pb消息的使用,初識發佈訂閱模式)

一.場景: 給公司做一個動態調參用的前端界面,是讀取json文件動態的生成滑塊和勾選框,然後測試將通過滑塊或者勾選框進行參數調整,將調整後的參數發送給對應的節點,發送接收過程使用的是發佈訂閱模式. 二.遇到的問題: 1.前端的js