原创 關於privateTmp

以php-fpm爲例,在配置文件php-fpm.conf中指定了將sock文件生成到/tmp/php-cgi.sock,但是當使用systemctl start php-fpm進行啓動的時候,會發現.sock文件沒有生成在/tm

原创 關於原碼、反碼和補碼的筆記

上來先敲黑板,說重點(重要的事情說三遍): 計算機中以補碼進行存儲計算 計算機中以補碼進行存儲計算 計算機中以補碼進行存儲計算 所以,一切的運算都要先得到數據的補碼,不要上來就拿原碼在那幹,得到的結果會漫天飛舞,正負數一

原创 PHP7內核學習筆記 - 類的成員屬性

屬性可以在定義的時候初始化,但是必須是固定值,不可以是變量,也不可以依賴運行時信息。比如protected $time = time();就是不合法的。 成員屬性分爲兩類:靜態和非靜態(普通屬性)。靜態屬性使用::進行

原创 PHP7內核學習筆記 - zval中的知識點

PHP5中的zval結構 struct _zval_struct { union { long lval; double dval; struct {

原创 PHP7內核學習 - Fpm的master進程和worker進程

Fpm的master進程 作爲一種多進程的模型,Fpm由一個master進程加多個worker進程組成。 當master進程啓動時,會創建一個socket,但是他本身並不接收/處理請求。他會fork出子進程來完成請求的接收和

原创 Python根據指定的日期獲取之前或之後的日期

編寫Python腳本時需要根據指定日期獲取之後的日期,在此記錄一下,以下是源碼: # coding=utf-8 import datetime # 指定開始日期是2015-01-01 date_start = datetime

原创 Nginx + php-fpm 初始化配置

總的來說,Nginx + php-fpm的初始化配置還是比較簡單的,如果沒有配置好,在訪問php文件的時候會表現爲將文件直接下載下來了,這時候其實就是php腳本沒能被正常解析。這時候排查的點主要有兩個: 1、檢查php-fpm

原创 vld的安裝

下載地址:http://pecl.php.net/package/vld 安裝過程如下: wget http://pecl.php.net/get/vld-0.16.0.tgz tar xvf vld-0.16.

原创 簡述Times33散列函數

閒來無事,隨手翻看《Redis5 設計與源碼分析》的時候再次看到了哈希函數times33,想着之前在學習PHP源碼的時候也看到過這個哈希函數,就想好好研究一下,但是查閱許久都沒有找到滿意的結果,以下內容部分摘自Laruence介

原创 pip install 很慢,使用國內鏡像

執行pip install的時候經常會需要等很久,找到了國內鏡像,在此留存: 國內鏡像列表 http://pypi.douban.com/simple/ 豆瓣 http://mirrors.aliyun.com/pypi/si

原创 PHP7內核學習筆記 - 數組

理想狀況下,無需任何比較就能找到待查關鍵字,查找的期望時間複雜度爲O(1) PHP7散列表基本結構: // zend_array和HashTable的含義是相同的,沒有任何區別 typedef struct _zend_

原创 Redis-整數集合

原创 排序算法之 - 快速排序

快速排序的第一步是在列表中隨機選取一個 基準值,將列表中剩餘的其他數與基準值 逐一比較,小於基準值的放在基準值左側,大於基準值的放在基準值右側,這樣就會形成如下的新列表: [小於基準值的列表] + 基準值 + [大於基準

原创 Redis-跳躍表

原创 Redis-壓縮列表