原创 linux 定時任務詳解

其實定時任務我們經常要用到,比如凌晨備份數據庫,跑一些php腳本之類的都需要用到定時任務。下面我來分析下定時任務的兩個命令:at說明:執行定時任務,只運行一次.並且依賴於atd服務運行選項:    -q queue:將任務放到隊列中去,不設

原创 MyISAM和InnoDB索引實現對比

MyISAM索引實現MyISAM引擎使用B+Tree作爲索引結構,葉節點的data域存放的是數據記錄的地址。如圖: 這裏設表一共有三列,假設我們以Col1爲主鍵,則上圖是一個MyISAM表的主索引(Primary key)示意。可以看出My

原创 回溯算法

百度百科解釋: 回溯算法實際上一個類似枚舉的搜索嘗試過程,主要是在搜索嘗試過程中尋找問題的解,當發現已不滿足求解條件時,就“回溯”返回,嘗試別的路徑。回溯法是一種選優搜索法,按選優條件向前搜索,以達到目標。但當探索到某一步時,發現原先選擇並

原创 php中static和self調用靜態方法區別

由於看到框架裏面經常使用static::method() 於是稍微瞭解下static和self的區別廢話少說,直接上代碼class Father { public function __construct() { $this->in

原创 十個經典的C開源項目代碼

開源世界有許多優秀的開源項目,我選取其中十個最優秀的、最輕量級的C語言的項目,希望可以爲C語言開發人員提供參考。十個最值得閱讀學習的C開源項目代碼 Webbench Tinyhttpd cJSON CMockery Libev Memca

原创 php依賴注入

在軟件工程領域,依賴注入(Dependency Injection)是用於實現控制反轉(Inversion of Control)的最常見的方式之一。本文主要介紹依賴注入原理和常見的實現方式,重點在於介紹這種年輕的設計模式的適用場景及優勢。

原创 docker commit 定製鏡像

概念鏡像是容器的基礎,每次執行 docker run 的時候都會指定哪個鏡像作爲容器運行的基礎。在之前的例子中,我們所使用的都是來自於 Docker Hub 的鏡像。直接使用這些鏡像是可以滿足一定的需求,而當這些鏡像無法直接滿足需求時,我們

原创 理解PHP中的Generator

我最開始知道Generator的存在是在nodejs中,不久前TJ寫了一篇名爲告別Nodejs的文章,儘管是告別了nodejs,但他表示還會繼續維護co和koa這兩個框架,而這兩個框架都是基於Generator的,javascript中的G

原创 畢業後拉開大家差距的原因

有 人工作, 有人繼續上學,大家千萬不要錯過這篇文章,能看到這篇文章也是一種幸運,真的受益匪淺,對我有很大啓迪,這篇文章將會改變我的一生,真的太好了,希望與有 緣人分享,也希望對有緣人有所幫助!看完之後有種“相見恨晚”的感覺,特別激動,希望

原创 使用Dockerfile構建鏡像

Dockerfile命令速查表FROM 命令FROM <image>:<tag>用於設置基礎鏡像,一般是Dockerfile的第一句。如果沒有指定 tag ,則默認tag是latest。MAINTAINERMAINTAINER <name>

原创 MongoDB複製集原理

複製集簡介Mongodb複製集由一組Mongod實例(進程)組成,包含一個Primary節點和多個Secondary節點,Mongodb Driver(客戶端)的所有數據都寫入Primary,Secondary從Primary同步寫入的數據

原创 linux shell詳解

shell工作原理Linux系統提供給用戶的最重要的系統程序是Shell命令語言解釋程序。它不屬於內核部分,而是在覈心之外,以用戶態方式運行。其基本功能是解釋並執行用戶打入的各種命令,實現用戶與Linux核心的接口。系統初啓後,核心爲每個終

原创 elk6平臺搭建

爲什麼用到ELK:一般我們需要進行日誌分析場景:直接在日誌文件中 grep、awk 就可以獲得自己想要的信息。但在規模較大的場景中,此方法效率低下,面臨問題包括日誌量太大如何歸檔、文本搜索太慢怎麼辦、如何多維度查詢。需要集中化的日誌管理,所

原创 GCC編譯過程分解

以helloworld爲例分析gcc編譯過程:#include int main() {          printf(“Hello World\n”);          return 0; }通常我們使用gcc來生成可執行程序,命令爲

原创 vim插件:顯示樹形目錄插件NERDTree安裝 和 使用

下載和配置NERDTree插件的官方地址如下,可以從這裏獲取最新的版本 https://github.com/scrooloose/nerdtree 下載zip安裝包 或者使用下面官網源文件安裝方法我的實驗環境是centos6.6,其他版本