應用程序
-
Zabbix-3.2.3實現微信(WeChat)告警
Zabbix-3.2.3實現微信(WeChat)告警 zabbix Zabbix可以通過多種方式把告警信息發送到指定人,常用的有郵件,短信報警方式,但是越來越多的企業開始使用zabbix結合微信作為主要的告警方式,這樣可以及時有效的把告警信息推送到接收人,方便告警的及時處理。 關于郵件報警可以參考:Zabbix Web 郵件報警 一、微信企業號申請 地址: …
-
倒排索引-搜索引擎的基石
1.概述 在關系數據庫系統里,索引是檢索數據最有效率的方式,。但對于搜索引起,他它并不能滿足其特殊要求: 1)海量數據:搜索引擎面對的是海量數據,像Google,百度這樣大型的商業搜索引擎索引都是億級甚至幾千的網頁數量 ,面對…
-
PHP5.4最新特性
原文Oracle:LAMP 體系有了新的競爭,但此版本中的特性使 PHP 再次挑戰極限。 稍微做了修改。: 概述總結:1. 內存和性能改進:大型 PHP 應用程序中可節省 20-50% 的內存。通過各種優化使性能提高 10-30%2. 支持特性Trait3. 精簡數組語法,可以定義短數組4. 函數數組解除引用,支持Array dereferenci…
-
設計模式 ( 十七) 狀態模式State(對象行為型)
設計模式 ( 十七) 狀態模式State(對象行為型) 1.概述 在軟件開發過程中,應用程序可能會根據不同的情況作出不同的處理。最直接的解決方案是將這些所有可能發生的情況全都考慮到。然后使用if… ellse語句來做狀態判斷來進行不同情況的處理。但是對復雜狀態的判斷就顯得“力不從心了”。隨著增加新的狀態或者修改一個狀體(if else(或swit…
-
設計模式(十)享元模式Flyweight(結構型)
相對于其它模式,Flyweight模式在PHP實現似乎沒有太大的意義,因為PHP的生命周期就在一個請求,請求執行完了,php占用的資源都被釋放。我們只是為了學習而簡單做了介紹。 1. 概述 面向對象技術可以很好地解決系統一些靈活性或可擴展性或抽象性的問題,但在很多情況下需要在系統中增加類和對象的個數。當對象數量太多時,將導致運行代價過高,帶來性能下降等問題?!?/p>
-
設計模式(九)外觀模式Facade(結構型)
1. 概述 外觀模式,我們通過外觀的包裝,使應用程序只能看到外觀對象,而不會看到具體的細節對象,這樣無疑會降低應用程序的復雜度,并且提高了程序的可維護性。例子1:一個電源總開關可以控制四盞燈、一個風扇、一臺空調和一臺電視機的啟動和關閉。該電源總開關可以同時控制上述所有電器設備,電源總開關即為該系統的外觀模式設計。 2.…
-
設計模式(八)裝飾器模式Decorator(結構型)
1. 概述 若你從事過面向對象開發,實現給一個類或對象增加行為,使用繼承機制,這是所有面向對象語言的一個基本特性。如果已經存在的一個類缺少某些方法,或者須要給方法添加更多的功能(魅力),你也許會僅僅繼承這個類來產生一個新類—這建立在額外的代碼上。 通過繼…
-
設計模式(五)適配器模式Adapter(結構型)
1. 概述: 接口的改變,是一個需要程序員們必須(雖然很不情愿)接受和處理的普遍問題。程序提供者們修改他們的代碼;系統庫被修正;各種程序語言以及相關庫的發展和進化。 例子1:iphone…
-
設計模式(二)單件模式Singleton(創建型)
幾乎所有面向對象的程序中,總有一些類的對象需要是唯一的,例如,通過數據庫句柄到數據庫的連接是獨占的。您希望在應用程序中共享數據庫句柄,因為在保持連接打開或關閉時,它是一種開銷。再如大家最經常用的IM,如QQ,在同一臺電腦,一個帳號只能有唯一的登錄。 1. 問題 怎樣確保一個特殊類的實例是獨一無二的(它是這個類的唯一實例),并且這個實例…
-
設計模式(一)工廠模式Factory(創建型)
在面向對象編程中, 最通常的方法是一個new操作符產生一個對象實例,new操作符就是用來構造對象實例的。但是在一些情況下, new操作符直接生成對象會帶來一些問題。舉例來說, 許多類型對象的創造需要一系列的步驟: 你可能需要計算或取得對象的初始設置; 選擇生成哪個子對象實例; 或在生成你需要的對象之前必須先生成一些輔助功能的對象。 在…
-
設計模式概論
1. 設計模式 設計模式(Design pattern)是一套被反復使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結。使用設計模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。 毫無疑問,設計模式于己于他人于系統都是多贏的,設計模式使代碼編制真正工程化,設計模式是軟件工程的基石,如同大廈…
-
Java線程
線程是一個單獨程序流程。多線程是指一個程序可以同時運行多個任務,每個任務由一個單獨的線程來完成。也就是說,多個線程可以同時在一個程序中運行,并且每一個線程完成不同的任務。程序可以通過控制線程來控制程序的運行,例如線程的等待、休眠、喚起線程等。本章將向讀者介紹線程的機制、如何操作和使用線程以及多線程編程。 1. 線程的基本知識 &nb…
-
PHP異常處理詳解
PHP異常處理詳解 異常處理(又稱為錯誤處理)功能提供了處理程序運行時出現的錯誤或異常情況的方法。 異常處理通常是防止未知錯誤產生所采取的處理措施。異常處理的好處是你不用再絞盡腦汁去考慮各種錯誤,這為處理某一類錯誤提供了一個很有效的方法,使編程效率大大提高。當異常被觸發時,通常會發生:&…
-
網絡互聯參考模型(詳解)
網絡互聯參考模型 1. 什么是協議 為了使數據可以在網絡上從源傳遞到目的地,網絡上所有設備需要“講”相同的“語言” 描述網絡通信中“語言”規范的一組規則就是協議 例如:兩個人交談,必須使用相同的語言,如果你說漢語,他說阿拉伯語…… 數據通信協議的定義 決定數據的格式和傳輸的一組規則或者一組慣例 2. 協議分層 網絡通信的過程很復雜: 數據以電子信號的形式穿越…
-
MySQL-MMM安裝指南(Multi-Master Replication Manager for MySQL)
最基本的MMM安裝必須至少需要2個數據庫服務器和一個監控服務器下面要配置的MySQL Cluster環境包含四臺數據庫服務器和一臺監控服務器,如下: function ip hostname server id monitoring host 192.168.0.10 mon – master 1 192.168.0.11 db1 1 maste…