原创 Linux命令後臺運行

Linux後臺運行命令有兩種方式: cmd & : 後臺運行,關掉終端會停止運行 nohup cmd & : 後臺運行,關掉終端不會停止運行 方式一:cmd & cmd & 實現讓命令在後臺運行。但不要將有用戶交互的命令放到後臺,這樣

原创 Linux命令行非法字符處理

Linux命令中像$、&這樣的屬於非法字符,如果只想在命令裏面將這些特殊字符作爲一般的符號顯示怎麼辦?需要使用引用,Linux 中有三種引用方法。 用雙引號 "" 括起來,不過這對 "$" 無效。 echo "Today is $(da

原创 CentOS7安裝中文字體

問題 用DevTools調試虛擬機中的headless模式的chromium時發現調試窗口顯示的都是□□□(除了英文字符),一查發現是因爲虛擬機中的CentOS自帶的只有英文字體,不包含中文字體,要顯示中文字符需要我們自己安裝中文字體。 字

原创 基於 Web 引擎技術的 Web 內容錄製

最近學習音視頻相關技術看到一個很好的技術分享,實現了基於Chromium的web內容錄製。現在分享出來大家一起學習一下。 B站視頻:聲網Agora Web 引擎高級架構師 高純:Web 互動場景還原——基於 Web 引擎技術的 原文鏈接:h

原创 調整VirtualBox虛擬磁盤VDI文件空間大小

之前,使用 VirtualBox 創建了一個 CentOS 虛擬機,劃分了 40GB 的磁盤空間,用的是動態分配存儲的方式,文件系統爲 LVM。後來發現磁盤容量不夠用了。經過一番折騰,終於給 VirtualBox 的虛擬機增加了虛擬磁盤容量

原创 C++11的condition_variable實現WaitForSingleObject功能

在多線程程序開發中,我們有時會希望等待其他線程結束後在繼續執行某些任務。比如常見的,主線程需要等待其他所有子線程結束後再結束程序。在Windows下我們一般使用WaitForSingleObject,或者WaitForMultipleOb

原创 Linux命令行參數解析——getopt_long

在linux中,一切皆文件,所有的可執行程序都可以通過命令行啓動,程序啓動時通常都會帶上各種參數以控制程序的行爲。所以解析命令行參數通常是一個可執行程序的第一步,下面就來介紹下經常用到的命令行參數的解析函數——getopt_long。 我

原创 CMake編譯遇到這種ABI不兼容問題不要慌

最近,在Linux下使用CMake編譯程序的時候遇到一個問題,特此做一個記錄。 事情是這樣的,我編譯的程序使用了2個第三方庫,在寫好CMakeLists後,啓動編譯,然後就報鏈接錯誤,一直報一堆找不到定義。 類似這樣的一堆: ‘*****

原创 C++大廠面試真題

C++標準庫的map和set有什麼區別,如何實現的? map和set都是C++的關聯容器,其底層實現都是紅黑樹。 map和set區別在於: map中的元素是key-value(鍵-值)對:關鍵字起到索引的作用,值則表示與索引相關聯的數

原创 《夏日終曲》筆記

短評 ★★★★★ 先看的電影,非常喜歡。在看書,愛了,愛了。書的後兩章講了電影之後的故事,他是他20年也走不出的泥潭。聽說電影有第二部,期待!cor cordium! 筆記 一見傾心 我感受到了威脅。他肯定是那種難相處的人。 不過,我也

原创 《More Effective C++》總結筆記(三)

效率 條款16:謹記80-20法則 80-20法則說:一個程序80%的資源用於20%的代碼身上。是的。80%的執行時間花在大約20%的代碼身上,80%的內存被大約20%的代碼使用,80%的磁盤訪問動作由20%的代碼執行,80%的維護力氣花

原创 青蛙跳問題爲什麼是斐波那契數列

在面試中我們可能會遇到青蛙跳的問題:一隻青蛙一次可以跳上一級臺階,或者跳上二級臺階。那麼如果總共有N級臺階,問這隻青蛙總共有多少種跳法? 首先,我們考慮最簡單的情況,如果只有一級臺階,那顯然青蛙只有一種跳法。如果只有二級臺階,那麼青蛙就有

原创 《占星術殺人魔法》筆記

短評 ★★★★★ 經典的本格推理,經典的trick,少包的童年陰影…… 筆記 如果只是簡單地拼湊前人遺留下來的精華而得到的東西,根本不能夠稱之爲藝術品,只有在叛逆中,才能創造出新的經典。 宇宙在不停轉動,就好像是一個大鐘的內部。我們居住

原创 《More Effective C++》總結筆記(二)——異常

異常 條款9:利用destructors避免泄露資源 只要堅持這個規則,把資源封裝在對象內(類似智能指針shared_ptr),通常便可以在exceptions出現時避免泄露資源。 簡單來說就是,當有資源可能在函數拋異常時而無法釋放,這時

原创 C++程序性能優化指南

原則 《More Effective C++》書中效率部分第一條就是80—20準則。說得是——大約 20%的代碼使用了 80%的程序資源;大約 20%的代碼耗用了大約 80%的運行時間;大約 20%的代碼使用了 80%的內存。因此,一些簡