原创 python 生成動態二維碼

首先安裝myqr,在終端中輸入:pip install myqr,由於python官網被牆,可能需要翻牆才能安裝 示例1: from  MyQR import myqr myqr.run(words = 'https://baidu.co

原创 C++ 避免線程死鎖

死鎖:多個線程因爭奪資源而產生相互等待的現象。 產生條件: 互斥 佔有並等待 不可搶佔 循環等待 危害:當以上四個條件滿足時,必然會造成死鎖。發生死鎖的進程無法進行下去,它所佔有的資源也無法釋放。 避免死鎖主要有 3種方式 加鎖順序 加鎖

原创 C++ 單元測試(轉)

什麼是單元測試 單元測試是軟件開發過程中的一種質量保證手段。最初的來源是想模仿對硬件芯片做單元測試那樣,在軟件中也能對小的軟件單元進行測試,從而保證軟件中某個局部設計的正確性。 傳統的單元測試定義 傳統軟件單元測試將被測單元的粒度規定爲軟

原创 C++ 設計模式:組合模式

組合模式 組合模式(Composite Pattern),又叫部分整體模式,是用於把一組相似的對象當作一個單一的對象。組合模式依據樹形結構來組合對象,用來表示部分以及整體層次。這種類型的設計模式屬於結構型模式,它創建了對象組的樹形結構。

原创 C++ 設計模式:裝飾器模式

裝飾器模式 裝飾器模式(Decorator Pattern)允許向一個現有的對象添加新的功能,同時又不改變其結構。這種類型的設計模式屬於結構型模式,它是作爲現有的類的一個包裝。 這種模式創建了一個裝飾類,用來包裝原有的類,並在保持類方法簽

原创 C++ 設計模式:原型模式

原型模式 原型模式(Prototype Pattern)是用於創建重複的對象,同時又能保證性能。這種類型的設計模式屬於創建型模式,它提供了一種創建對象的最佳方式。 這種模式是實現了一個原型接口,該接口用於創建當前對象的克隆。當直接創建對象

原创 C++ 設計模式:MVC模式

MVC 模式 MVC 模式代表 Model-View-Controller(模型-視圖-控制器) 模式。這種模式用於應用程序的分層開發。 Model(模型) - 模型代表一個存取數據的對象或 JAVA POJO。它也可以帶有邏輯,在數據變

原创 C++ 設計模式:觀察者模式

觀察者模式 當對象間存在一對多關係時,則使用觀察者模式(Observer Pattern)。比如,當一個對象被修改時,則會自動通知它的依賴對象。觀察者模式屬於行爲型模式。 主要解決:一個對象狀態改變給其他對象通知的問題,而且要考慮到易用和

原创 C++ 設計模式:外觀模式

外觀模式 外觀模式(Facade Pattern)隱藏系統的複雜性,並向客戶端提供了一個客戶端可以訪問系統的接口。這種類型的設計模式屬於結構型模式,它向現有的系統添加一個接口,來隱藏系統的複雜性。 這種模式涉及到一個單一的類,該類提供了客

原创 C++ 設計模式:橋接模式

橋接模式 橋接(Bridge)是用於把抽象化與實現化解耦,使得二者可以獨立變化。這種類型的設計模式屬於結構型模式,它通過提供抽象化和實現化之間的橋接結構,來實現二者的解耦。 這種模式涉及到一個作爲橋接的接口,使得實體類的功能獨立於接口實現

原创 C++ 設計模式:適配器模式

適配器模式 適配器模式(Adapter Pattern)是作爲兩個不兼容的接口之間的橋樑。這種類型的設計模式屬於結構型模式,它結合了兩個獨立接口的功能。 這種模式涉及到一個單一的類,該類負責加入獨立的或不兼容的接口功能。舉個真實的例子,讀

原创 C++ 面試題,單向鏈表只知道當前節點,怎麼快速刪除該節點

  p是當前節點,q是p的下一節點,快速刪除當前節點p? q= p->next; p->data = q->data; p->next=q->next; delete q;

原创 C++ 11 線程 condition_variable

condition_variable (C++11) provides a condition variable associated with a std::unique_lock condition_variable    (C

原创 C++ 11 線程sleep_until

頭文件:<thread>                  (C++11) template<class Clock, class Duration> void sleep_until(const std::chrono::time_po

原创 C++11 std::ref和引用的區別

std::ref只是嘗試模擬引用傳遞,並不能真正變成引用,在非模板情況下,std::ref根本沒法實現引用傳遞,只有模板自動推導類型時,ref能用包裝類型reference_wrapper來代替原本會被識別的值類型,而reference_