原创 再談快速排序

本篇博客是在快速排序基礎上優化的。 算法思想 快速排序是基於分治模式構思的,具體描述如下: 分解:數組A[p..r]被劃分成兩個(可能空)子數組A[p..q-1]和A[q+1..r],使得A[p..q-1]中的每個元素都小於等於A(q)

原创 TCP套接字編程

TCP套接字編程 socket函數 爲了執行網絡I/O,一個進程必須做的第一件事情就是調用socket函數,指定期望的通信協議類型。 #include <sys/socket.h> int socket(int family, int

原创 創建型模式--單例模式

懶漢模式 #include <iostream> #include <pthread.h> using namespace std; class Singleton { public: static Singleton *ge

原创 caffe各層參數詳解

caffe各層參數詳解 根據最近看到的資料,總結下深度學習中常見的模型層。在實際訓練網絡模型時,多模型融合是一個不錯的選擇,也就是基於常見的模型層進行組合,微調模型參數,以達到實際的要求。 數據層 { name: "data" t

原创 MAC下go開發環境搭建

MAC下go開發環境搭建 最近被同事經常在身邊提起go,大概瞭解了下,go語言實際上更多的是一種工程語言,在服務端開發,併發等問題上提供了一套原生的解決方式,同時在編程方式上又採用了簡單主義,代碼簡潔,性能強大,雖然坑比較多,但現在也越來

原创 結構型模式--代理模式

#include <iostream> using namespace std; class Girl { public: Girl(char *name = "") : mName(name) {} char *get

原创 簡單工廠模式

#include <iostream> using namespace std; class BreadMaker { public: virtual void GetBread() { // NOTIN

原创 殭屍進程

殭屍進程 什麼是殭屍進程 提到殭屍,首先想到的肯定是殭屍系列的電影或者植物大戰殭屍。一個活人爲什麼會成爲殭屍?一般普通人是被殭屍攻擊了,在變成殭屍之前沒有得到有效處理(比如擊斃),等他被殭屍病毒侵入腦子後就成爲殭屍一員了。 那什麼是殭屍進

原创 創建型模式--工廠方法模式

#include <iostream> using namespace std; class BreadMaker { public: virtual void GetBread() { // NOTIN

原创 設計模式

設計模式 創建型模式 ABSTRACT FACTORY(抽象工廠) BUILDER(生成器) FACTORY METHOD(工廠方法) PROTOTYPE(原型) SINGLETON(單例) 創建型模式討論 結構型模式 ADAPTER(適

原创 多路複用IO--poll

多路複用IO–poll poll定義 #include <poll.h> int poll(struct pollfd fdarray[], nfds_t nfds, int timeout); 返回值:準備就緒的描述符數目:若超時,返

原创 多路複用I/O--epoll

多路複用I/O–epoll epoll定義 epoll只有epoll_create,epoll_ctl,epoll_wait 3個系統調用。 int epoll_create(int size); int epoll_ctl(int ep

原创 mysql 常見語句

創建數據庫 create database practice; 顯示數據庫 show databases; +--------------------+ | Database | +-----------------

原创 孤兒進程

孤兒進程 什麼是孤兒進程 孤兒意味着什麼?提到孤兒,首先想到的肯定是父母雙亡。現實情況是,一般孤兒(未成年)都要被福利院或者領養人收養。計算機一般都是現實世界的抽象,同樣,linux中的孤兒進程和被收養的孤兒有着異曲同工之意。 linux

原创 多路複用I/O--select

多路複用I/O–select select定義 #include <sys/select.h> int select(int maxfdp1, fd_set *restrict readfds, fd_set *restrict writ