原创 話說數據庫主從複製,讀寫分離,數據一致性

一致性: 1.強一致性 這種一致性級別是最符合用戶直覺的,它要求系統寫入什麼,讀出來的也會是什麼,用戶體驗好,但實現起來往往對系統的性能影響大 2.弱一致性 這種一致性級別約束了系統在寫入成功後,不承諾立即可以讀到寫入的值,也不久

原创 聊聊~接口和抽象類

先介紹一下抽象類和接口的概念 一、抽象類:   抽象類是特殊的類,只是不能實例化,除此之外,具有類的其他特性。並且抽象類可以包含抽象方法,這是普通類所不能的。抽象方法只能聲明於抽象類中,且不包含任何實現,派生類必須覆蓋他們。另外,

原创 聊聊~PHP的GC

首先要說明,如果是普通類型的變量(int、float、boolean),當你執行,unset的時候,是直接刪除的。 PHP垃圾回收機制(Garbage Conllector 簡稱 GC)在PHP中,沒有任何變量指向這個對象時,這個

原创 PHP實現快排算法——>遞歸VS非遞歸

算法思路分析: 快速排序的思想就是,選一個數作爲基數(這裏我選的是第一個數),大於這個基數的放到右邊,小於這個基數的放到左邊,等於這個基數的數可以放到左邊或右邊,看自己習慣,這裏我是放到了左邊,一趟結束後,將基數放到中間分隔的位

原创 PHP fpdi合併多個PDF文件,取多個PDF特定頁數合併以及導出

在說之前,先說明一下,FPDI 插件,不能操作被 pdf 軟件編輯過的 pdf 文件。 在我們寫項目的時候,經常需要對PDF文件進行操作。例如:合併多個PDF文件,取PDF特定頁數以及合併。 PHP 有一個專門對PDF進行操作的插

原创 laravel 創建自定義中間件

首先我們要定義一個新的中間件,Artisan命令: php artisan make:middleware LoginMiddleware 這個命令會在 app/Http/Middleware 目錄下創建一個新的中間件類 L

原创 C++ 輸入多個學生和老師信息,並顯示出來

我們,有的時候希望,用戶動態的輸入學生和老師信息,然後再顯示出來。 那麼,C++如何實現呢? 下面,我們開始代碼實現: #include<iostream> #include<cstring> using namespace st

原创 第三方登錄實現原理

簡單說,OAuth 就是一種授權機制。數據的所有者告訴系統,同意授權第三方應用進入系統,獲取這些數據。系統從而產生一個短期的進入令牌(token),用來代替密碼,供第三方應用使用。 首先,我們先看一下 底層協議: OAUTH協議爲

原创 Java實現普里姆和克魯斯卡爾——最小生成樹

普里姆算法介紹: 普里姆算法(Prim算法),圖論中的一種算法,可在加權連通圖裏搜索最小生成樹。意即由此算法搜索到的邊子集所構成的樹中,不但包括了連通圖裏的所有頂點。 圖解過程: 算法思想: 一個加權連通圖,其中頂點集合爲V,

原创 laravel5.5 配置全局函數

在我們用laravel 框架開發項目時,很多函數需要反覆的使用如:經常寫的後臺返回給前臺的狀態函數(responseToJson),還有自己的一些驗證等。因此註冊全局函數非常有必要。 根據個人習慣,我喜歡把全局函數放在app下。一

原创 細說第三方登錄—>PHP實現支付寶、QQ、微博、百度賬號、Github登錄

本文,基於 Laravel 框架的內嵌語法,進行編碼,原生實現也是一樣,只是接收參數,讀配置文件,語法變了。 在講解支付寶、QQ、微博、Github、百度賬號等平臺的第三方登錄之前,我們有必要先了解一下,第三方登錄所使用的協議。具

原创 談談字符串算法

一、判斷一個字符串(strOne)是否是另一個字符串(strTwo)的子串 思路: 從下標0開始遍歷strTwo,一直遍歷到strlen(strTwo) -strlen(strOne), 內嵌循環,依次和 strOne每一個字符

原创 Linux最常用命令集錦

一、文件,目錄 cd /home 進入'/home'目錄 cd .. 返回上一級 cd ../.. 返回上兩級 cd 或者 cd ~ 進入主目錄 cd - 返回上次所在目錄 pwd 顯示工作路徑 ls 查看目錄中的文件 l

原创 深入理解PHP數組底層實現

PHP數組是一個神奇而強大的數據結構,數組既可以是連續的數組,也可以是存儲K-V映射的map。而在PHP7中,相比於PHP5,對數組進行了很大的修改。 數組的語義 數組的概念 PHP5數組的實現 PHP7數組的實現 - 基本結構

原创 淺談PHP7中的ZVAL

我們都知道,PHP中的變量都存儲在一個叫zval的結構體中。 在聊php7中的zval之前,我們先回顧一下php5中zval。 struct _zval_struct{ /* 變量信息 */ zvalue_value val